SHACAL

SHACAL
Tvůrce Helena Handshu, David Nakkash
Vytvořeno 2000
zveřejněno 2001
Velikost klíče 128-512 bitů
Velikost bloku 160 bit / 256 bit
Počet kol 80/64
Typ Kryptografická hašovací funkce

SHACAL  je symetrický blokový kryptografický algoritmus v kryptografii vyvinutý pro účast v soutěži NESSIE skupinou autorů ze společnosti Gemplus v čele s Helenou Handshu a Davidem Nakkashem. Existují dvě verze algoritmu - SHACAL-1 a SHACAL-2, které se staly jednou ze 17 finalistů NESSIE .

SHACAL-1

Algoritmus SHACAL se výrazně liší od mnoha jiných algoritmů. Je založen na kompresní funkci hašovacího algoritmu SHA-1 , což je možné díky reverzibilitě kruhové funkce tohoto hašovacího algoritmu za předpokladu, že je znám jeho vnitřní stav. V tomto případě je klíč použit jako transformovaná data a prostý text slouží jako vnitřní stav hashovací funkce. Celkem je provedeno 80 transformačních kol. [jeden]

Charakteristickým rysem algoritmu je jeho jednoduchý rozvrh klíčů - klíč kratší než 512 bitů je doplněn na plnou velikost nulovými bity. Klíče kratší než 128 bitů se nepoužívají. Původní 512bitový šifrovací klíč je rozdělen na 16 fragmentů po 32 bitech K0…K15. Zbývající fragmenty rozšířeného klíče K16…K79 se vypočítají z prvních 16 fragmentů podle vzorce:

.

Tato funkce se stala překážkou pro to, aby byl algoritmus vybrán jako finalista NESSIE , protože existovaly pochybnosti o jeho kryptografické síle. [2]

Velikost bloku je rovna velikosti vnitřního stavu a hashe hashovací funkce SHA1 – 160 bitů. Blok je zpracován jako pět 32bitových dílčích bloků: . Šifrovaný text je zřetězení dat z proměnných [3]

SHACAL-1 není v současné době široce používán. Rychle byl nahrazen algoritmem SHACAL-2, který je často označován jednoduše jako SHACAL. Existoval také teoretický SHACAL-0, který byl založen na hašovací funkci SHA-0 (raná, později revidovaná verze SHA-1 ), ale neujala se, stejně jako samotná hašovací funkce SHA-0. [čtyři]

Implementace algoritmu SHACAL-1

  1. Prezentujte zašifrovanou zprávu jako 5 32bitových datových bloků: A, B, C, D, E.
  2. Proveďte následující 80krát:

kde:

stůl 1

kola Funkce
0-19
20-39
40-59
60-79

tabulka 2

kola Konstantní hodnoty
0-19 5A827999
20-39 6ED9EBA1
40-59 8F1BBCDC
60-79 CA62C1D6

SHACAL-2

V roce 2001 tvůrci algoritmu SHACAL-1, rovněž v rámci soutěže NESSIE, vyvinuli algoritmus SHACAL-2 založený na 64 kolech hashovací funkce SHA-256 s vnitřním stavem 256 bitů. [čtyři]

Původní klíč 512 bitů je analogicky s SHACAL-1 rozdělen na 16 částí po 32 bitech. Zbývajících 48 dílů se vypočítá takto:

kde a :

Implementace algoritmu SHACAL-2

Algoritmus se skládá z 64 kol transformací:

kde:

Tabulka 3

428a2f98 71374491 b5c0fbcf e9b5dba5
3956c25b 59f111f1 923f82a4 ab1c5ed5
d807aa98 12835b01 243185be 550 c7dc3
72be5d74 80 deb1fe 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

Vytrvalost

Za prvé, jak bylo uvedeno [4] , výhodou rodiny algoritmů SHACAL byla jejich výkonnost. Důležitým bodem je také jednoduchost popisu a implementace algoritmů.

Jednou z tezí bezpečnosti byla architektura šifry. Teoreticky by bezpečnost algoritmů SHA-1 a SHA-2 měla také zajistit stabilitu algoritmů SHACAL proti různým typům útoků. Přitom požadavky na hashovací funkce při jejich vývoji jsou koncepčně odlišné a tato teze není příliš podložená. Markku-Juhani Saarinen ve své práci popsal možné útoky pomocí propojených klíčů na algoritmu SHACAL-1. [5]

Pokud jde o udržitelnost, soutěž NESSIE zaznamenala absenci jakýchkoli návrhů na útok na SHACAL. Nicméně, pokud jde o SHACAL-1, klíčový plán byl kritizován. V roce 2002 navrhl Jongsung Kim diferenciální útok na 41 kol SHACAL-1 s 512bitovým klíčem. V roce 2005 zavedl O. Dunkelman útok propojeným klíčem pro všech 80 kol SHACAL-1. [6] O rok později experti usoudili, že v souvislosti s detekcí kolizí v SHA-1 se objeví nové útoky na související klíče a kryptoanalytici z Koreje navrhli bumerangový útok.

Po skončení soutěže NESSIE byl navržen 42-kolový útok na algoritmus SHACAL-2 s 512-bitovým klíčem, ale full-round algoritmus ještě nebyl prolomen [7] . Proto lze plnohodnotné algoritmy SHACAL v současnosti považovat za bezpečné za předpokladu, že se jako klíč použije 512bitový hash z nějaké hashovací funkce (SHA-512, Whirlpool ).

Poznámky

  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). "Kryptoanalýza blokových šifer na základě SHA-1 a MD5"
  6. J. Lu, J. Kim, N. Keller, O. Dunkelman (2006). "Diferenciální a obdélníkové útoky na redukovaný kruhový SHACAL-1
  7. Lu a kol., 2006 , s. 85–100.

Odkazy