Simetrinio rakto kriptografija
Simetrinio rakto kriptografija – šifravimo būdas, kuomet duomenys šifruojami ir dešifruojami tuo pačiu raktu. Tuo jis skiriasi nuo viešojo rakto kriptografijos, kuri naudoja du raktus – viešąjį – duomenų šifravimui, ir privatų – dešifravimui. Palyginus su viešojo rakto kriptografija, simetrinio rakto kriptografija yra greitesnė ir paprastesnė, o patys raktai - trumpesni. Vienas akivaizdžiausių jos trūkumų yra – rakto perdavimas duomenų gavėjui turi būti saugus. Raktų perdavimas nėra triviali problema. Nors viešosios kriptosistemos viešas raktas gali būti perduotas atvirai per nesaugų ryšio kanalą, tačiau toks būdas negarantuoja saugumo. Kriptoanalitikas, kontroliuojantis ryšio kanalą, gali perimti viešajį raktą, o gavėjui perduoti savo raktą. Ši ataka vadinama „man in the middle“ ataka. Nors šios atakos esmė yra labai paprasta, tačiau sugalvoti apsaugą nuo šios atakos pasirodė nėra taip paprasta (žr. kriptografiniai protokolai). Tarkime, kad M {\displaystyle M\,} – yra pranešimų aibė, C {\displaystyle C\,} – šifrų aibė. Funkcija e ( m , k ) , m ∈ M ,   e : M → C {\displaystyle e(m,k),m\in M,\ e:M\to C\,} – paverčia aibės M {\displaystyle M\,} elementus (pranešimus) į aibės C {\displaystyle C\,} elementus – šifrus, k ∈ K {\displaystyle k\in K\,} – raktas. Funkcija d ( c , k ) , c ∈ C ,   d : C → M {\displaystyle d(c,k),c\in C,\ d:C\to M\,} – dešifruoja duomenys, t. y. paverčia šifrą c {\displaystyle c\,} į elementą iš aibės M {\displaystyle M\,} , k ∈ K {\displaystyle k\in K\,} – raktas. Simetrine kriptosistema vadiname rinkinį < e , d , M , C , K > {\displaystyle <e,d,M,C,K>\,} , K {\displaystyle K\,} – raktų aibė. Algoritmai, naudojami simetrinio rakto kriptografijoje, skirstomi į srauto ir blokinius: Srauto algoritmai duomenis šifruoja po vieną bitą. Labiausiai paplitusios RC4, RC5 simetrinio rakto kriptosistemos. Blokiniai šifruoja įvairaus dydžio blokais. Vieni žinomiausių yra DES, IDEA, AES. Saugiausiu blokiniu algoritmu yra vadinamas AES standarto algoritmas, kuris šiuo metu yra Rijndael.