SHACAL

SHACAL
Skapare Helena Handshu, David Nakkash
Skapad 2000
publiceras 2001
Nyckelstorlek 128-512 bitar
Block storlek 160 bitar / 256 bitar
Antal omgångar 80/64
Sorts Kryptografisk hashfunktion

SHACAL  är en symmetrisk blockkryptografisk algoritm inom kryptografi , utvecklad för deltagande i NESSIE- tävlingen av en grupp författare från Gemplus- företaget , ledd av Helena Handshu och David Nakkash. Det finns två versioner av algoritmen - SHACAL-1 och SHACAL-2, som blev en av de 17 NESSIE- finalisterna .

SHACAL-1

SHACAL-algoritmen skiljer sig markant från många andra algoritmer. Den är baserad på komprimeringsfunktionen för SHA-1- hashalgoritmen , vilket är möjligt på grund av reversibiliteten av den runda funktionen för denna hashalgoritm, förutsatt att dess interna tillstånd är känt. I det här fallet används nyckeln som data som transformeras, och klartexten används som det interna tillståndet för hashfunktionen. Totalt genomförs 80 transformationsronder. [ett]

En egenskap hos algoritmen är dess enkla nyckelschema - en nyckel kortare än 512 bitar är vadderad till full storlek med noll bitar. Nycklar kortare än 128 bitar används inte. Den ursprungliga 512-bitars krypteringsnyckeln är uppdelad i 16 fragment om 32 bitar K0…K15. De återstående fragmenten av den utökade nyckeln K16…K79 beräknas från de första 16 fragmenten enligt formeln:

.

Denna funktion blev ett hinder för algoritmen att väljas ut som NESSIE- finalist , eftersom det fanns tvivel om dess kryptografiska styrka. [2]

Blockstorleken är lika med storleken på det interna tillståndet och hashen för SHA1-hashfunktionen - 160 bitar. Blocket bearbetas som fem 32-bitars underblock: . Chiffertext är sammanlänkningen av data från variabler [3]

SHACAL-1 används för närvarande inte i stor utsträckning. Den ersattes snabbt av SHACAL-2-algoritmen, som ofta kallas för SHACAL. Det fanns också en teoretisk SHACAL-0, som baserades på SHA-0-hashfunktionen (en tidig, senare reviderad version av SHA-1 ), men den slog inte fast, som själva SHA-0-hashfunktionen. [fyra]

Implementering av SHACAL-1-algoritmen

  1. Presentera det krypterade meddelandet som 5 32-bitars datablock: A, B, C, D, E.
  2. Gör följande 80 gånger:

var:

bord 1

Omgångar Fungera
0-19
20-39
40-59
60-79

Tabell 2

Omgångar Konstanta värden
0-19 5A827999
20-39 6ED9EBA1
40-59 8F1BBCDC
60-79 CA62C1D6

SHACAL-2

År 2001 utvecklade skaparna av SHACAL-1-algoritmen, också som en del av NESSIE-tävlingen, SHACAL-2-algoritmen baserad på 64 omgångar av SHA-256- hashfunktionen med ett internt tillstånd på 256 bitar. [fyra]

Den ursprungliga nyckeln på 512 bitar, i analogi med SHACAL-1, är uppdelad i 16 delar om 32 bitar vardera. De återstående 48 delarna beräknas enligt följande:

var och :

Implementering av SHACAL-2-algoritmen

Algoritmen består av 64 omgångar av transformationer:

var:

Tabell 3

428a2f98 71374491 b5c0fbcf e9b5dba5
3956c25b 59f111f1 923f82a4 ab1c5ed5
d807aa98 12835b01 243185be 550c7dc3
72be5d74 80deb1fe 9bdc06a7 c19bf174
e49b69c1 efbe4786 0fc19dc6 240 kcal
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

Endurance

Först och främst, som nämnts [4] , var fördelen med SHACAL-familjen av algoritmer deras prestanda. En viktig punkt är också enkelheten i beskrivningen och implementeringen av algoritmer.

En av teserna om säkerhet var chifferets arkitektur. Teoretiskt sett bör säkerheten för SHA-1- och SHA-2-algoritmerna också säkerställa stabiliteten hos SHACAL-algoritmerna mot olika typer av attacker. Samtidigt är kraven på hashfunktioner under deras utveckling konceptuellt olika och denna tes är inte särskilt underbyggd. I sitt arbete beskrev Markku-Juhani Saarinen möjliga attacker med hjälp av länkade nycklar på SHACAL-1-algoritmen. [5]

När det gäller hållbarhet noterade NESSIE- tävlingen att det inte fanns några förslag om en attack mot SHACAL. Men när det gäller SHACAL-1 har nyckelschemat kritiserats. 2002 föreslog Jongsung Kim en differentiell attack på 41 omgångar av SHACAL-1 med en 512-bitars nyckel. 2005 introducerade O. Dunkelman en attack med länkade nyckel för alla 80 omgångarna av SHACAL-1. [6] Ett år senare drog experter slutsatsen att i samband med upptäckten av kollisioner i SHA-1 skulle nya attacker mot relaterade nycklar dyka upp, och kryptoanalytiker från Korea föreslog en bumerangattack.

Efter slutet av NESSIE- tävlingen föreslogs en 42-rund attack på SHACAL-2-algoritmen med en 512-bitars nyckel, men full-round-algoritmen har ännu inte knäckts [7] . Därför kan SHACAL-algoritmer för närvarande betraktas som säkra förutsatt att en 512-bitars hash från någon hashfunktion (SHA-512, Whirlpool ) används som nyckel.

Anteckningar

  1. H. Handschuh, D. Naccache SHACAL
  2. Panasenko, 2009 , sid. 449.
  3. ndschuh, D. Naccache SHACAL
  4. 1 2 3 Panasenko, 2009 .
  5. Markku-Juhani Olavi Saarinen (2003-02). "Kryptanalys av blockchiffer baserat på SHA-1 och MD5"
  6. J. Lu, J. Kim, N. Keller, O. Dunkelman (2006). "Differential- och rektangelangrepp på SHACAL-1 med reducerad runda
  7. Lu et al., 2006 , sid. 85–100.

Länkar