inne
XOR
Jedna z bitowych operacji logicznych stanowiących podstawę kryptografii. Daje w wyniku jedynkę dla dwóch różnych bitów, zero dla dwóch identycznych. Jeśli zapiszemy tę operację jako A XOR B = C to tablica wyników będzie wyglądać następująco:
A B C
0 0 0
1 0 1
0 1 1
1 1 0
XOR można łatwo zrealizować przy pomocy operacji logicznych OR, AND i NAND:
XOR = (A NAND B) AND (A OR B)
Istotną cechą funkcji XOR jest jej przemienność, w kontekście kryptografii zwana symetrycznością.
A XOR B = C
C XOR B = A
C XOR A = B
Cecha ta powoduje, że XOR jest chętnie wykorzystywany do szyfrowania - wystarczy dodać za jego pomocą bit klucza (K) do bitu tekstu jawnego (P), by otrzymać bit kryptogramu (C). Odszyfrowanie polega na dodaniu klucza do kryptogramu - wynikiem jest tekst jawny. Można to zapisać następująco:
Szyfrowanie: P XOR K = C
Deszyfrowanie: C XOR K = P
Operację XOR wykorzystują bardzo często szyfry strumieniowe. Wiąże się z tym jednak pewne niebezpieczeństwo, niekiedy nie zauważane przez autorów oprogramowania szyfrującego. Weźmy dwa teksty jawne P i Q, zaszyfrowane tym samym tajnym kluczem K:
P XOR K = C1
Q XOR K = C2
Uzyskaliśmy dwa kryptogramy C1 i C2. Ich przechwycenie przez atakującego nie powinno dać mu żadnych informacji o tekście jawnym bez znajomości klucza K. Jednak w tym przypadku tak nie jest! Spójrzmy co stanie się po dodaniu tych dwóch tekstów do siebie:
C1 XOR C2 = (P XOR K) XOR (K XOR Q) = P XOR Q
W wyniku uzyskuje się więc dwa teksty jawne P i Q, "sklejone" za pomocą XOR. Tajny czynnik w postaci klucza K został wyeliminowany, a rozdzielenie tekstów P i Q jest relatywnie proste. Przykładowy zrzut przedstawia tekst w języku polskim (P) xorowany z ciągiem liter "e" (Q). Widać wyraźnie regularności, a znając całość lub fragmenty Q atakujący może łatwo odzyskać tekst jawny P (czyli byłby to atak z wybranym tekstem jawnym).

..: Powiększ :..
Podsumowując: nie wolno stosować tego samego klucza do szyfrowania szyfrem strumieniowym więcej niż raz. Jeśli musimy zastosować ten sam klucz wiele razy, dodawajmy do niego za każdym razem inny modyfikator salt.
Źródło:
http://ipsec.pl/leksykon/xor.php