Puncte:0

De ce trebuie să folosim PRG-uri pentru a genera numere aleatorii pentru un bloc unic?

drapel fr

Mă uit la următoarea idee pentru utilizarea unei chei simetrice pentru a cripta mai multe mesaje (comunicare dus-întors între Alice și Bob). Poate fi rezumat astfel:

  • Ambele părți sunt de acord asupra unei chei
  • Ambele părți generează $2^n$ biți folosind un PRG (care cred că este însămânțat cu cheia). Deoarece PRG-urile sunt deterministe, ambele părți au același lucru $2^n$ biți.
  • Când o parte dorește să cripteze mesajul, ei aleg k indici aleatori, unde k este lungimea mesajului și xor mesajul cu biții de la aceștia k indici. Ei transmit mesajul și indicii.
    • Atacatorul nu cunoaște biții de bază, așa că a avea indici este inutil
  • Cealaltă parte primește indicii/mesajul și efectuează procesul invers ca mai sus

vizualizarea schemei

Ceea ce sunt confuz este necesitatea PRG-ului. De exemplu: de ce ambele părți nu sunt de acord să repete cheia (care este secretă pentru atacator) pentru $\frac{2^n}{k}$ ori unde k este lungimea cheii.

Având în vedere că atacatorul nu cunoaște cheia, aceasta ar trebui să fie în siguranță, nu?

Teoretic: ambele părți ar putea fi de acord să facă {1, 2, 3, 4 ... $2^n$} biții „aleatorii”, deoarece, dacă au capacitatea de a negocia pe o cheie secretă partajată, ar trebui să aibă și capacitatea de a negocia o modalitate de a genera buffer-ul, nu?

kelalaka avatar
drapel in
Acest lucru nu este cu adevărat un singur pad în care cheia este uniformă aleatorie. De fapt, biții $2^n$ sunt rezultatul PRG pentru a reduce comunicarea. Nu mi-a plăcut ideea, în schimb, pot avea un stream cipher și indexul este IV, iar cheia este fixă, astfel încât să nu fie nevoie să stocați ieșirea PRG-ului. Întrebarea dvs. este, în esență, înșelată de [Profitați de reutilizarea unică a tastelor de tastatură?](https://crypto.stackexchange.com/q/59/18298)
Puncte:2
drapel ru

Se numește One Time Pad dintr-un motiv: ar trebui să-l folosești o singură dată. Dacă repeți aceeași cheie în două părți diferite ale textului simplu, acest lucru este efectiv ca și cum ai reutiliza cheia, ceea ce duce la probleme. Mai exact, dacă ai două mesaje $m_1$ și $m_2$ criptat cu aceeași cheie $k$ la fel de $m_1\oplus k$ și $m_2\oplus k$, un atacator poate XOR aceste două criptări împreună pentru a anula cheia și a obține $m_1\oplus m_2$, care, deși nu dezvăluie $m_1$ nici $m_2$ direct, este suficient pentru a afla ceva despre aceste valori.

O alternativă nu este să reutilizați cheia, ci să folosiți o cheie atât de lungă cât mesajul. Cu toate acestea, acest lucru ar fi foarte costisitor, așa că folosim un PRG pentru a putea „porni” o cheie mai scurtă într-o cheie nouă, care nu se poate distinge de aleatorie și, în același timp, este atât de lungă cât mesajul.

fgrieu avatar
drapel ng
Adăugare: și când folosim un PRG „pentru a genera numere aleatorii pentru un One-Time-Pad”, acesta nu mai este un adevărat One Time Pad. Devine un cifr de flux și nu mai este sigur din punct de vedere teoretic.

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.