Witam, mam przygotować szyfr vernama na lekcje, jednak nie rozumiem zbytnio, jego działania, ponieważ niektóre źródła podają, iż do szyfrowania potrzebny jest operator xor, a w innych szyfr tworzony jest po prostu przez dodawanie poszczególnych liter z tekstu jawnego i klucza. Mógłby mi ktoś to rozjaśnić ? Z góry dziękuje .
https://isaaccomputerscience.org/concepts/data_encrypt_vernam
Dodawanie poszczególnych liter z tekstu jawnego i klucza to jest to samo co XOR
masterc napisał(a):
Dodawanie poszczególnych liter z tekstu jawnego i klucza to jest to samo co XOR
XOR jest jakby nieco zawężone. W ogólności masz dodawanie modulo cokolwiek (w praktyce modulo rozmiar alfabetu), a XOR to dodawanie modulo 2, więc robisz wszystko na bitach (bo musisz mieć rozmiar alfabetu == 2). Ale wychodzi na jedno.
Hehehe chodzi o to że umawiasz się ze mną, że np liczba 1 = A, 2 = B i tak aż do Z
Jutro ustalamy że liczba 5 = A, 6 = B i też tak aż do Z
Wtedy bardzo łatwo taki szyfr odkodować bo robisz przesuniecie XOR o 4 liczby i patrzysz czy coś wychodzi sensownego , jakieś zdanie.
Dlatego żeby to skomplikować możemy użyć kart jednorazowej że do dodatkowo że 5 = A ale dodajemy sobie do tego liczbę 3 czyli wychodzi nam 8 a pod 8 mamy literkę D
dla B = 6 dodajemy liczbę na przykład 8 czyli = 14 , a pod 14 mamy literkę J
W ten sposob zakodujemy wyraz za każdym razem zmieniając dodając liczbę czyli już nie da się tylko przesunąć XOR bitów i odczytywać wadomości ale trzeba znać kartę kodów na dany dzień. wiec jak wezmiesz literkę
J i ona ma liczbe 14 a wiesz ze masz odjac 8 to wyjdzie ci 6 czyli B a tylko osoby co maja jednorazowa karte kodow wiedza od jakiej literki trzeba odjac ile. :)
i ta operacja dodawanie modulo , przesuniecie bitow to wlasnie XOR