Puncte:2

Reutilizarea IV în AES-CBC îl slăbește?

drapel cn

Rsynccrypto se presupune că folosește AES-CBC cu o răsucire: dacă ultimii câțiva octeți de text simplu îndeplinesc o condiție*, apoi opriți-vă, blocați blocul curent și începeți să criptați blocul nou din poziția curentă din fișier în timp ce reutilizați IV. Un exemplu mai bun ar putea fi în pseudocod:

dacă (declanșare (tampon, i)) {
  encrypt_next_block(buffer, i);
  init_encryption(iv);
} else if(is_block_boundary(i)) {
  encrypt_next_block(buffer, i)
}

Puteți verifica codul Aici

Asta slăbește cumva criptarea? Dacă da, cum?

* Condiția exactă este suma ultimilor 8196 de octeți, mod 4096 este egal cu 0.

Puncte:3
drapel us

Nici nu trebuie să analizăm cu atenție varianta sa de mod CBC. Pagina web pentru rsyncrypto spune totul:

Această modificare asigură că două fișiere aproape identice, cum ar fi același fișier înainte și după o modificare, atunci când sunt criptate folosind rsyncrypto și aceeași cheie, vor produce fișiere criptate aproape identice

Indiferent ce fac ei (reutilizarea IV-urilor etc.) și presupunând că reușesc cu adevărat la obiectivele lor declarate, ei scurg în mod clar unele informații de similaritate despre textele clare. Deci: da, ele slăbesc modul CBC, care nu scurge nimic despre textele clare (cu excepția lungimii) atunci când este folosit corect.


Despre varianta lor specifică de CBC: CBC menține o valoare de înlănțuire de la bloc la bloc. Inițial, valoarea de înlănțuire este setată la IV, iar pentru blocurile ulterioare valoarea de înlănțuire este blocul de text cifrat. Aparent, atunci când o anumită condiție este îndeplinită, ei resetează valoarea de înlănțuire la IV-ul original.

Este binecunoscut faptul că reutilizarea unui IV în modul CBC scurge lungimea unui prefix comun de texte clare. Cu alte cuvinte, dacă primul $k$ blocuri de $M$ și $M'$ sunt identice, apoi primele $k$ blocuri de $\textsf{CBC}_k(IV,M)$ și $\textsf{CBC}_k(IV,M')$ va fi identic. Este posibil să arătăm că acesta este numai informații despre textele clare care sunt scurse. (Acest lucru presupune că IV-uri aleatoare; mai multe pot fi scurse dacă adversarul poate prezice/alege IV-uri).

Același raționament se aplică acestei variante CBC. Presupunând că IV-ul este utilizat doar pentru o criptare (dar valoarea de înlănțuire poate fi resetată la acel IV în timpul acelei criptări), textele cifrate scurg prefixul comun după oricare dintre acești pași „IV-resetare”. Deci, un observator care vede un text cifrat și vede că blocurile 12,13,14 sunt egale cu blocurile 22,23,24 poate concluziona că blocurile de text simplu 11 și 21 trebuie să fi provocat o resetare IV și că, în plus, blocurile de text simplu 12,13,14 sunt egale. blocurile de text simplu 22,23,24.

Kryštof Vosyka avatar
drapel cn
Am editat întrebarea pentru a oferi mai multă claritate.
drapel us
Mi-am actualizat răspunsul.
Puncte:0
drapel vu

Poate că de fapt nu este ulei de șarpe, dar în cel mai bun caz este redundant.

Prima parte a acesteia detaliu pe care l-aș numi redundant este faptul că folosește RSA pentru a cripta o cheie per fișier pe care din anumite motive o numesc cheie de „sesiune”.

Cred că există un mod de operare al cifrului bloc care este rsync-friendly și este modul de criptare a discului XTS.Da, dacă puteți cripta un dispozitiv de blocare și aveți acces live de citire-scriere la blocuri individuale, nu există niciun motiv pentru care aceeași tehnologie nu poate fi aplicată segmentelor de fișiere.

Kryštof Vosyka avatar
drapel cn
De fapt, dacă datele nu sunt compensate cu întregul bloc, nu mai sunt prietenoase cu rsync. Cel puțin așa înțeleg eu.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.