|
|
Nazwa: Algorytm XOR
Rodzaj szyfru: Podstawieniowy
Historia i zastosowanie: Operacja ta jest częścią składową wielu rozbudowanych algorytmów kryptograficznych jak np. DES (Data Encryption Standard). Operacja ta sama w sobie stanowi również prosty algorytm szyfrowania, który nie zapewnia jednak większego bezpieczeństwa. Jednak przy spełnieniu kilku bardzo ważnych warunków może stanowić, mimo swej prostoty, algorytm niemożliwy do złamania (binarna wersja algorytmu one-time-pad).
Opis metody: Oprócz tej nazwy możemy spotkać się z takimi nazwami jak alternatywa wykluczająca lub binarne sumowanie mod 2. W matematyce oznaczana jest często przez symbol krzyżyk w kółeczku. Operacja ta wygląda następująco:
0 XOR 0 = 0
1 XOR 1 = 0
0 XOR 1 = 1
1 XOR 0 = 1
Należy pamiętać, że w wyniku podwójnego wykonania operacji XOR otrzymamy tekst jawny. Zatem:
M XOR K = C
C XOR K = M
Czyli:
(M XOR K) XOR K = M
W wyniku tego mamy tylko jedną procedurę, zarówno do szyfrowania jak i do deszyfrowania.
Przykład:
Szyfrowanie
Tekst jawny: 0100 1010
Hasło: 0100 1000
Szyfrogram: 0000 0010
Deszyfrowanie
Szyfrogram: 0000 0010
Hasło: 0100 1000
Tekst jawny: 0100 1010
Opis procedury: Przed uruchomieniem procedury należy utworzyć 3 pliki. W jednym zapisać tekst jawny, który ma zostać zaszyfrowany. W drugim musimy umieścić hasło, z którym będziemy szyfrować. Trzeci plik jest pusty i stanowi plik wynikowy. Następnie korzystając z procedur pomocniczych (procedura zamieniająca tekst na postać binarną), należy zamienić zarówno tekst jawny jak i hasło na postać binarną. Teraz można uruchomić procedurę.
Poziom bezpieczeństwa:
* Dla krótkich kluczy - niski
* Dla kluczy długich (powyżej 160-bitów) - średni
* Przy spełnieniu określonych warunków (one-time-pad) - bezwarunkowo bezpieczny
Metody kryptoanalizy: Zliczanie koincydencji.
Procedura szyfrująca/deszyfrująca

|
|