Specyfika wykorzystania funkcji XOR w kryptografii

2008-10-25 00:00:00 +0100


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. Inne nazwy: exclusive OR, różnica symetryczna, dodawanie modulo 2. Symbolem jest plus w okręgu ($\oplus$). Jeśli zapiszemy operację XOR jako $A \oplus B = C$ to tablica wyników będzie wyglądać następująco:

ABC
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 \oplus B = C$ $C \oplus B = A$ $C \oplus 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: