XOR šifra
U kriptografiji, XOR šifra je tip supstitucijske šifre, enkripcijskog algoritma koji radi na principu :
- A 0 = A,
- A A = 0,
- (A B) C = A (B C),
- (B A) A = B 0 = B,
gdje označava XOR operaciju. Ova se operacija nekada naziva zbrajanje s bazom 2 (ili oduzimanje, što je identično). S ovom logikom, tekst može biti šifriran primjenjujući XOR operator na svaki bit. Za dešifriranje, dovoljno je obrnuti XOR operator. U ovom primjeru, riječ "Wiki" (01010111 01101001 01101011 01101001 u 8-bitnom ASCII-u) šifrira se s ključem 11110011 :
01010111 01101001 01101011 01101001 11110011 11110011 11110011 11110011 = 10100100 10011010 10011000 10011010
I obrnuto, za dešifriranje :
10100100 10011010 10011000 10011010 11110011 11110011 11110011 11110011 = 01010111 01101001 01101011 01101001
XOR operator je često korišten u kompleksnijim enkripcijama. Ako se prilikom šifriranja koristi kratak ključ (stalno se ponavlja), šifra se može razbiti frekvencijskom analizom. Ako se sadržaj poruke može pogoditi, ključ je lako otkriti. Njegova primarna vrijednost je u tome što je XOR jednostavan za korištenje. Ako je ključ slučajan i barem jednako dug kao poruka, XOR šifra je mnogo sigurnija od ponavljanja ključa u šifri. Ako je ključ uistinu slučajan, resultata je neslomljiv čak i u teoriji. U svim ovim teorijama, XOR šifra je osjetljiva na "napad poznatim tekstom", zato što je čisti tekst šifrirani tekst = ključ.
- Dešifriranje jednostavne XOR šifre Arhivirana inačica izvorne stranice od 16. studenoga 2009. (Wayback Machine)
- XOR šifriranje
- primjeri koda za XOR šifru Arhivirana inačica izvorne stranice od 23. lipnja 2012. (Wayback Machine)