Puncte:4

Este GCM cu AAD de lungime zero mai puțin sigur?

drapel in

Într-un precedent întrebare, s-a clarificat că, în cazul GCM, nu există nicio distincție între „fără AAD” și „AAD de lungime zero”. Deoarece am observat „AAD cu lungime zero” în mai multe implementări, întrebarea mea este, face ca astfel de scheme AE să fie mai puțin sigure?

În diferitele lucrări care tratează securitatea AE, cred că lucrarea Reconsiderarea compoziției generice de către Namprempre, Rogaway și Shrimpton ar fi putut fi cel mai explicit în acest sens. Conform enumerarii schemei lor nAE, prima schemă care arată limite de securitate mai slabe este A9, unde A (adică AAD) este eliminat din calculul Tag (vezi Fig. 5). Acum, desigur, ei menționează că este un caz limită (de tranziție). Dar ei precizează că securitatea sa nu este la fel de strictă ca schemele A1-A8 (toate includ A în calculul etichetei). Am încercat să cercetez alte lucrări pe această temă, dar nu am găsit o lucrare care să ofere un tratament similar.

Deci, dacă AAD lipsește din GCM (sau dacă |AAD|=0), securitatea GCM este retrogradată în vreun fel sau este dovada noastră de securitate puțin mai slabă? Sau, nu este aceasta o concluzie pe care ar trebui să o luăm din lucrarea lui Namprempre de mai sus (presupunând că rezultatele lor au fost acceptate de comunitatea cripto)?

kelalaka avatar
drapel in
După cum [a menționat](https://chat.stackexchange.com/transcript/message/59377989#59377989): GCM este A5 pe hârtie.
kelalaka avatar
drapel in
GCM nu acceptă noAAD.În GCM, AAD cu lungime zero este convertit la 128 de zerouri. Acest lucru este clar din răspunsul anterior și din documentul NIST. **Întotdeauna există un AAD! în GCM** Destinatarul, prin urmare, poate respinge orice AAD gol ca fals. Aceasta oferă o verificare suplimentară, deoarece AAD este autentificat, dar nu criptat. Dacă cereți să modificați CGM pentru a elimina AAD, atunci aceasta este o schemă diferită.
hlayhel avatar
drapel in
Citesc diferit răspunsul anterior. De exemplu, el spune: „Dacă AAD-ul este de lungime zero, atunci se adaugă zero biți de umplutură și nu se petrece timp pentru hashing niciun AAD sau AAD padding”. De aici concluzionez că AAD cu lungime zero este convertit la zero biți de zero, nu 128 de biți de zero. Cred că restul răspunsului lui este mai clar. Dacă |AAD|=0, atunci len(A)=0, v=0 și 0^v=0, „**astfel numărul de â0â biți atașați este 0**”. Apoi concluzionează că „dacă A este gol, atunci prefixul Aâ¥0^v este și el gol”. Aceasta înseamnă că toate componentele A în crearea GHASH sunt goale (A, 0^v, len(A)).
kelalaka avatar
drapel in
Da, este corect, $A || 0^v$ este goală, cu toate acestea, lungimea este codificată pe 64 de biți, astfel încât să se poată decoda ca AAD gol. Deci, totuși, există întotdeauna AAD în GCM.
kelalaka avatar
drapel in
Chiar și AAD gol oferă o mică opțiune de oprire împotriva eliminării AAD de la un adversar. Atât de eficient, nu sunt.
hlayhel avatar
drapel in
Văd. Deci componenta [len(A)]64 rămâne. Am verificat documentul NIST; ei definesc [x]64 ca reprezentare binară a întregului x (în acest caz, x=0) ca un șir de 64 de biți. Deci, cred că trebuie să fiu de acord. Încă o clarificare de la autorul răspunsului anterior, dacă puteți, am fost puțin confuz în legătură cu prima sa afirmație „AES-GCM nu acceptă âfără AADâ, diferit de âAAD de lungime zeroâ" . Am citit cumva ca, în cazul GCM, nu facem o distincție între „fără AAD” și „AAD de lungime zero”. Am citit greșit?
kelalaka avatar
drapel in
Niciun ADD ar trebui să fie așa ceva; nu există informații disponibile despre AAD, chiar și lungime sau un singur bit. Totuși, în acest caz, inexistența AAD poate indica faptul că este șters sau deja nu AAD. Schema ar trebui să distingă acest lucru. GCM pur și simplu codifică lungimea și nu permite noAAD (sau putem spune că convertește noADD în AAD cu lungime zero).
hlayhel avatar
drapel in
Am înţeles. Deci, no-AAD aici înseamnă că nu există informații despre AAD, nu că logica AAD este abandonată. Cred că suntem de acord acum. Mulțumesc pentru timpul acordat!
Puncte:1
drapel in

AES-GCM se încadrează în categoria A5 în lucrare. În AES-GCM nu acceptă $\texttt{no-AAD}$, chiar dacă nu utilizați AAD în timpul criptării, AES-GCM îl convertește ca a $\texttt{lungime-zero-AAD}$.

Vezi în NIST Publicația specială 800-38d, pagina 15;

Algoritmul 4: $GCM-AE_K (IV, P, A)$
â¦
4. Lasă $u = 128\cdot\lceil\operatorname{len}(C)/128\rceil - \operatorname{len}(C)$ si lasa $v = 128\cdot\lceil\operatorname{len}(A)/128\rceil - \operatorname{len}(A)$.
5. Definiți un bloc, $S$, după cum urmează: $$S = \operatorname{GHASH}_H(\mathbf{A \mathbin\| \mathtt 0^v} \mathbin\| C \mathbin\| \mathtt 0^u \mathbin\| \mathbf{[\operatorname{ len}(A)]_{64}} \mathbin\| [\operatorname{len}(C)]_{64}).$$ â¦
În pașii 4 și 5, AAD și textul cifrat sunt atașate fiecare cu un număr minim de â$\mathtt 0$â biți, eventual nici unul, astfel încât lungimile de biți ale șirurilor rezultate să fie multipli ai dimensiunii blocului (Aldinele sunt ale mele).

$A$ sunt date asociate, $len(A) = 0$ prin urmare, $\mathtt{v} = 0$. Chiar și în acest caz, avem $[\operatorname{len}(A)]_{64}$, această codificare pe 64 de biți a lungimii datelor asociate și aceasta va indica întotdeauna existența AAD, cu lungimea zero sau nu!.

Dacă un atacator elimină datele asociate, pentru a le face să pară de lungime zero, în timpul decriptării, trebuie să se oprească cu nepotrivirea etichetei (Opriți întotdeauna și opriți decriptarea imediat).

O schemă care acceptă no-AAD, nu trebuie să conțină informații despre AAD lipsă, altfel se încadrează în AAD de lungime zero.

În cele din urmă, avem protecție suplimentară împotriva falsurilor cu AAD de lungime zero.

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.