Blowfish

În criptografie, Blowfish este un cifru bloc simetric cu cheie, creat în 1993 de Bruce Schneier și care, începând din 1993, a fost inclus într-un număr mare de produse de criptare. Blowfish are o rată bună de criptare în software și până în 2008 nu a fost găsit niciun model de atac criptanalitic al acestuia. Cu toate acestea, algoritmul de cifrare în bloc AES se bucură acum de mai multă atenție.

Schneier a creat Blowfish ca un algoritm de uz general, pentru a fi folosit ca înlocuitor al vechiului algoritm DES și pentru a elimina problemele și dificultățile altor algoritmi de criptare. În momentul în care Blowfish a fost lansat, mulți alți algoritmi erau privați sau erau secreți. Schneier a declarat că: "Blowfish este nebrevetat și va rămâne așa în toate țările. Algoritmul este plasat prin prezenta în domeniul public și poate fi folosit liber de oricine".

Caracteristicile principale ale proiectului includ casetele S dependente de cheie și un program de chei foarte complex. Blowfish este unul dintre cele mai rapide blocuri de cifrare utilizate de multe persoane, cu excepția cazului în care se schimbă cheile. Fiecare cheie nouă trebuie să fie preprocesată, ceea ce durează cât criptarea a aproximativ 4 kiloocteți de text, ceea ce este foarte lent în comparație cu alte cifrate în bloc. Acest lucru împiedică utilizarea sa în anumite aplicații (cum ar fi în cele mai mici sisteme încorporate, cum ar fi primele carduri inteligente), dar nu reprezintă o problemă în alte aplicații. Într-una dintre aplicații, este chiar bună: metoda de codare a parolelor utilizată în OpenBSD folosește un algoritm care provine din Blowfish și care se folosește de programarea lentă a cheilor; ideea este că efortul suplimentar de calcul necesar oferă protecție împotriva atacurilor de dicționar. A se vedea consolidarea cheilor.

Blowfish are o dimensiune a blocului de 64 de biți și o lungime variabilă a cheii de la 0 până la 448 de biți. Este un cifru Feistel cu 16 runde și utilizează S-box-uri mari dependente de cheie. Structura sa este similară cu cea a CAST-128, care utilizează S-box-uri fixe.

În 1996, Serge Vaudenay a descoperit un atac cu texte în clar cunoscute care necesita 28r + 1 texte în clar cunoscute pentru a fi spart, unde r este numărul de runde. În plus, a descoperit, de asemenea, o clasă de chei slabe care pot fi detectate și sparte prin același atac cu numai 24r + 1 texte în clar cunoscute. Acest atac nu poate fi folosit împotriva Blowfish obișnuit; el presupune cunoașterea cutiilor S dependente de cheie. Vincent Rijmen, în lucrările sale de doctorat, a introdus un atac diferențial de ordinul doi care poate sparge patru runde și nu mai mult. În continuare nu se cunoaște nicio modalitate de a sparge toate cele 16 runde, în afară de o căutare prin forță brută. În 1996 a fost descoperit un bug de extindere a semnelor într-unul dintre codurile C publicate.

Până în 2008 nu a existat nicio criptanaliză bună a versiunii complete a Blowfish cunoscută public. Cu toate acestea, în 2007, Bruce Schneier a observat că, deși Blowfish este încă utilizat, a recomandat utilizarea noului algoritm Twofish în locul acestuia.

Pagini conexe

Întrebări și răspunsuri

Î: Ce este Blowfish?


R: Blowfish este un cifru bloc simetric cu cheie, creat în 1993 de Bruce Schneier. De atunci, a fost inclus în multe produse de criptare.

Î: Pentru ce a fost creat Blowfish?


R: Blowfish a fost creat ca un algoritm de uz general pentru a înlocui vechiul algoritm DES și pentru a elimina problemele și dificultățile altor algoritmi de criptare.

Î: Cât de lungă poate fi lungimea cheii pentru Blowfish?


R: Lungimea cheii pentru Blowfish poate varia de la 0 până la 448 de biți.

Î: Care sunt unele caracteristici ale designului Blowfish?


R: Unele caracteristici ale designului includ S-box-uri dependente de cheie și un program de chei foarte complex.

Î: Există vreo criptanaliză cunoscută a versiunii complete a Blowfish?


R: Până în 2008, nu se cunoaște nicio modalitate de a sparge cele 16 runde complete în afară de o căutare prin forță brută.

Î: Ce tip de atac a descoperit Serge Vaudenay împotriva Blowfish?


R: Serge Vaudenay a descoperit un atac cu texte în clar cunoscute care necesită 28r + 1 texte în clar cunoscute pentru a fi spart, unde r este numărul de runde. De asemenea, a descoperit o clasă de chei slabe care pot fi detectate și sparte de același atac cu numai 24r + 1 texte în clar cunoscute.

Î: Recomandă Bruce Schneier utilizarea Twofish în loc de Blowfish în prezent?


R: Da, Bruce Schneier recomandă utilizarea Twofish în locul lui Blowfish în prezent, datorită măsurilor de securitate îmbunătățite ale acestuia în comparație cu algoritmi mai vechi, cum ar fi DES, sau chiar cu cei mai noi, cum ar fi AES.

AlegsaOnline.com - 2020 / 2023 - License CC3