Wpisany przez Krzysztof Maćkowiak,
18 sierpnia 2005 00:08
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żliwym do złamania (binarna wersja algorytmu algorytm XOR).
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 (zamiana tekstu na wartość binarną) należy zamienić zarówno tekst jawny jak i hasło na postać binarną. Teraz można uruchomić procedurę.
Poziom bezpieczeństwa:
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żliwym do złamania (binarna wersja algorytmu algorytm XOR).
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 (zamiana tekstu na wartość 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 pewnych warunków (one-time pad) - bezwarunkowo bezpieczny
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Krzysztof Maćkowiak | C/C++ | .cpp | .cpp | ***** / 11 | |
Mateusz Płaczek | Php | .php | .php | ***** / 0 | |
Nikodem Solarz | Ruby | Metoda obliczająca. | .rb | .rb | ***** / 0 |
Poprawiony: 21 czerwca 2011 19:01