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
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?