Î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

Din punct de vedere matematic, un cifru pe blocuri este o funcție   care are proprietatea că pentru orice  ,   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ă  ), atunci numărul total de chei este  . Dacă toate cheile au aceeași probabilitate de utilizare, atunci și entropia spațiului cheilor este tot  .[1]

Utilizare

modificare

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.

  1. ^ a b c Menezes, p. 224

Bibliografie

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