StartAlgorytmyKryptografiaAlgorytm XOR
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Algorytm XOR
Ocena użytkowników:++++- / 3
SłabyŚwietny 
Wpisany przez Krzysztof Maćkowiak
czwartek, 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:
  • 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
Metody kryptoanalizy: Zliczanie koincydencji.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Krzysztof Maćkowiak C/C++
Implementacja w C/C++
Implementacja w C/C++
++++- / 2
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: wtorek, 21 czerwca 2011 19:01

Dodaj komentarz

Kod antysapmowy
Odśwież