Nytt datasigill
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 19 december 2018; kontroller kräver
5 redigeringar .
New Data Seal (NDS) är ett blockchiffer baserat på Lucifer-algoritmen , som senare blev DES- standarden . Chifferet utvecklades av IBM 1975. För kryptering delar NDS indata (okrypterad) in i block om 128 bitar och använder en mycket lång nyckel på 2048 bitar. Chifferens struktur är exakt densamma som DES : ett Feistel-nätverk med 16 rundor .
Hur det fungerar
NDS-chifferet är ganska enkelt, delvis för att samma nyckel används i dess kärna i varje omgång av Feistel-nätverket.
- Nyckeln är en mappning: det vill säga dimensionen av utrymmet för sådana nycklar är mer än tillräckligt för att förhindra uppräkning av nycklar.


- Systemet använder 2 förkända (ej dynamiska) S-boxar : nyckelschemat består av en nyckel . Klartextblocket är uppdelat i 2 underblock om 64 bitar vardera. För att räkna


är uppdelad i åtta 8-bitars delar. För beteckna den byte som bildas av den första biten av varje byte in

- varje del är uppdelad i två 4-bitars
nibbles
- till vänster napp gäller till höger -


- om den -th biten är 1, kommer nibbles av -th delen att bytas ut efter konverteringen




- en känd permutation tillämpas på 64-bitarsresultatet (efter att alla delar har kombinerats) . Det låter dig skydda chifferet från sprickor och analys som ett system av enklare oberoende subciphers.
Hackingalgoritm
Användningen av samma nyckel i varje omgång är en svag punkt för detta chiffer och används i en matchad klartextattack . Med dess hjälp kan du helt återställa krypteringsnyckeln: låt oss beteckna transformationen som motsvarar en NDS-runda, det vill säga , ytterligare kommer att beteckna alla 16 omgångarna. Observera att och pendla: Enligt Kerckhoffs princip vet vi allt om krypteringsalgoritmen, förutom nyckeln. Om vi sedan känner till varje möjlig nyckel, kommer den att anses vara trasig.









Angreppsproceduren är som följer:
- Anpassa meddelandet så att


- Hackaren får ett krypterat meddelande som motsvarar klartexten


- Låt vara en av de möjliga 8-bitarsnycklarna (totala kombinationer). Och låt det bli resultat efter jobbet från 1 varv med nyckeln .




- Om då och därmed den vänstra halvan är förenlig med den högra halvan





- Knäckaren får ett krypterat meddelande som motsvarar en förvald text . Om den högra halvan matchar den vänstra halvan kan det anses vara ett giltigt värde för . I värsta fall kommer kombinationer att behöva sorteras bort för att hitta önskat värde .








- Vi upprepar proceduren för varje , och erhåller nyckelvärdet med förvalda klartexter.



Attacker mot chiffer
1977 demonstrerade Edna Grossman och Bryant Tuckerman först en attack mot NDS med hjälp av en skjuvattack [1] [2] . Denna metod använder som mest 4096 matchade klartexter . I sitt bästa test kunde de återställa nyckeln med endast 556 matchade klartexter.
Anteckningar
- ↑ EK Grossman, Thomas J. Watson IBM Research Center Research Division, B. Tuckerman. Analys av ett Feistel-liknande chiffer som försvagats av att det inte finns någon roterande nyckel . - IBM Thomas J. Watson Research Division, 1977. - 33 sid.
- ↑ Henry Baker, Fred Piper. Chiffersystem: Skydd av kommunikation. - John Wiley & Sons , 1982. - S. 263-267. - ISBN 0-471-89192-4 .