Puncte:0

Este criptarea multiplă cu modul XTS susceptibilă la atacurile Meet-in-the-middle?

drapel pf

Să presupunem că criptez ceva cu AES-256 în XTS mod de două ori (vor fi 4 patru chei, câte 2 pentru fiecare operațiune de criptare), dorind să se obțină 512 biți de securitate.

Va fi susceptibilă această schemă Atacurile de întâlnire la mijloc?

Întreb acest lucru deoarece există mai multe operațiuni în modul XTS decât doar criptarea directă a textului simplu.

Puncte:2
drapel cn

Răspunsul scurt este „da, această configurație este vulnerabilă”. Dacă vrei ceva matematică, poți citi mai jos o explicație.

În XTS două chei sunt independente, deci are deja securitate pe 512 biți (deocamdată nu există atacuri care să scadă acest număr*). Deci, voi explica de ce folosirea criptării duble în modul XTS nu crește Securitate.

Să ne uităm îndeaproape la ecuația de criptare cu modul XTS: $$ c_i = f(m_i, (K_1, K_2)) = T_i\oplus E_{K_1}(m_1)\oplus T_i \ T_i=E_{K_2}(SN)\otimes\alpha^{i-1} $$ Unde $SN$ este un număr de sector, $(K_1,K_2)$ - chei de criptare, $m_i, c_i$ - blocuri de text simplu și respectiv de text cifrat și $\alpha$ este elementul primitiv al $GF(2^l)$ ($|m_i|=l$).

Acum să luăm în considerare o funcție de criptare cu criptare bloc: $$ E_K=\pi_{q_{r+1}}\circ\varphi_{q_r}\circ... \circ\varphi_{q_1}\circ\delta_{q_0} $$ Unde $r$ este un număr de runde, $q_i,i=\overline{1,r}$ sunt chei rotunde (derivate din cheia de criptare folosind un set special de funcții numite „programarea cheilor”), $\varphi_{q_i},i=\overline{1,r}$ sunt funcții rotunde, $\pi_{q_{r+1}}, \delta_{q_0}$ sunt funcții de ieșire și, respectiv, de intrare cu tastele lor (aceste două funcții pot să nu depindă de tastă).

Existența acestor funcții de intrare și ieșire este cheia întrebării dvs. Să luăm în considerare un cifru bloc cu următoarea ecuație de criptare: $$ E_{K_1,K_2} = \underbrace{\pi'_{q_{r+1}}\circ \pi^{\varepsilon}_{q_{r+1}}}_{\pi_{q_{r+1}}} \circ\overbrace{\varphi^{\varepsilon}_{q_r}\circ... \circ\varphi^{\varepsilon}_{q_1}}^{\varphi_{q_r}\circ... \circ\varphi_{q_1}} \circ\underbrace{\delta^{\varepsilon}_{q_0}\circ \delta'_{q_0}}_{\delta_{q_0}},\ q_0=q_{r+1}=(K_2,SN) $$ Unde $\varphi^{\varepsilon}_{q_i}=\varphi_{q_i}, i=\overline{1,r}$ - funcții rotunde ale unui cifru bloc de bază $\varepsilon$ (AES în cazul dvs.), $\pi^{\varepsilon}_{q_{r+1}}, \delta^{\varepsilon}_{q_0}$ - funcțiile de ieșire și de intrare ale cifrului bloc de bază și $\pi'_{q_{r+1}}(x)=E_{K_2}(SN)\oplus x$, $\delta'_{q_0}(x)=E_{K_2}(SN)\oplus x$.

Există unele probleme cu această ecuație în cazul dependenței reale de $\pi^{\varepsilon}_{q_{r+1}}$ și $\delta^{\varepsilon}_{q_0}$ pe tastele lor (care sunt diferite), dar pot fi eliminate cu ușurință prin alegerea corectă a funcțiilor cheie de program. Nu voi face asta deocamdată pentru a preveni complexitatea excesivă.

În cele din urmă, am primit un cifr de bloc construit pe deasupra celui existent prin modificarea funcțiilor de ieșire și de intrare.


În cel mai simplu caz de atac Meet-in-the-middle, creați două tabele: $$ s_i = E_{K_1,K_2}(m_i) \ s'_i = E^{-1}_{K'_1,K'_2}(c_i) $$

După aceea cauți valori egale $s_i=s'_i$. Acest algoritm este potrivit pentru orice cifru bloc și pentru cel al nostru, așa că construcția, care a fost construită chiar acum, este vulnerabilă la acest atac, doar pentru că XTS nu adaugă nimic special la cifrul bloc, adică puteți considera criptarea în modul XTS ca bloc. -criptare înțeleaptă, când fiecare bloc este criptat cu propria sa cheie.

Cunoscând numărul sectorului și poziția blocului, construiți două tabele așa cum este descris mai sus pentru acest bloc și aflați cheile de criptare. În cel mai rău caz, trebuie să enumerați toate perechile de chei $(K_1, K_2)$ de două ori. Deci asimptotic nu există o creștere a securității.


* - există un atac, care vă permite să obțineți fiecare tweak, atunci când există două blocuri diferite în același sector cu o anumită condiție hold pentru texte cifrate și texte clare, dar nu recuperează o cheie de tweak. Puteți citi mai multe despre acest atac în comentariile publice pe XTS-AES.

phantomcraft avatar
drapel pf
Mulțumesc pentru explicație.

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.