algorytm.org

Algorytm XOR



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Algorytm XOR
Ocena użytkowników:***** / 68
SłabyŚwietny 
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:
  • 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.

Implementacje
AutorJęzyk
programowania
KomentarzOtwórzPobierzOcena
Krzysztof MaćkowiakC/C++
.cpp
.cpp
***** / 11
Mateusz PłaczekPhp
.php
.php
***** / 0
Nikodem SolarzRubyMetoda obliczająca.
.rb
.rb
***** / 0
 
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: 21 czerwca 2011 19:01
Dodaj komentarz