Ministry of Education, Culture and Research of the
Republic of Moldova
Technical University of Moldova
Department of Software and Automation Engineering
REPORT
Laboratory work No. 4
Discipline: Cryptography and Security
Elaborated: Pîslaru Vladislav FAF-223
Checked: Nirca Dumitru asist. univ.,
Chișinău 2024
Topic: Data Encryption Standard (DES) – Final Permutation
Tasks:
Implementarea elementului final al algoritmului DES:
Sarcina atribuită este 2.11: La criptarea unui bloc în cifrul DES, după 16
runde, sunt cunoscute valorile
Theoretical notes:
Data Encryption Standard (DES):
DES este un algoritm de criptare simetrică utilizat pentru criptarea blocurilor
de date de 64 de biți. Algoritmul implică 16 runde de criptare, iar fiecare
rundă aplică funcții de permutare, substituție și operații logice. La final, se
aplică o permutare finală (IP-1) pentru a obține rezultatul criptat.
Permutarea finală (IP-1) :
• Reordonează cei 64 de biți ai blocului combinat (R16||L16) conform unei
tabele fixe.
• Este inversa permutari initiale (IP) aplicate la inceputul algoritmului.
Implementation(Var. Nr.22)
Requirements:
Fig.1 Tabelul Permutari finale (IP-1)
Input: Două șiruri binare de 32 de biți (L16 și 𝑅16).
Proces: Combinarea (𝑅16 ∥ 𝐿16) , aplicarea permutării finale (IP-1), conversie la
hexazecimal.
Output: Rezultatul criptat în format hexazecimal.
Code:
Example of Use
Conclusion
Implementarea realizată respectă cerințele sarcinii 2.11 din algoritmul DES.
Programul aplică permutarea finală (IP-1) asupra blocului combinat R16 || L16,
oferind la final rezultatul criptat în format hexazecimal. Această implementare este
esențială pentru înțelegerea funcționării complete a algoritmului DES și oferă o
bază solidă pentru criptografie practică.