Diferența dintre cifrul de flux și blocul de cifru

Anonim

Cifră de flux vs bloc Cipher | Cifra de stat vs. blocul de cifru

În criptografie, cipurile Stream și cipurile bloc sunt doi algoritmi de criptare / decriptare care aparțin familiei de cifre șifonate simetrice. De obicei, un cifru ia un text simplu ca intrare și produce un text cipher ca ieșire. Blocurile de blocuri criptează blocul de lungimi fixe cu ajutorul unei transformări necontrolate. Cipurile de fluxuri criptează fluxurile de biți cu o lungime diferită și folosesc diferite transformări pe fiecare bit.

Ce este un cifru de flux?

Cipurile de flux aparțin familiei de cifre șifonale simetrice. Cipurile de flux combină biți de text simplu cu un flux de biți de cifru pseudorandom utilizând operația XOR (exclusiv sau). Cipurile de flux criptează cifrele de text simplu, una câte una, cu transformări diferite pentru cifre succesive. Deoarece criptarea fiecărei cifre depinde de starea curentă a motorului de cifru, cipurile de flux sunt, de asemenea, cunoscute sub denumirea de cipuri de stare. În mod obișnuit, singurele biți / mușcături sunt folosite ca cifre unice. Pentru a evita preocupările legate de securitate, trebuie să vă asigurați că aceeași stare de pornire nu este utilizată de mai multe ori. Cel mai răspândit șir de fluxuri este RC4.

Ce este un bloc de cifru?

Un cifru bloc este un alt cifru simetric cu chei. Blocurile de blocuri funcționează pe blocuri (grupuri de biți) cu lungime fixă. Blocurile de bloc utilizează o transformare fixă ​​(unvarying) pentru toate cifrele din bloc. De exemplu, atunci când un bloc de text de tip x-bit (împreună cu o cheie secretă) este furnizat ca intrare în motorul de blocare a cifrilor, acesta produce blocul corespunzător de x-biți din textul cifrat. Transformarea reală depinde de cheia secretă. În mod similar, algoritmul de decriptare recuperează blocul original de x-biți de plaintext folosind blocul x de biți din textul cifrat și cheia secretă de mai sus ca intrare. În cazul în care mesajul de intrare este prea lung în comparație cu dimensiunea blocului, acesta va fi defalcat în blocuri și aceste blocuri vor fi criptate (în mod individual) utilizând aceeași cheie. Cu toate acestea, deoarece aceeași cheie este utilizată, fiecare secvență repetată din textul simplu devine aceeași secvență repetată în textul cifrului, ceea ce ar putea cauza probleme de securitate. Cipurile de blocuri populare sunt DES (Standard de criptare a datelor) și AES (Advanced Encryption Standard).

Care este diferența dintre un șir de flux și un bloc de cifru?

Deși atât cifrele cipurilor de flux cât și cipurile de blocuri aparțin familiei de cipuri de criptare simetrice, există unele diferențe majore. Blocurile de blocare criptează blocurile de lungime fixă ​​de biți, în timp ce cipurile de flux combină biți de text simplu cu un flux de biți de cifru pseudorandom folosind operația XOR. Chiar dacă blocurile de cifru utilizează aceeași transformare, șirurile de flux utilizează transformări variate în funcție de starea motorului.Cipurile de flux generează de obicei mai repede decât cipurile de blocare. În ceea ce privește complexitatea hardware, cipurile de fluxuri sunt relativ mai puțin complexe. Cipurile de flux sunt preferințele tipice față de blocurile de blocare atunci când textul simplu este disponibil în cantități diferite (de exemplu, o conexiune wifi securizată), deoarece blocurile de bloc nu pot funcționa direct pe blocuri mai scurte decât dimensiunea blocului. Dar, uneori, diferența dintre cipurile de flux și blocurile de cifru nu este foarte clară. Motivul este că, atunci când se utilizează anumite moduri de operare, un cifru bloc poate fi folosit pentru a acționa ca un cip de flux, permițându-i să cripteze cea mai mică unitate de date disponibile.