HC-256

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
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

linkuri externe