Cifru pe blocuri

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

În criptografie, un cifru pe blocuri sau un cifru bloc este un cifru care operează pe grupuri de biți de lungime fixă, denumite blocuri. Atât algoritmii de criptare cu chei simetrice, cât și cei cu chei asimetrice pot fi cifruri pe blocuri.[1]

Definiție și proprietăți[modificare | modificare sursă]

Din punct de vedere matematic, un cifru pe blocuri este o funcție E:V_n \times K \rightarrow V_n care are proprietatea că pentru orice k \in K, E_k(p)\,=\,E(p, k) este o funcție bijectivă definită pe Vn cu valori în Vn.[1] Aici, Vn este mulțimea vectorilor de n biți, iar K este o mulțime a cheilor.

Numărul n din definiție este lungimea blocului, iar funcția inversabilă de criptare este în esență o permutare pe mulțimea vectorilor de n biți. Dacă cheile definesc fiecare o funcție bijectivă diferită, și toate cheile sunt valide (adică K\,=\,V_k), atunci numărul total de chei este \log{|K|}. Dacă toate cheile au aceeași probabilitate de utilizare, atunci și entropia spațiului cheilor este tot \log{|K|}.[1]

Utilizare[modificare | modificare sursă]

Aparent, lungimea fixă a mesajului clar este o importantă limitare a gradului de utilizare a cifrurilor pe blocuri. Pentru a cripta un mesaj de o lungime diferită de cea a blocului, mesajul este partiționat în componente de lungime egală cu cea a blocului, care sunt criptate și concatenate pentru obținerea mesajului criptat. Dacă ultima componentă rămâne mai mică decât blocul, se folosește ceea ce se numește padding: completarea textului clar cu un șir de biți a cărui structură este predefinită, până când el are lungimea egală cu cea a blocului.

Note[modificare | modificare sursă]

  1. ^ a b c Menezes, p. 224

Bibliografie[modificare | modificare sursă]

  • Alfred Menezes. Handbook of Applied Cryptography. Paul van Oorschot, Scott Vanstone