Puncte:1

Estimarea entropiei cheilor derivate din numere cu adevărat aleatorii

drapel ua

NOTĂ: Această întrebare se bazează pe presupunerea mea că $X$ este un „număr cu adevărat aleatoriu” dacă și numai dacă lungimea lui măsurată în biți este egală cu entropia măsurată în biți.Cu alte cuvinte, când fiecare bucată de $X$ a fost generat de o aruncare aleatorie de monede.

Să presupunem că am un număr cu adevărat aleatoriu $R$ cu dimensiunea de 256 de biți (256 de biți de entropie) și un număr cu adevărat aleatoriu $S$ de lungime n $ * 256 $, Unde $n$ este un număr natural, așa că are n $ * 256 $ biți de entropie.

Acum obțin patru chei $T_1$ la $T_4$ din $R$

  • $T_1 = \text{concat}(R, \text{... de n ori ...}, R)$
  • calculati $t_1 = \text{sha256}(R)$, $t_2 = \text{sha256}(t_1)$, ..., $t_n = \text{sha256}(t_{n-1})$, si fa $T_2=\text{concat}(t_1, ..., t_n)$.
  • $T_3$ este calculat la fel ca mai sus, dar folosind HMAC în loc de sha256.
  • $T_4 = \text{hkdf_expand}(R, \text{null}, n * 256 / 8)$.

În sfârșit, calculez $K_i = T_i\text{ xor }S$.

Câți biți de entropie are $K_1$, $K_2$, $K_3$ și $K_4$ avea?

Presupunerile mele fericite:

  • $T1$ va avea tot atâtea entropie cât $R$, deoarece concatenarea prin repetare nu crește entropia ieșirii, dar bănuiesc că nici nu o va scădea.
  • $\text{sha256}$ și $\text{HMAC}$ se crede că păstrează biții de entropie ai intrării, dar deoarece procesul de construcție $T_2$ și $T_3$ se calculează determinist din $R$, entropia lui $T_2$ și $T_3$ va fi aproximativ echivalent cu $T1$.
  • Nici o idee despre $T_4$. Bănuiesc că beneficiile $\text{hkdf_expand}$ intră atunci când intrarea sa nu este un număr cu adevărat aleatoriu.

Cam fiecare $K_i$, Nu sunt sigur. Am aflat recent că XORting două numere cu adevărat aleatorii dă un număr cu adevărat aleatoriu, deci biții de entropie ai ieșirii sunt încă lungimea sa, dar deoarece $T_i$Nu mai sunt numere cu adevărat aleatorii, nu știu ce se va întâmpla aici.

Intuiția mea îmi spune că entropia de $S$ va fi păstrat (n $ * 128 $ biți), pentru că $K_i$ este echivalent cu criptare $T_i$ folosind $S$ ca o cheie unică, făcând $T_i$ sau $S$ teoretic indestructibil, deci $K_i$ este încă un număr cu adevărat aleatoriu.

Paul Uszak avatar
drapel cn
Bună! Err, sunt confuz. Puteți simplifica întrebarea, având în vedere că aveți acces la numere cu adevărat aleatorii? Ce incerci sa faci?
sanscrit avatar
drapel ua
@PaulUszak Mi-am înlocuit nota finală cu propriile mele presupuneri, ca exemplu al nivelului de detaliu pe care îl aștept.
sanscrit avatar
drapel ua
@PaulUszak Putem spune că întrebarea mea este în mare parte teoretică.
fgrieu avatar
drapel ng
Probleme A) \[snip, întrebare remediată\]. B) HMAC are nevoie de o cheie. C) Strict vorbind, "Câți biți de entropie au $K_1$, $K_2$, $K_3$ și $K_4$?" întreabă ceva discutabil, deoarece șirurile de biți nu au entropie (sau nu au niciuna); _procesul_ care le construiește are o entropie bine definită.D) Entropia proceselor care construiesc $K_1$, $K_2$, $K_3$ și $K_4$ depinde dacă $R$ și $S$ sunt independente. În mod afirmativ, este \[hint snipped excesiv\] datorită „Calcul $K_i=T_i\text{ xor }S$” și $T_i$ fiind o funcție a $R$.
sanscrit avatar
drapel ua
@fgrieu Am vrut să spun că fiecare $T_i$ depinde în întregime de $R$; și da, știu că entropia depinde de proces, nu de număr. Pot obține numărul 5 printr-o alegere aleatorie sau prin 2 + 3, unde 2 și 3 sunt numere aleatoare, sau prin 2 + 3, unde 2 și 3 sunt numere cunoscute. Primul proces va avea 3 biți de entropie, cel de-al 2-lea proces probabil și el (o presupunere de-a mea, pentru că adăugarea de numere aleatoare schimbă distribuția statistică, dar este totuși un proces aleatoriu), iar al treilea proces 0 biți de entropie.
sanscrit avatar
drapel ua
@fgrieu și da, fiind mai precis acum, întrebarea mea a fost despre ce se întâmplă cu entropia procesului până la fiecare $K_i$ când folosesc lucruri precum concat, sha256 sau hkdf_expand peste o cheie cu mai puțină entropie ($R$) combinată mai târziu cu o cheie cu mai multă entropie ($S$), dar da, după primul tău comentariu, înțeleg că XORting nu distruge entropia în măsura în care $S$ și $T_i$ nu au nicio legătură, deci faptul că $R$ are mai puțină entropie decât $S$ nu riscă securitatea lui $K_i$.
Puncte:1
drapel ng

XORing două numere cu adevărat aleatoare dă un număr cu adevărat aleatoriu

Nu. Contraexemplu: $S$ uniform aleatoriu, $S\oplus S$ este șirul de biți complet zero de aceeași dimensiune ca $S$, și nu este uniform aleatoriu (cu excepția cazului în care $S$ este gol).

Ceea ce tine este: XORing doi independent valori de aceeași dimensiune, dintre care cel puțin unul este un număr cu adevărat aleatoriu, dă un număr cu adevărat aleatoriu.

În exercițiu, $S$ este uniform aleatoriu și $T_i$ depinde doar de $R$ (și o cheie nedeclarată pentru HMAC în cazul $T_3$, dar haideți să ignorăm asta), și totul vizează $R$ fiind independent de $S$. Prin urmare $T_i$ fiind independent de $S$.

Cele de mai sus, dimensiunea lucrurilor și $K_i$ fiind construit ca $K_i=T_i\oplus S$, sunt suficiente pentru a concluziona despre

câți biți de entropie are $K_1$, $K_2$, $K_3$ și $K_4$ avea

iar acesta este lăsat ca exercițiu cititorului.

sanscrit avatar
drapel ua
Mulțumesc. Pot concluziona că, din moment ce am deja numere cu adevărat aleatorii ca intrare, pentru a extinde $R$ pentru a construi $T_i$, operațiuni mai complexe și mai costisitoare din punct de vedere computațional, cum ar fi sha256 sau hkdf_expand, nu îmi oferă nimic (având în vedere că le voi face XOR cu $S $ mai târziu) și doar repetarea $R$ (pentru a construi $T_1$) este suficient?
fgrieu avatar
drapel ng
@sanscrită. Ideea este că, indiferent de procesul care construiește un $T_i$ de aceeași dimensiune cu $S$ și independent de $S$ uniform aleatoriu (inclusiv, construiește $T_i$ ca o funcție de $R$ independent de $S$ ), se poate concluziona despre entropia în $K_i=T_i\oplus S$. Nu este exact ceea ce spui mai sus. În special, nu vă pasă că $R$ este uniform aleatoriu, doar că este independent de $S$ (și că $S$ este uniform aleatoriu).

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.