Ang Cryptography ay ang pagsasanay at pag-aaral ng mga diskarte para sa ligtas na komunikasyon sa presensya ng mga ikatlong partido na tinatawag na mga kalaban. Ang pangunahing layunin nito ay upang matiyak ang privacy, pagpapatunay, integridad, at hindi pagtanggi sa mga mensahe o data.
Ang sining ng cryptography ay kasingtanda ng pagsulat mismo. Sa una, ginamit ito upang matiyak na ang mga nilalayong tatanggap lamang ang makakaunawa sa nilalaman ng isang mensahe. Ang mga sinaunang Egyptian, Griyego, at Romano ay bumuo at gumamit ng mga pamamaraan ng cryptographic. Ang isang kilalang halimbawa ay ang Caesar cipher , isang substitution cipher kung saan ang bawat titik sa plaintext ay inililipat sa isang tiyak na bilang ng mga lugar pababa sa alpabeto.
Mayroong dalawang pangunahing kategorya ng mga cryptographic algorithm:
Ang pag-encrypt ay ang proseso ng pag-convert ng plaintext sa ciphertext, na hindi nababasa ng sinuman maliban sa may hawak ng susi. Ang decryption ay ang baligtad na proseso, na ginagawang nababasang plaintext ang ciphertext. Ang relasyon sa matematika ay maaaring ipahayag bilang:
Ang Public Key Infrastructure ay isang framework para pamahalaan ang mga digital na certificate at public-keys encryption. Nagbibigay-daan ito sa mga user ng isang hindi secure na pampublikong network tulad ng internet na ligtas at pribado na makipagpalitan ng data.
Ang mga hash function ay isang uri ng cryptographic algorithm na bumubuo ng fixed-size na string ng mga byte (kilala bilang hash) mula sa input data ng anumang laki. Ginagamit ang mga ito upang matiyak ang integridad ng data. Ang isang kilalang halimbawa ay ang SHA-256 algorithm na ginagamit sa pagmimina ng Bitcoin.
Ang mga digital na lagda ay isang cryptographic na pamamaraan na nagsisiguro sa pinagmulan at integridad ng mga digital na komunikasyon o mga dokumento. Ang isang digital na lagda ay nabuo gamit ang isang pribadong key at maaaring ma-verify ng sinumang may kaukulang pampublikong key.
Ang cryptanalysis ay ang pag-aaral ng pagsusuri ng mga sistema ng impormasyon upang maunawaan ang mga nakatagong aspeto ng mga system. Ginagamit ito upang labagin ang mga sistema ng seguridad ng cryptographic at makakuha ng access sa mga nilalaman ng mga naka-encrypt na mensahe.
Ang Cryptography ay may malawak na hanay ng mga aplikasyon, kabilang ang pag-secure ng mga kumpidensyal na komunikasyon, pagprotekta ng impormasyon sa mga storage device, pagpapahusay ng seguridad sa web at network, pag-secure ng mga elektronikong transaksyon sa pananalapi, at pagtiyak ng integridad at pagiging tunay ng mga digital na lagda at sertipiko.
Sa pagsulong ng kapangyarihan sa pag-compute, tulad ng quantum computing, ang mga kasalukuyang pamamaraan ng cryptographic ay nahaharap sa mga bagong hamon. Ang mga cryptographer ay aktibong nagtatrabaho upang bumuo ng mga bagong algorithm na makatiis sa computational power ng mga quantum computer.