XOR šifra

Izvor: Wikipedija

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č.

Vanjske poveznice[uredi | uredi kôd]