If you're seeing this message, it means we're having trouble loading external resources on our website.

Dacă sunteţi în spatele unui filtru de web, vă rugăm să vă asiguraţi că domeniile *. kastatic.org şi *. kasandbox.org sunt deblocate.

Conţinutul principal

XOR și one-time pad

De ce trebuie să folosim XOR?

Chiar contează dacă utilizăm AND, OR sau XOR cu algoritmul de criptare one-time pad? Răspunsul este da și este foarte important să înțelegem de ce. Reamintește-ți din articolul precedent că operația AND are o probabilitate de 75% să returneze 0 și o probabilitate de 25% să returneze 1. În același timp, operația OR are o probabilitate de 25% să returneze 0 și o probabilitate de 75% să returneze 1, iar operația XOR are o probabilitate de 50% să returneze 0 sau 1.
Să ne uităm la un exemplu pentru a observa diferite efecte de codare ale operațiilor AND vs. OR vs. XOR criptând o imagine. Aceasta este o poza digitală a lui Charles Babbage:
Ea conține mii de pătrățele colorate numite pixeli. Fiecare pixel din această imagine poate fi reprezentat ca o secvență de 24 de biți, așa cum am văzut în articolul precedent. Să numim această imagine plaintext (sau mesajul de criptat)
Mai întâi, să vedem ce se întâmplă când aplicăm operația AND pentru fiecare bit din imagine folosind o secvență de biți aleatorii.

AND

Observăm că cea mai mare parte a mesajului original (imaginea originală) se poate identifica în rezultat. Acest lucru se întâmplă oricând se aplică o deplasare aleatorie cu 1 sau când plaintext-ul (mesajul în clar) este 0:
În continuare, să vedem ce se întâmplă când aplicăm operația SAU pentru fiecare bit din imagine folosind o secvență de biți aleatorii.

OR

Observăm că cea mai mare parte a mesajului original (imaginea originală) se poate identifica în rezultat. Acest lucru se întâmplă oricând se aplică o deplasare aleatorie cu 0 sau când plaintext-ul (mesajul în clar) este 1:
În cele din urmă, să vedem ce se întâmplă când aplicăm operația XOR pe fiecare bit din imagine folosind o secvență de biți aleatorii.
(moment de suspans...)

XOR

Unde a dispărut Charles?
Îți amintești că fiecare bit avea o probabilitate ca în 50% din cazuri să corespundă cu bit-ul folosit în secvența de deplasare? Aceasta duce la apariția de zgomot ca urmare a faptului că fiecare pixel este la fel de probabil să fie 0 sau 1.
Această imagine nu conține nicio informație din imaginea originală. Dacă nu am furniza secvența de deplasare, ar fi imposibilă inversarea procesului pentru a obține imaginea originală. Ai putea încerca fiecare secvență posibilă, dar asta ar duce la generarea fiecărei imagini posibile! Cum poți ști că inițial a fost o imagine cu Babbage? Este la fel de probabil să fi fost o poză cu tine sau orice altă poză la care te poți gândi.
Nu ți se pare interesant? Mă face să zâmbesc de fiecare dată când o văd!
În continuare, hai să ne antrenăm cu operațiile XOR, OR și AND și să descoperim câteva proprietăți interesante....