skipjack | |
---|---|
Teremtő | Nemzetbiztonsági Ügynökség (USA) |
Létrehozva | 1980-as évek |
közzétett | 1998 (feloldva) |
Kulcsméret | 80 bites |
Blokkméret | 64 bites |
A körök száma | 32 |
Típusú | Feistel hálózat |
A Skipjack egy blokk titkosítás , amelyet az Egyesült Államok Nemzetbiztonsági Ügynöksége fejlesztett ki a Capstone projekt részeként . A fejlesztés után a titkosítással kapcsolatos információkat titkosították. Eredetileg a Clipper chipben való használatra szánták a kormányzati telefonhálózatokon , valamint a mobil- és vezeték nélküli hálózatokon keresztül továbbított hanginformációk védelmére . Az algoritmust később feloldották [1] .
A Skipjack egyike volt a Capstone projekt által javasolt kezdeményezéseknek . A projektet a Nemzetbiztonsági Ügynökség (NSA) és a National Institute of Standards and Technology (NIST) vezette , amelyet az Egyesült Államok kormánya finanszírozott. A kezdeményezés hivatalos kezdési dátuma 1993. A titkosítási algoritmust 1980-ban fejlesztették ki, első implementációját 1987-ben kapták meg. A titkosítást a védett berendezésbe ágyazott Clipper chipbe szánták . Ugyanakkor a Skipjack-et csak üzenetek titkosítására használták, a kulcs letétbe helyezést [2] pedig a felhatalmazott szervek utólagos használatának lehetőségére - a titkosítás használatának legtöbbet tárgyalt aspektusa - egy különálló mechanizmuson keresztül valósult meg, amelyet törvényvégrehajtásnak neveztek . Hozzáférési mező [1] .
Kezdetben a projektet titkosították, és emiatt hatalmas kritika érte. Számos akadémikus kutatót kértek fel, hogy növeljék az algoritmus iránti bizalmat és megbecsülést. A független alapos kutatás időhiánya miatt a szakértők az algoritmusfejlesztési és értékelési folyamat NSA által biztosított leírásának tanulmányozására koncentráltak. Ezen túlmenően egy hónapon keresztül egy sor kisebb tesztet is elvégeztek. A munkájukról készült előzetes jelentésben (a zárójelentést nem követték) három következtetést jeleznek [3] :
A rejtjel 1998. június 24-én került a nyilvánosság elé. 2016 augusztusában a NIST új elveket fogadott el a kriptográfiai szabványok használatára vonatkozóan , amelyben visszavonta a Skipjack algoritmus kormányzati célú tanúsítását [5] .
A Skipjack 80 bites kulcsot használ a 64 bites adatblokkok titkosításához/visszafejtéséhez. Ez egy kiegyensúlyozatlan Feistel hálózat 32 fordulóval [6] .
A szöveg 4 , egyenként 2 bájtos szóra van osztva . A kiindulási adatok olyan szavak, amelyekre , ahol a kör sorszáma. Először 8 kört kell megtenni az A szabály szerint, majd a B szabály szerint. Ezt kétszer megismételjük, ami összesen 32 kört ad.
Itt és lent a művelet bitenkénti ( bitenkénti számokhoz és ) modulo 2 összeadás bináris művelete .
A szabály |
B szabály |
Az algoritmus befejezése után a titkosított szöveg a szavak lesznek .
A kezdeti adatok olyan szavak, amelyekre . Először 8 kört kell tenni a B szabály szerint, majd az A szabály szerint. Kétszer megismételve.
A szabály | B szabály |
Az algoritmus befejezése után a szavak egyszerű szövegben jelennek meg .
permutációs blokk 16 bites számra hat, és egy négyszintű Feistel hálózat. A 8 bitre hatófüggvény egy helyettesítési blokk , amelyet azalgoritmus specifikációjában táblázatnak neveznek . Matematikailag a blokkműködése a következőképpen írható le:
|
|
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | a3 | d7 | 09 | 83 | f8 | 48 | f6 | f4 | b3 | 21 | tizenöt | 78 | 99 | b1 | af | f9 |
1x | e7 | 2d | 4d | 8a | ce | 4c | kb | 2e | 52 | 95 | d9 | 1e | 4e | 38 | 44 | 28 |
2x | 0a | df | 02 | a0 | 17 | f1 | 60 | 68 | 12 | b7 | 7a | c3 | e9 | fa | 3d | 53 |
3x | 96 | 84 | 6b | ba | f2 | 63 | 9a | 19 | 7c | ae | e5 | f5 | f7 | 16 | 6a | a2 |
4x | 39 | b6 | 7b | 0f | c1 | 93 | 81 | 1b | ee | b4 | 1a | ea | d0 | 91 | 2f | b8 |
5x | 55 | b9 | da | 85 | 3f | 41 | bf | e0 | 5a | 58 | 80 | 5f | 66 | 0b | d8 | 90 |
6x | 35 | d5 | c0 | a7 | 33 | 06 | 65 | 69 | 45 | 00 | 94 | 56 | 6d | 98 | 9b | 76 |
7x | 97 | fc | b2 | c2 | b0 | fe | db | húsz | e1 | eb | d6 | e4 | dd | 47 | 4a | 1d |
8x | 42 | szerk | 9e | 6e | 49 | 3c | CD | 43 | 27 | d2 | 07 | d4 | de | c7 | 67 | tizennyolc |
9x | 89 | cb | harminc | 1f | 8 D | c6 | 8f | aa | c8 | 74 | dc | c9 | 5d | 5c | 31 | a4 |
Fejsze | 70 | 88 | 61 | 2c | 9f | 0d | 2b | 87 | ötven | 82 | 54 | 64 | 26 | 7d | 03 | 40 |
bx | 34 | 4b | 1c | 73 | d1 | c4 | fd | 3b | cc | fb | 7f | ab | e6 | 3e | 5b | a5 |
Cx | hirdetés | 04 | 23 | 9c | tizennégy | 51 | 22 | f0 | 29 | 79 | 71 | 7e | ff | 8c | 0e | e2 |
Dx | 0c | ef | időszámításunk előtt | 72 | 75 | 6f | 37 | a1 | ec | d3 | 8e | 62 | 8b | 86 | tíz | e8 |
Volt | 08 | 77 | tizenegy | lenni | 92 | 4f | 24 | c5 | 32 | 36 | 9d | vö | f3 | a6 | bb | ac |
fx | 5e | 6c | a9 | 13 | 57 | 25 | b5 | e3 | bd | a8 | 3a | 01 | 05 | 59 | 2a | 46 |
Eli Biham és Adi Shamir kriptográfiai támadást hajtott végre 32 lövésből 16 ellen az algoritmus titkosításának feloldását követő egy napon belül. Alex Biryukov - val együtt , a lehetetlen differenciális kriptoanalízist használva , a 32 körből 31-et néhány hónap alatt megoldottak [7] . Később cikkek jelentek meg, amelyek 28 rejtjelezést támadtak meg csonka differenciálokat használva [8] .
2002-ben Rafael Phan közzétett egy cikket, amelyben a lehetséges támadásokat elemezte teljes 32 körön keresztül [9] . Később, 2009-ben egy szintén Phan által jegyzett cikk azt állította, hogy akkoriban még nem támadták meg a teljes Skipjack rejtjelező algoritmust [10] .
Szimmetrikus titkosítási rendszerek | |
---|---|
Rejtjelfolyam adatfolyam | |
Feistel hálózat | |
SP hálózat | |
Egyéb |