SHACAL

SHACAL
Skaber Helena Handshu, David Nakkash
Oprettet 2000
offentliggjort 2001
Nøglestørrelse 128-512 bit
Blokstørrelse 160 bit / 256 bit
Antal runder 80/64
Type Kryptografisk hash-funktion

SHACAL  er en symmetrisk blokkryptografisk algoritme i kryptografi , udviklet til deltagelse i NESSIE -konkurrencen af ​​en gruppe forfattere fra firmaet Gemplus , ledet af Helena Handshu og David Nakkash. Der er to versioner af algoritmen - SHACAL-1 og SHACAL-2, som blev en af ​​de 17 NESSIE -finalister .

SHACAL-1

SHACAL-algoritmen adskiller sig væsentligt fra mange andre algoritmer. Den er baseret på komprimeringsfunktionen af ​​SHA-1 hash-algoritmen , hvilket er muligt på grund af reversibiliteten af ​​den runde funktion af denne hash-algoritme, forudsat at dens interne tilstand er kendt. I dette tilfælde bruges nøglen som de data, der transformeres, og klarteksten tjener som den interne tilstand af hash-funktionen. Der udføres i alt 80 transformationsrunder. [en]

En funktion ved algoritmen er dens enkle nøgleskema - en nøgle, der er kortere end 512 bits, polstres til fuld størrelse med nul bit. Nøgler kortere end 128 bit bruges ikke. Den originale 512-bit krypteringsnøgle er opdelt i 16 fragmenter af 32 bit K0…K15. De resterende fragmenter af den udvidede nøgle K16…K79 beregnes ud fra de første 16 fragmenter i henhold til formlen:

.

Denne funktion blev en hindring for algoritmen for at blive udvalgt som NESSIE -finalist , da der var tvivl om dens kryptografiske styrke. [2]

Blokstørrelsen er lig med størrelsen af ​​den interne tilstand og hashen af ​​SHA1 hash-funktionen - 160 bit. Blokken behandles som fem 32-bit underblokke: . Ciphertext er sammenkædningen af ​​data fra variabler [3]

SHACAL-1 er i øjeblikket ikke udbredt. Den blev hurtigt erstattet af SHACAL-2-algoritmen, som ofte blot omtales som SHACAL. Der var også en teoretisk SHACAL-0, som var baseret på SHA-0-hash-funktionen (en tidlig, senere revideret version af SHA-1 ), men den fangede ikke, som selve SHA-0-hash-funktionen. [fire]

Implementering af SHACAL-1-algoritmen

  1. Præsenter den krypterede meddelelse som 5 32-bit datablokke: A, B, C, D, E.
  2. Gør følgende 80 gange:

hvor:

tabel 1

runder Fungere
0-19
20-39
40-59
60-79

tabel 2

runder Konstante værdier
0-19 5A827999
20-39 6ED9EBA1
40-59 8F1BBCDC
60-79 CA62C1D6

SHACAL-2

I 2001 udviklede skaberne af SHACAL-1-algoritmen, også som en del af NESSIE-konkurrencen, SHACAL-2-algoritmen baseret på 64 runder af SHA-256- hash-funktionen med en intern tilstand på 256 bit. [fire]

Den originale nøgle på 512 bit, analogt med SHACAL-1, er opdelt i 16 dele af hver 32 bit. De resterende 48 dele er beregnet som følger:

hvor og :

Implementering af SHACAL-2-algoritmen

Algoritmen består af 64 runder af transformationer:

hvor:

Tabel 3

428a2f98 71374491 b5c0fbcf e9b5dba5
3956c25b 59f111f1 923f82a4 ab1c5ed5
d807aa98 12835b01 243185be 550c7dc3
72be5d74 80deb1fe 9bdc06a7 c19bf174
e49b69c1 efbe4786 0fc19dc6 240 calcc
2de92c6f 4a7484aa 5cb0a9dc 76f988da
983e5152 a831c66d b00327c8 bf597fc7
c6e00bf3 d5a79147 06ca6351 14292967
27b70a85 2e1b2138 4d2c6dfc 53380d13
650a7354 766a0abb 81c2c92e 92722c85
a2bfe8a1 a81a664b c24b8b70 c76c51a3
d192e819 d6990624 f40e3585 106aa070
19a4c116 1e376c08 2748774c 34b0bcb5
391c0cb3 4ed8aa4a 5b9cca4f 682e6ff3
748f82ee 78a5636f 84c87814 8cc70208
90 befffa a4506ceb bef9a3f7 c67178f2

Udholdenhed

Først og fremmest, som bemærket [4] , var fordelen ved SHACAL-familien af ​​algoritmer deres ydeevne. Et vigtigt punkt er også enkelheden i beskrivelsen og implementeringen af ​​algoritmer.

En af teserne om sikkerhed var chifferens arkitektur. Teoretisk set bør sikkerheden af ​​SHA-1 og SHA-2 algoritmerne også sikre stabiliteten af ​​SHACAL algoritmerne mod forskellige typer angreb. Samtidig er kravene til hashfunktioner under deres udvikling konceptuelt forskellige, og denne afhandling er ikke særlig underbygget. I sit arbejde beskrev Markku-Juhani Saarinen mulige angreb ved hjælp af sammenkædede nøgler på SHACAL-1-algoritmen. [5]

Med hensyn til bæredygtighed bemærkede NESSIE -konkurrencen fraværet af forslag til et angreb på SHACAL. Men hvad angår SHACAL-1, er nøgleskemaet blevet kritiseret. I 2002 foreslog Jongsung Kim et differentielt angreb på 41 runder af SHACAL-1 med en 512-bit nøgle. I 2005 introducerede O. Dunkelman et linked-key angreb for alle 80 runder af SHACAL-1. [6] Et år senere konkluderede eksperter, at der i forbindelse med påvisningen af ​​kollisioner i SHA-1 ville dukke nye angreb på relaterede nøgler op, og kryptoanalytikere fra Korea foreslog et boomerangangreb.

Efter afslutningen af ​​NESSIE -konkurrencen blev der foreslået et 42-runders angreb på SHACAL-2-algoritmen med en 512-bit nøgle, men fuld-runde-algoritmen er endnu ikke blevet knækket [7] . Derfor kan fuldrunde SHACAL-algoritmer i øjeblikket betragtes som sikre, forudsat at en 512-bit hash fra en eller anden hashfunktion (SHA-512, Whirlpool ) bruges som nøgle.

Noter

  1. H. Handschuh, D. Naccache SHACAL
  2. Panasenko, 2009 , s. 449.
  3. ndschuh, D. Naccache SHACAL
  4. 1 2 3 Panasenko, 2009 .
  5. Markku-Juhani Olavi Saarinen (2003-02). "Kryptanalyse af blokcifere baseret på SHA-1 og MD5"
  6. J. Lu, J. Kim, N. Keller, O. Dunkelman (2006). "Differentielle og rektangelangreb på SHACAL-1 med reduceret runde
  7. Lu et al., 2006 , s. 85-100.

Links