Puncte:0

Algoritmul Grover pentru AES în modul CBC

drapel in

Buna ziua,
Mă întrebam dacă teoretic este posibil să folosim alrogithm Grover pentru a sparge AES în modul CBC. Să presupunem că am ~ 1000 de perechi text simplu/ciphertext și lungimea cheii este de 128 de biți. M-am gandit asa:

  1. Pentru fiecare pereche de text simplu și text cifrat, utilizați numai primii 16 octeți de text simplu și primii 16 octeți de text cifrat. (Vor fi etichetate ca Pn, Cn unde n este perechea a n-a)
  2. Scrieți setul de ecuații cu o variabilă necunoscută - cheie. (Cheia este etichetată ca K)
    AES-128d(C1, K) â AES-128d(C2, K) = P1 â P2
    AES-128d(C3, K) â AES-128d(C4, K) = P3 â P4
    AES-128d(C5, K) â AES-128d(C6, K) = P5 â P6
    ...
    AES-128d este funcția de decriptare AES-128
    â este XOR
  3. Utilizați algoritmul Grover pentru a găsi K din ecuațiile date mai sus. Dacă se găsește cheia, determinarea IV este ușoară folosind această ecuație:
    AES-128d(C1, K) = P1 â IV

Poate fi folosit algoritmul Grover pentru a inversa setul de ecuații de la pasul 2? De câte perechi text clar/cifrat ar trebui să determin în mod unic cheia și IV pentru lungimi de cheie de 128, 192 și 256 de biți?

Puncte:0
drapel us

Algoritmul lui Grover ar funcționa împotriva CBC. Vrei să spui că ai câteva mii de mesaje text simplu/cifrat, fiecare cu propriul IV?

Nu sunt sigur ce faci la pasul 2. Cred că, în general, IV-ul este considerat parte a textului cifrat, așa că dacă ai textul cifrat, ai IV-ul și apoi ajungi cu ecuații precum:

AES-128$_d$(C$_1$, K) = IV $\oplus$ P$_1$

AES-128$_d$(C$_2$, K) = C$_1 \oplus$ P$_2$

etc.

Pentru algoritmul lui Grover, deoarece cunoașteți partea dreaptă și cunoașteți intrarea pentru decriptarea AES, puteți căuta în spațiul lui K și, pentru oracol, utilizați un circuit pentru a efectua decriptarea AES a lui C.$_1$, C$_2$, etc. și comparați cu valoarea din partea dreaptă.

Pentru aproape siguranța că valoarea returnată K este corectă, veți avea nevoie doar de 2 blocuri pentru AES-128 (adică doar C$_1$ și C$_2$ dintr-un mesaj), 2 blocuri pentru AES-192 și 3 blocuri pentru AES-256. În general, dacă utilizați $r$ blocuri, fiecare cu $n$ biți și cu o cheie de $k$ biți, probabilitatea ca căutarea lui Grover să găsească cheia corectă este de aproximativ $e^{-2^{k-rn}}$. Astfel, dacă $k < rn$, vi se garantează, practic, rezultatul corect (consultați secțiunea „Taste false” de la pagina 4 din această hârtie pentru o derivare).

pajacol avatar
drapel in
Am vrut să spun că IV-urile sunt la fel și știu doar primii 16 octeți ai fiecărui text simplu, dar numărul acestor perechi de 16 octeți este în jur de 1000.
Sam Jaques avatar
drapel us
Ah, așa că ați putea să verificați doar AES-128$_d$(C$_1$, K)=IV$\oplus$ P$_1$ pentru fiecare mesaj. Cred că răspunsul meu ar fi același, dar ați folosi C$_1$/P$_1$ din 2 sau 3 dintre perechile de 16 octeți.
Puncte:0
drapel my

$\text{AES-128}_d(C_1, K) \oplus \text{AES-128}_d(C_2, K) = P_1 \oplus P_2$

Asta nu presupune că cele două texte cifrate au același IV? De obicei, nu.

În orice caz, chiar dacă nu cunoașteți niciunul dintre IV-urile, atunci o metodă mai simplă ar fi dacă aveți un mesaj de două blocuri cunoscut cu text simplu $(P_a, P_b)$ și un text cifrat corespunzător $(C_a, C_b)$, atunci

$$\text{AES-128}_e(P_b \oplus C_a, K) = C_b$$

Acest lucru este valabil indiferent de ce a fost folosit IV.

Poate fi folosit algoritmul Grover pentru a inversa setul de ecuații de la pasul 2?

Presupun. Cu toate acestea, dacă tot ceea ce aveți este o serie de mesaje cu un singur bloc, trebuie să presupuneți că toate IV-urile sunt la fel. Dacă sunt necunoscute și aleatorii, atunci nu poți deduce nimic.

pajacol avatar
drapel in
Ar trebui să clarific că am vrut să spun că IV-urile sunt într-adevăr aceleași și cunosc doar primii 16 octeți ai fiecărui text clar.

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.