Puncte:1

Funcția Hash AES-CBC Rezistență la coliziune

drapel mp

Folosesc AES-CBC ca funcție hash care criptează un bloc de lungime n. Blocurile, m = (m1, m2, ..., mn). IV-ul are o lungime de un bloc și cheia de criptare are lungimea de 128, 192 sau 256 de biți.

Voi primi ciocniri? Și dacă da, cum aș putea găsi exemple?

Mă aștept să găsesc coliziuni la fiecare 2^(n/2) hashe-uri, dar nu îmi imaginez că acest lucru mi-ar permite să găsesc potriviri în următorii 10000000 de ani.

kelalaka avatar
drapel in
Bun venit la Cryptography.SE. Care este originea acestei întrebări? De ce trebuie să faci hash cu PRP în loc de PRF? Luați în considerare câte criptări AES-CBC poate executa mașina dvs. într-o secundă, apoi puteți decide timpul necesar pe o singură mașină, omițând în același timp să construiți un hashTable pentru a găsi coliziunea în mod eficient.
kelalaka avatar
drapel in
Interesant este că dacă criptezi un singur bloc, ce vei obține?
drapel mp
Cu AES, hash-ul va fi textul cifrat al ultimului bloc de mesaje.Va depinde de găsirea unui hash la fiecare 2^(n/2) sau la fiecare 2^(128|192|256)/2?
kelalaka avatar
drapel in
Un cifru bloc este o familie de permutări în care o cheie selectează una dintre permutări. Acesta este efectul real al cheii secrete!. Deci ai o permutare fixă.
drapel mp
Ah, înțeleg, deoarece AES este o funcție injectivă, presupun că nu ar exista coliziuni, dar acest slide pe care l-am găsit indică altfel. Care este interpretarea ta? Pagina 73. http://ce.sharif.edu/~b_momeni/ce441/15-crypto-sym.pdf
kelalaka avatar
drapel in
Dacă criptați un bloc, nu există nicio coliziune, totuși, după un bloc, veți avea.
drapel mp
Ciocnirile au loc între ultimele blocuri de text cifrat pe două mesaje text clar. Nu sunt sigur că urmez
drapel mp
Ty v mult :) +20 de credite sociale
Puncte:2
drapel my

Folosesc AES-CBC ca funcție hash care criptează un bloc de lungime n. Blocurile, m = (m1, m2, ..., mn). IV are o lungime de un bloc și cheia de criptare are lungimea de 128, 192 sau 256 de biți.

Întrebări:

  • Care este cheia? Este reparat în avans sau este ceva secret? BTW: dacă este „ceva secret”, nu aveți o funcție hash standard (unde întreaga decriptare este publică; este posibil să aveți un MAC, dar vedeți mai jos).

  • Care este ieșirea hash? Este întregul mesaj criptat sau este doar ultimul bloc.

Iată posibilitățile:

  • Dacă cheia este fixată în avans, iar hash-ul este întregul mesaj criptat, atunci, desigur, nu veți avea niciodată o coliziune (pentru că puteți decripta și primi mesajul original înapoi - nu ați putea face asta dacă ar exista o coliziune) . Desigur, un hash care este atât de lung cât mesajul original nu este foarte interesant.

  • Dacă cheia este fixată în avans, iar hash-ul este ultimul bloc, atunci este ușor să creați coliziuni (și preimagini) - tot ce trebuie să facă atacatorul pentru a genera o preimagine este să formuleze mesajul (cu excepția unui bloc), să inserați starea de început cunoscută (IV) și starea finală (hash-ul țintă) și lucrează spre mijloc - starea necesară a aceluiași bloc nespecificat poate fi găsită cu ușurință.

  • Dacă cheia este necunoscută și hash-ul este ultimul bloc, aceasta este de fapt construcția cunoscută sub numele de CBC-MAC. Pentru mesajele cu lungime fixă, este un cod decent de autentificare a mesajelor - cu toate acestea, dacă atacatorul poate varia lungimea mesajului, el poate veni cu falsuri și coliziuni.

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.