Articles

DES – Data Encryption Standard

Posted on

Een symmetrische-sleutelblokversleuteling die in 1977 werd gestandaardiseerd door het National Bureau of Standards (NBS), dat tegenwoordig het National Institute of Standards and Technology (NIST) heet

Data Encryption Standard (DES) is een blokversleuteling met symmetrischesleutelblokversleuteling die gegevens versleutelt in blokken van elk 64 bits. Dit betekent dat een 64-bit platte tekst als invoer in de versleutelingsfunctie wordt gevoerd en dat deze een 64-bit versleutelde tekst als uitvoer genereert. De sleutellengte in DES is 56 bits. Deze vercijferingsnorm gebruikt dezelfde sleutel voor vercijfering en ontcijfering (symmetrische sleutel). In het vercijferingsproces zijn er 16 verschillende identieke vercijferingsstappen die 16 verschillende identieke subsleutels gebruiken die met de hoofdsleutel worden gegenereerd.

Er zijn 3 hoofdstappen in DES,

01. Initiële permutatie

02. Encryptieronde 01-16

03. Uiteindelijke permutatie

  • Invoerblokgrootte: 64 bits
  • Output block Size: 64 bits

In de fase van de initiële permutatie voert het alleen een bit-herschikking uit voor bitposities. Er vindt in dit stadium geen encryptie plaats.

Encryptie-ronde 01 – 16

    Een encryptie-ronde wordt uitgevoerd.16

    • Invoerblokgrootte: 64 bits
    • Invoersleutelgrootte: 56 bits
    • Uitvoersleutelgrootte: 64 bits

    In elke identieke versleutelingsronde, wordt het 64-bits blok platte tekst dat de eerste permutatie heeft ondergaan, opgesplitst in twee subblokken van elk 32 bits.

    Het linker blok van 32 bits wordt door een XOR-functie vervangen door de uitgang van de functie f, een 32 bits blok. De uitgang van deze XOR-functie wordt het volgende rechter blok van 32 bits voor de tweede vercijferingsronde.

    De rechter 32 bits worden de volgende linker 32 bits voor de tweede vercijferingsronde, terwijl ze ook de “functie f” invoeren.

    Functie f

    • Input Ri blokgrootte: 32 bits
    • Input Key grootte: 48 bits
    • Output blokgrootte: 32 bits

    Er zijn 4 hoofdstappen in Functie f,

    01. Expansie

    • Invoerblokgrootte: 32 bits
    • Uitvoerblokgrootte: 48 bits

02. XOR

  • Invoerblokgrootte: 48 bits
  • Invoersleutelgrootte: 48 bits
  • Uitvoerblokgrootte: 48 bits

03. S-boxen (substitutieboxen)

  • Invoerblokgrootte: 48 bits
  • Uitvoerblokgrootte: 32 bits
  • Aantal S-boxen: 08

Bijv. S box 01

04. Permutatie

  • Invoerblokgrootte: 32 bits
  • Uitvoerblokgrootte: 32 bits

Sleutelomzettingsfunctie

  • Initiële sleutelgrootte: 64 bits

  • C0 = C16 en D0 = D16 als encryptiesleutel moet gelijk zijn aan de decryptiesleutel.
  • In rondes i = 1,2,9,16 worden de twee helften één bit naar links geroteerd. In de andere rondes waar i !=1,2,9,16, worden de twee helften twee bits naar links gedraaid.

Final permutation

  • Input block Size: 64 bits
  • Output block Size: 64 bits

In de fase van final permutation wordt opnieuw een bit herschikking uitgevoerd voor de bitposities. Dit is het omgekeerde van de initiële permutatie. In dit stadium vindt geen encryptie plaats.

Laatste encryptie en eerste decryptie proces

Hoe dan ook, DES kan relatief eenvoudig worden gebroken met een uitputtende sleutel-zoekaanval. Het probleem van DES is de sleutellengte van het algoritme, die slechts 56 bits bedraagt. Daarom is DES voor de meeste toepassingen niet meer geschikt.

Hoop dat dit u meer inzicht geeft in de Data Encryption Standard (DES).

Dank u. Tot ziens. 👋

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *