Kriptografija je praksa i proučavanje tehnika za sigurnu komunikaciju u prisutnosti trećih strana koje nazivamo protivnicima. Njegov glavni cilj je osigurati privatnost, autentifikaciju, cjelovitost i neporicanje poruka ili podataka.
Umjetnost kriptografije stara je koliko i samo pisanje. U početku se koristio kako bi se osiguralo da samo namjeravani primatelji mogu razumjeti sadržaj poruke. Stari Egipćani, Grci i Rimljani razvili su i koristili kriptografske tehnike. Dobro poznati primjer je Cezarova šifra , supstitucijska šifra gdje je svako slovo u otvorenom tekstu pomaknuto određeni broj mjesta niz abecedu.
Postoje dvije osnovne kategorije kriptografskih algoritama:
Enkripcija je proces pretvaranja otvorenog teksta u šifrirani tekst, koji nije čitljiv nikome osim vlasniku ključa. Dešifriranje je obrnuti proces, pretvaranje šifriranog teksta natrag u čitljiv otvoreni tekst. Matematički odnos se može izraziti kao:
Infrastruktura javnih ključeva je okvir za upravljanje digitalnim certifikatima i šifriranjem javnih ključeva. Korisnicima nezaštićene javne mreže poput interneta omogućuje sigurnu i privatnu razmjenu podataka.
Hash funkcije su vrsta kriptografskog algoritma koji generira niz bajtova fiksne veličine (poznat kao hash) iz ulaznih podataka bilo koje veličine. Koriste se za osiguranje integriteta podataka. Dobro poznati primjer je algoritam SHA-256 koji se koristi u rudarenju Bitcoina.
Digitalni potpisi su kriptografska tehnika koja osigurava podrijetlo i cjelovitost digitalnih komunikacija ili dokumenata. Digitalni potpis generira se korištenjem privatnog ključa i može ga provjeriti svatko tko ima odgovarajući javni ključ.
Kriptoanaliza je proučavanje analize informacijskih sustava kako bi se razumjeli skriveni aspekti sustava. Koristi se za probijanje kriptografskih sigurnosnih sustava i dobivanje pristupa sadržaju šifriranih poruka.
Kriptografija ima širok raspon primjena, uključujući osiguravanje povjerljivih komunikacija, zaštitu informacija na uređajima za pohranu, poboljšanje sigurnosti weba i mreže, osiguranje elektroničkih financijskih transakcija i osiguranje integriteta i autentičnosti digitalnih potpisa i certifikata.
S napretkom računalne snage, kao što je kvantno računalstvo, trenutne kriptografske tehnike suočavaju se s novim izazovima. Kriptografi aktivno rade na razvoju novih algoritama koji mogu izdržati računalnu snagu kvantnih računala.