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-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]
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 |
Å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 :
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 |
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.
Symmetriska kryptosystem | |
---|---|
Streama chiffer | |
Feistel nätverk | |
SP nätverk | |
Övrig |