Proučavanje tehnika bezbedne komunikacije koje omogućavaju samo pošiljaocu i nameravenom primaocu poruke da pročitaju njen sadržaj poznato je kao kriptografija. Reč kryptos potiče od grčke reči koja znači "skriveno". Usko je povezana sa enkripcijom, koja je proces mešanja plain texta u ciphertext i nazad kada se primi. Pored toga, kriptografija uključuje tehnike poput mikrotačaka i spajanja radi zamagljivanja informacija na fotografijama. Stari Egipćani su bili poznati po primeni ovih tehnika u složenim hijeroglifima, a jedan od prvih modernih šifara pripisuje se rimskom caru Juliju Cezaru.
Enkripcija i dekripcija emailova i других poruka plain texta je najrasprostranjenija upotreba kriptografije pri prenosu elektronskih podataka. Simetrični ili pristup "tajnog ključa" je najosnovniji metod. Podaci se enkriptuju tajnim ključem, a enkodirana poruka i tajni ključ se zatim dostavljaju primaocu radi dekripcije. U čemu je problem? Treća strana ima sve što joj treba za dekriptovanje i čitanje poruke ako je presretne. Kriptolozi su izmislili asimetrični ili šemu "javnog ključa" radi rešavanja ovog problema. Svaki korisnik ima dva ključa u ovom slučaju: jedan javni i jedan privatni. Pošiljaoci enkriptuju poruku i prenose je nakon traženja javnog ključa primaoca. Kada je poruka dostavljena, samo privatni ključ primaoca će je dekriptovati, što znači da je krađa beskorisna bez odgovarajućeg privatnog ključa.
Generalno, postoje tri vrste kriptografskih tehnika koje se koriste:
- Kriptografija simetričnim ključem
- Heš funkcije
- Kriptografija javnim ključem
Kriptografija simetričnim ključem je kada jedan ključ dele i pošiljalac i primalac. Pošiljalac enkriptuje plaintext i šalje ciphertext primaocu korišćenjem ovog ključa. Primalac, s druge strane, koristi isti ključ za dekriptovanje poruke i preuzimanje plain texta.
Heš funkcije su kada algoritam ne koristi ključ. Plain text se hešuje heš vrednosti fiksne dužine koja sprečava oporavak sadržaja plain texta. Mnogi operativni sistemi takođe koriste heš algoritme za obezbeđivanje lozinki.
Kriptografija javnim ključem je najrevoluccionarniji koncept poslednjih 300 do 400 godina. Dva povezana ključa (javni i privatni ključ) se koriste u kriptografiji javnim ključem. Javni ključ može biti slobodno prenošen, ali privatni ključ koji ga prati mora biti čuvan u tajnosti. Javni ključ se koristi za enkripciju, dok se privatni ključ koristi za dekripciju.
Bitcoin i mnoge druge kriptovalute koriste tehnologiju enkripcije javnog-privatnog ključa. Ovo uklanja neophodnost posrednika.