Dobocan Adrian  gr.224
Selagea Smaranda  gr.226

Data Encryption Standard (DES)


Algoritmul de criptare foloseste o cheie pe 56-bit; criptarea se realizeaza pe blocuri de date de 64-bit. Sunt multe metode de a folosi o criptare DES pentru un mesaj mai lung de 8 bytes.

Cheia de 56-bit folosita de DES nu este suficienta pentru o buna securitate, de aceea aplicatiile folosesc triple-DES ( se cripteasa folosind cheia A, se decripteaza folosind cheia B, recriptandu-se folosind cheia A) pentru a atinge o cheie de 112-bit.


Mesaj
ASCII Hexadecimal
Cheia A DES / Triple DES
Cheia B Triple DES

Mesajul criptat
ASCII Hexadecimal

Detailii:

Cum functioneaza DES

Ctiptarea porneste cu o permutare initiala pe 64 de bits. Acesti bits se impart in doua parti de 32-bit numite L si R( partea stanga si dreapta). Criptarea se desfasoara pe parcursul a 16 runde, fiecare folosind partea L si R, si o
subcheie. Partea R si subcheia sunt utilizate intr-o funtie F. La rezultatul functiei F se aplica functia XOR cu partea L, pentru a crea o noua parte R. Partea L va fii redefinita ca si o copie a partii R. Acest proces se repeta de 16 ori; iar in ultima runda L si R sunt unite inainte de ultima permutare, rezultand textul criptat.

Decriptarea este identica criptarii, cu exceptia subcheii folosita in directie inversa. Adica subcheia 16 este folosita in prima runda, subcheia 15 in runda a doua, etc., subcheia 1 folosita in runda 16.

Diagrama Algoritmului DES:
Diagram of DES encryption

Functia F

Functia F amesteca bits partii R folosind subcheia pentru prima runda. Primii 32-bit ai lui R sunt transformati in 48 bits folosind o permutare E. Aceastei valori i se aplica XOR cu subcheia. Cei 48 bits sunt impartiti in 8 bucati de cate 6 bits, fiecare apartinand unei S-Box care amesteca bits si produce 4-bit rezultat. Acesti 4-bit sunt combinati cu o valoare pe 32-bit si permutati inca odata in functia F.

DES F function

Generarea Subcheii

Pentru a genera o subcheie pornim de la o cheie pe 56-bit ( adica 64 bits daca incluzi bits de paritate). Acestia sunt pemutati si impartiti in doua bucati C si D. Pentu fiecare tura, C si D sunt shift-ate circular spre stanga cu 1 sau 2 bits (depinde de runda). Cei 48-bit ai subcheii sunt selectati din partile noi rezultate C si D. DES Key Generation Diagram

Inceput