Puncte:2

OTP este încă perfect sigur dacă limităm spațiul pentru mesaje și cheie

drapel cn

Dacă avem un spațiu de mesaje M {0,1,2,3,4,5,6} și, de asemenea, spațiul de taste este K = {0,1,2,3,4,5,6} (generator alese taste uniforme k)

Definim criptarea noastră ca fiind XOR al reprezentanței lor pe biți pe K și M folosind 4 biți {0000, 0001, 0010, 0011, 0100, 0101, 0110}

Acesta este un bloc de o singură dată, nu? Pentru că facem XOR și folosim cheia a de aceeași lungime.

Totuși, aici mesajul și spațiul de taste sunt reprezentate folosind 4 biți; este, de asemenea, limitată la valori din intervalul inclusiv de la 0000 la 0110.

Încalcă asta secretul perfect în vreun fel? Secretul perfect spune, indiferent de informațiile anterioare cunoscute de atacator, textul cifrat nu va scurge informații suplimentare.

Puncte:21
drapel my

Încalcă asta secretul perfect în vreun fel?

Da, evident. Restricționarea spațiului de mesaje nu strica în niciun fel (atacatorul nu poate obține informații suplimentare despre mesaj, chiar dacă știe deja destul de multe despre el); restricționarea cheii face.

OTP folosește o operațiune de grup pentru a combina mesajul și cheia; un lucru pe care trebuie să-l asume este că membrii grupului care alcătuiesc cheia sunt aleși în mod uniform aleatoriu dintre toate elementele posibile ale grupului - cu exemplul dvs., acesta nu este cazul.

Mai exact, dacă vedem în textul cifrat valoarea 0111, putem deduce din aceasta că valoarea corespunzătoare de text simplu nu este 0000; la urma urmei, pentru ca acesta să fie cazul, valoarea cheie ar fi fost 0111, și știm că nu este cazul. Acestea sunt valorile pe care atacatorul le poate deduce nu sunt mesajul, iar aceasta este o încălcare a secretului perfect.

Acum, dacă ați avut mesajul și cheia constând din valori de la 0 la 6, lucrul evident de făcut este să schimbați operația de grup la „adăugare modulo 7”; adică pentru a cripta, adaugi mesajul la cheie, iar apoi dacă acea valoare este 7 sau mai mult, scade 7 - asta îți dă textul cifrat. Și, pentru a decripta, faci „scădere modulo 7”; scădeți cheia din textul cifrat și, dacă acea valoare este negativă, adăugați 7. Aceasta este o operație de grup perfect validă și, deoarece toate valorile cheii sunt posibile (și probabil echiprobabile), ea poate satisface cerințele secretului perfect.

Jack avatar
drapel cn
Bună, de ce dacă valoarea ciphertext 0111 știm că textul simplu nu va fi 0000? Este pentru că cheia și mesajul nu pot fi aceleași? Totuși, dacă nu restricționăm spațiul de cheie la același set de valori ca și spațiul de mesaje, așa cum s-a menționat mai sus, ar fi permis acest lucru? Sunt confuz.
Chris Peikert avatar
drapel in
Textul cifrat 0111 nu poate avea subiacent text simplu 0000, deoarece 0111 nu este o cheie permisă în sistemul pe care l-ați prezentat; textul simplu 0000 ar putea produce doar text cifrat 0111 dacă cheia era 0111.
SAI Peregrinus avatar
drapel si
De asemenea, aș reține că o operație modulo naivă folosind o scădere condiționată așa cum este descrisă poate duce la o scurgere de date pe canalul lateral. „Secretul perfect” matematic nu este încălcat, dar secretul din lumea reală poate fi!
poncho avatar
drapel my
@SAIPeregrinus: da; Am scris metoda „evidentă” pentru că mă așteptam ca OP să aibă un fundal matematic relativ minim (și scuze dacă am greșit) - o implementare reală ar dori să folosească metode mai bune (dar mai greu de explicat)
Nobody avatar
drapel in
@SAIPeregrinus Ce canal lateral? Putere/timp? Da, sigur, dar asta e atât de departe de întrebarea de aici încât la început am fost destul de confuz de comentariul tău.
drapel jp
Așadar, doar pentru a fi clar: ceea ce face ca această schemă să fie nesigură este de fapt *nu* *reducerea* a spațiului de chei, așa cum se pune în întrebare, ci *distribuirea* cheilor. Corect?
poncho avatar
drapel my
@JörgWMittag: este corect; modificarea distribuției astfel încât toate valorile cheie să fie posibile, dar unele să aibă probabilități diferite, ar scurge unele informații probabilistice despre textul simplu.
fgrieu avatar
drapel ng
Pentru o secretizare perfectă cu aceste mesaje și spațiu de taste, ceva apropiat de OTP original este $C\gets(K-M)\bmod7$ [C = (K+7-M)%7` în C] cu decriptare de $M\gets( K-C)\bmod7$ [M = (K+7-M)%7` în C]. Acest lucru are avantajul că criptarea și decriptarea sunt aceleași, ca în OTP tradițional.
Jack avatar
drapel cn
Sunt puțin confuz cu ceea ce înseamnă k uniform aleatoriu când se spune că k = {0000, 0001, 0010, 0011, 0100, 0101, 0110} dacă este uniform aleatoriu, nu ar trebui să fie ok? @poncho
Jack avatar
drapel cn
@ChrisPeikert, dar cum ar fi atacatorul că cheia nu este permisă în spațiul specificat? sunt confuz
Chris Peikert avatar
drapel in
@Jack Urmăm principiul lui Kerckhoff și presupunem că adversarul cunoaște toți algoritmii și distribuțiile (ale cheii și mesajului), dar nu cheia aleasă în sine. Acest lucru se reflectă de fapt în definiția formală a secretului perfect.
Jack avatar
drapel cn
@ChrisPeikert Cum este valabil exemplul de a avea 0111? Când spunem că atât k, cât și m sunt {0000, 0001, 0010, 0011, 0100, 0101, 0110}. nu poți avea niciodată un mesaj 0111
Chris Peikert avatar
drapel in
@Jack Cheia reală și mesajul ar putea fi 0110 și 0001 (respectiv), făcând textul cifrat 0111. Când interceptătorul vede acest text cifrat, poate deduce că mesajul nu era 0000. Cu toate acestea, înainte ca textul cifrat să fie trimis, 0000 era posibil. mesaj. Împreună, aceasta este o încălcare a secretului perfect.

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.