HC-256
HC-256 | |
---|---|
General | |
Designeri | Hongjun Wu |
Prima publicație | 2004 |
Detalii | |
Dimensiunea cheii | de la 128 la 256 de biți, în pași de 32 de biți |
Dimensiunea vectorului de inițializare | 64 - 256 biți, cu pași pe 64 biți |
Structura | SHA-256 |
Numărul de pase | numărul de pași |
Criptanaliză mai bună | |
În prezent nu există nici o criptanaliză a algoritmului | |
HC-256 este un cript de flux de înaltă performanță proiectat de Hongjun Wu în 2004 și prezentat ca participant eSTREAM pentru profilul 1 (implementare software ). HC-256 funcționează cu taste de până la 256 de biți . În 2008, o versiune numită HC-128 , care funcționa cu taste pe 128 de biți, a fost inclusă în portofoliul eSTREAM.
Operațiune
Deși algoritmul poate funcționa cu diferite dimensiuni de chei (128-160-192-224-256 biți) și vector de inițializare IV (64-128-192-256 biți), HC-256 standard funcționează cu chei și IV-uri pe 256 biți în timp ce HC-128 funcționează cu chei de 128 biți și IV-uri.
Intern este format din 2 tabele secrete numite P și Q, fiecare conținând 1024 de cuvinte pe 32 de biți. Pentru fiecare actualizare de stare internă, un cuvânt pe 32 de biți din fiecare tabel este actualizat utilizând o funcție de actualizare neliniară. După 2048 trece toate elementele celor două tabele sunt actualizate.
Algoritmul generează un cuvânt de 32 de biți pentru fiecare trecere de actualizare utilizând o funcție de mapare de 32 de biți pe 32 de biți similară cu funcția de ieșire Blowfish . O funcție liniară de mascare a biților este aplicată pentru a genera cuvântul final al ieșirii. HC-256 utilizează intern cele două funcții de planificare a mesajelor ale funcției hash SHA-256 cu tabelele P și Q utilizate ca S-box-uri .
Performanţă
Performanța HC-256 este estimată la aproximativ 4 cicluri pe octet pe un procesor Pentium 4 . Cu toate acestea, HC-256 are o fază de inițializare lungă și complexă care necesită aproximativ 74.000 de cicluri, necesare pentru extinderea cheii de 256 de biți în cele două tabele P și Q și pentru executarea a 4096 de treceri goale, care sunt necesare pentru actualizare de 2 ori mesele în sine.
Performanța HC-128 este mai bună: pe un Pentium M inițializarea algoritmului durează aproximativ 27.300 de cicluri, în timp ce codarea / decodarea durează aproximativ 3 cicluri pe octet.
Siguranță
Până în prezent, nu există criptanalize nici pentru HC-256, nici pentru HC-128: de aceea pot fi considerați algoritmi foarte siguri.
Drepturi de autor
Atât HC-256, cât și HC-128 nu sunt acoperite de brevet și pot fi utilizate gratuit.
Referințe
- Specificații HC-256 ( PDF ), la ecrypt.eu.org .
- Specificații HC-128 ( PDF ), la ecrypt.eu.org .
linkuri externe
- HC-256 la eSTREAM , pe ecrypt.eu.org .
- HC-128 la eSTREAM , pe ecrypt.eu.org .