-
Criterii de evaluare cifruri bloc si moduri de operare
- nivelul de securitate estimat
increderea intr-un cifru creste daca acesta a constituit subiect de criptanaliza pentru o perioada indelungata de timp. Cantitatea de text cifrat necesara pentru realizarea de atacuri poate uneori depasi distanta de unicitate a unui cifru care estimeaza cantitatea de text cifrat necesara pentru regasirea cheii
- marimea cheii
lungimea in biti a cheii defineste o limita superioara a securitatii unui cifru (la cautarea completa) dar o lungime mai mare a cheii implica costuri aditionale
- volumul
este legat de complexitatea maparii criptografice si de modul de implementare pe o anumita platforma
- marimea blocului
este un compromis intre o lungime cat mai mare (motive de securitate) si o lungime cat mai mica (motive de implementare)
- expandarea datelor
nu este de dorit a se realiza expandarea; apare la substitutia homofonica si la tehnicile pseudoaleatoare
- propagarea erorii
biti eronati in textul cifrat au efecte diverse la decriptare
-
Moduri de operare pentru confidentialitate
- modul ECB (electronic codebook)
-
- algoritm
intrarea consta in blocurile textului in clar p1,p2,...,pt (blocuri de lungime n) si iesirea in blocurile textului cifrat c1,c2,...,ct (blocuri de lungime n) unde ci = ek ( pi ) si pi = dk ( ci ) cu 1 ≦ i ≦ t, pi ∈ P, ci ∈ C, k ∈ K
- proprietati
- un bloc de text in clar se cripteaza intotdeauna in acelasi bloc de text criptat, pentru aceeasi cheie
- blocurile de text in clar se cripteaza independent de alte blocuri de text in clar; reordonarea blocurilor de text criptata conduce la o reordonare a blocurilor de text in clar
- erorile de bit intr-un bloc de text criptata afecteaza numai decriptarea acelui bloc
- observatii
este recomandat pentru mesaje ce constau intr-un singur bloc; eventual, blocurile de text clar pot fi completate cu secvente aleatoare
- modul CBC (cipher-block chaining)
-
- algoritm
intrarea consta in blocurile textului in clar p1,p2,...,pt (blocuri de lungime n) si iesirea in blocurile textului cifrat c1,c2,...,ct (blocuri de lungime n) unde ci = ek ( ci-1 ⊕ pi ) si pi = ci-1 ⊕ dk ( ci ) cu 1 ≦ i ≦ t, pi ∈ P, ci ∈ C, k ∈ K, c0 se obtine dintr-un vector de initializare de lungime n biti
- proprietati
- un bloc de text in clar se cripteaza intotdeauna in acelasi bloc de text criptat, pentru aceeasi cheie si acelasi vector de initializare
- deoarece un bloc de text criptat depinde de blocurile criptate anterioare, reordonarea blocurilor criptate afecteaza decriptarea corecta
- erorile de bit afecteaza decriptararea blocurilor urmatoare
- acest mod este autosincronizabil in sensul ca o eroare in blocul criptat i nu afecteaza decriptarea blocului i+2 daca blocul i+1 nu are erori
- observatii
- nu se poate folosi in aplicatiile ce utilizeaza accesul aleator scriere/citire la date criptate deoarece o modificare intr-unul din blocurile textului in clar afecteaza criptarea in toate blocrile ulterioare criptate
- pierderile de bit afecteaza delimitarea blocurilor criptate
- se recomanda utilizarea unui vector de initializare secret; mecanismul de criptare garanteaza numai confidentialitatea nu si integritatea
- modul CFB (cipher feedback)
-
aplicatiile ar putea necesita criptarea unor blocuri de text in clar de lungime r, 1 ≦ r ≦ n ( in mod tipic r =1 sau r = 8)
- algoritm
intrarea consta in blocurile textului in clar p1,p2,...,pu (blocuri de lungime r) si iesirea in blocurile textului cifrat c1,c2,...,cu (blocuri de lungime r) unde ci = pi ⊕ si si pi = ci ⊕ si cu 1 ≦ i ≦ u, pi ∈ P, ci ∈ C, k ∈ K si secventa( I1 se obtine dintr-un vector de initializare de lungime n biti) - Oi = ek ( Ii )
- si sunt cei mai semnificativi r biti din Oi
- Ii+1 = 2rIi + ci mod 2n
- proprietati
- un bloc de text in clar se cripteaza intotdeauna in acelasi bloc de text criptat, pentru aceeasi cheie si acelasi vector de initializare
- deoarece un bloc de text criptat depinde de blocurile criptate anterioare, reordonarea blocurilor criptate afecteaza decriptarea corecta; decriptarea corecta necesita [n/r] blocuri anterioare criptate corecte
- erorile de bit afecteaza decriptararea urmatoarelor [n/r] blocuri (pana ce blocul eronat a fost curatat din registrul de alunecare)
- acest mod este autosincronizabil dar dupa [n/r] blocuri
- pentru r < n, volumul scade cu un factor n/r comaparat cu modul CBC
- observatii
- nu este neaparat necesar ca vectorul de initializare sa fie secret
- deoarece atat la criptare cat si la decriptare se foloseste ek, acest mod nu se foloseste decat daca e nu este un algoritm cu cheie publica
- modul OFB (output feedback)
-
- algoritm
- OFB cu feedback complet
intrarea consta in blocurile textului in clar p1,p2,...,pu (blocuri de lungime r) si iesirea in blocurile textului cifrat c1,c2,...,cu (blocuri de lungime r) unde ci = pi ⊕ si si pi = ci ⊕ si cu 1 ≦ i ≦ u, pi ∈ P, ci ∈ C, k ∈ K si secventa( I1 se obtine dintr-un vector de initializare de lungime n biti) - Oi = ek ( Ii )
- si sunt cei mai semnificativi r biti din Oi
- Ii+1 = Oi
- OFB cu feedback pe r biti
intrarea consta in blocurile textului in clar p1,p2,...,pu (blocuri de lungime r) si iesirea in blocurile textului cifrat c1,c2,...,cu (blocuri de lungime r) unde ci = pi ⊕ si si pi = ci ⊕ si cu 1 ≦ i ≦ u, pi ∈ P, ci ∈ C, k ∈ K si secventa( I1 se obtine dintr-un vector de initializare de lungime n biti) - Oi = ek ( Ii )
- si sunt cei mai semnificativi r biti din Oi
- Ii+1 = 2rIi + si mod 2n
- proprietati
- un bloc de text in clar se cripteaza intotdeauna in acelasi bloc de text criptat, pentru aceeasi cheie si acelasi vector de initializare
- fluxul de chei este independent de textul in clar
- unul sau mai multi biti eronati in blocul ci afecteaza numai decriptarea blocului respectiv
- nu se autosincronizeaza la pierderea bitilor din blocuri cifrate
- pentru r < n, volumul scade cu un factor n/r comaparat cu modul CBC; fluxul de chei poate fi calculat avnd cheia si secventa de initializare
- observatii
- nu este neaparat necesar ca vectorul de initializare sa fie secret, dar acesta trebuie modificat la reutilizarea unei chei
- deoarece atat la criptare cat si la decriptare se foloseste ek, acest mod nu se foloseste decat daca e nu este un algoritm cu cheie publica
-
- modul CTR (counter mode)
-
- algoritm: este o simplificare a OFB la care Ii+1 = Ii+1
- proprietati: decriptarea lui ci+1 nu necesita decriptarea lui ci astfel ca accesul este secvential
- observatii
- pentru toate mesajele criptate cu aceeasi cheie, contoarele trebuie sa fie diferite
- Moduri de operare pentru autentificare date
- Moduri de operare pentru autentificare date si confidentialitate
FIPS81
SP800-38A
SP800-38C
# posted by Sorin Badescu @ 5:52 PM