Adattitkosítási szabvány

DES ( adat titkosítási szabvány ) A kép leírása, az alábbiakban szintén kommentálva DES-F-függvény. összefoglaló
Tervező (k) IBM
Első kiadvány 1975 ( 1977 a szabványhoz)
Származó Lucifer
Titkosítás (ok) ezen algoritmus alapján Hármas DES , G-DES , DES-X , LOKI89 , ICE
Jellemzők
Blokk mérete (i) 64 bit
Kulcs (ok) 56 bit
Szerkezet Feistel-séma
Fordulatok száma 16 kör a DES

Jobb kriptanalízis

lineáris kriptanalízis , differenciális kriptanalízis , durva erő támadások lehetségesek

Az Adattitkosítási Standard ( DES , pronounce / d ɛ s /) egy szimmetrikus titkosítási algoritmus ( blokkos titkosítás ), amely 56 bites kulcsokat használ . Használata ma már nem ajánlott, lassú végrehajtása és túl kicsi kulcsterülete miatt ésszerű időn belül szisztematikus támadást tesz lehetővé. Ha még mindig használják, általában a Triple DES-ben van , ami semmit sem tesz a teljesítményének javítása érdekében. A DES-t különösen a UNIX jelszó rendszerben használták .

Az első DES szabvány által közzétett FIPS on 1977. január 15 FIPS PUB 46 néven. Az elavulás előtti utolsó verzió 1999. október 25.

Történelem

Ban ben 1973. május, az Amerikai Nemzeti Szabványügyi Hivatal egy titkosítási algoritmus létrehozását szorgalmazza, amelyet a vállalatok használhatnak. Abban az időben az IBM-nek már volt Lucifer nevű algoritmusa , amelyet 1971-ben Horst Feistel tervezett .

Logikailag ezt az algoritmust az NBS-nek kellett volna kiválasztania. A gyakorlatban ez szinte így volt: az NSA követelte Lucifer megváltoztatását, ő maga. Így jött létre a DES, amelyet 1976 novemberében fogadtak el szabványként . Ez felvetette a gyanút, hogy az NSA szándékosan gyengítette az algoritmust, megpróbálva megtörni. Furcsa módon a DES bebizonyosodott, hogy ellenáll több olyan támadásnak, amelyek várhatóan csak jóval később jelentek meg az akadémiai közösségben. Még megdöbbentőbb, hogy Lucifer , ő, kevésbé ellenállt. Ez arra utal, hogy az NSA akkoriban tisztában volt e kriptanalízis technikákkal, és hogy ezért a valóságban ellenállóbbá tette volna a DES-t.

Művelet

A DES algoritmus egy 64 bites blokkot átalakít egy másik 64 bites blokkká. Egyedi 56 bites kulcsokat kezel, amelyeket 64 bit képvisel (mindegyik bájtban egy-egy bitet használnak a paritás ellenőrzésére ). Ez a szimmetrikus rejtjelrendszer az iteratív blokkosírók családjába tartozik, pontosabban egy Feistel-séma ( Horst Feistelről kapta a nevét a Lucifer- rejtjel eredeténél ).

Általánosságban elmondhatjuk, hogy a DES három szakaszban működik:

A DES nyolc helyettesítő táblázatot ( S-Box ) használ , amelyek tartalmát illetően sok vita tárgyát képezte. Gyanítottunk egy gyengeséget, amelyet a tervezők szándékosan illesztettek be. Ezeket a pletykákat az 1990-es évek elején eloszlatta a differenciális kriptanalízis felfedezése, amely megmutatta, hogy az asztalok jól meg vannak tervezve.

Támadások

Több támadást fedeztek fel a DES ellen. Lehetővé teszik a kulcsok átfogó keresésének költségeinek csökkentését, ami átlagosan operációnak felel meg . Ezen lavinahatás bevezetése miatt ezek közül a módszerek közül néhány már nem hatékony a legújabb titkosítási algoritmusokkal .

Állapot

Az eredetileg az IBM által tervezett algoritmus 112 bites kulcsot használt. Az NSA beavatkozása a kulcs méretét 56 bitre csökkentette. Manapság a Triple DES még mindig nagyon népszerű, és az „egyszerű” DES csak a régebbi alkalmazásokban létezik. A DES szabványt 2001- ben az AES (Advanced Encryption Standard) váltotta fel .

Megjegyzések és hivatkozások

Megjegyzések

Hivatkozások

  1. (in) Adattitkosítási szabvány (DES)  " [PDF] ,1999. október 25(megtekintés : 2015. október 20. ) .
  2. Az NSA bevonása az adattitkosítási szabvány fejlesztésébe
  3. (in) Don Coppersmith , Az adatok titkosításának szabványa (DES) és erőssége kontra támadások  " , IBM Journal of Research and Development , 1. évf.  38, n o  3, 1994. május, P.  243 ( olvasható online [PDF] )

Függelékek

Kapcsolódó cikkek

Külső linkek

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">