Hlavní obsah
XOR a Vernamova šifra
Proč musíme použít XOR?
Záleží vůbec na tom, zda s Vernamovou šifrou použijeme AND, OR nebo XOR? Odpověď zní ano, a je extrémně důležité pochopit proč. Z minulého článku si vybav, že AND má 75% pravděpodobnost mít na výstupu 0 a 25% pravděpodobnost mít na výstupu 1. Zatímco OR má 25% pravděpodobnost mít na výstupu 0 a 75% pravděpodobnost mít na výstupu 1. Naopak operace XOR má s 50% pravděpodobností na výstupu 0 nebo 1.
Podívejme se na vizuální příklad, abychom viděli efekt AND a OR oproti XOR při šifrování obrázku. Zde je na digitálním obrázku Charles Babbage:
Obsahuje tisíce malých vybarvených čtverečků, zvané pixely. Každý pixel na obrázku může být reprezentován jako 24 bitová sekvence, jak bylo ukázáno v předchozím článku. Toto je náš originální obrázek.
Nejdříve se podívejme, co se stane, zapůsobíme-li operátorem AND na každý bit obrázku sekvencí náhodných bitů.
AND
Všimni si, že většina původního obrázku prosvítá. To se stane pokud je na původní bit aplikován bit 1, nebo když je původní bit 0:
Nyní se podívejme, co se stane, zapůsobíme-li operátorem OR na každý bit obrázku sekvencí náhodných bitů.
OR
Všimni si, že většina původního obrázku prosvítá. To se stane pokud je na původní bit aplikován bit 0, nebo když je původní bit 1:
No a nakonec se podívejme, co se stane, zapůsobíme-li operátorem XOR na každý bit obrázku sekvencí náhodných bitů.
(Fanfáry, prosím…)
XOR
Kam Charles zmizel?
Všimni si, že původní obrázek prosvítá v 50 % případů, což vyústí v šum, neboť každý pixel má stejnou pravděpodobnost být 0 nebo 1.
Tento obrázek neobsahuje žádnou informaci o původním obrázku. Pokud bychom neposkytli „posunovací sekvenci“, náš klíč, bylo by nemožné z toho dostat původní obrázek. Mohl bys vyzkoušet všechny možné sekvence, ale to by dalo všechny možné obrázky! Jak bys mohl vědět, že to má být Babbage? Je stejně tak možné, že to byl obrázek tebe nebo čehokoliv jiného.
Všimni si, že původní obrázek prosvítá v 50 % případů, což vyústí v šum, neboť každý pixel má stejnou pravděpodobnost být 0 nebo 1.
Tento obrázek neobsahuje žádnou informaci o původním obrázku. Pokud bychom neposkytli „posunovací sekvenci“, náš klíč, bylo by nemožné z toho dostat původní obrázek. Mohl bys vyzkoušet všechny možné sekvence, ale to by dalo všechny možné obrázky! Jak bys mohl vědět, že to má být Babbage? Je stejně tak možné, že to byl obrázek tebe nebo čehokoliv jiného.
No není to zajímavé? Usmívám se pokaždé, když to vidím!
Dále si procvičme operace XOR, OR a AND a a přitom objevíme další zajímavé vlastnosti.
Chceš se zapojit do diskuze?
Zatím žádné příspěvky.