szyfrowanie趎ych algorytmem xor SSNKVKV7ORAT46DZFH7ZMCPCYKJBAUZFKRAKVYA


:: Szyfrowanie danych algorytmem XOR ::.

Metoda szyfrowania danych przy u偶yciu XOR'贸w, mimo niezbyt du偶ego

stopnia skomplikowania jest bardzo skuteczna. Nale偶y jednak najpierw

zrozumie膰, jak dzia艂a dwuargumentowa funkcja logiczna XOR (zwana te偶

inaczej alternatyw膮 wy艂膮czaj膮c膮). Zwraca ona warto艣膰 1 (true) tylko

wtedy, gdy jeden argument b臋dzie mia艂 warto艣膰 1 (true), a drugi 0

(false):

0 xor 0 -> funkcja zwr贸ci: 0

1 xor 0 -> funkcja zwr贸ci: 1

0 xor 1 -> funkcja zwr贸ci: 1

1 xor 1 -> funkcja zwr贸ci: 0

Aby skorzysta膰 z szyfrowania XOR, nale偶y najpierw zamieni膰

wprowadzone dane na zapis binarny.

Za艂贸偶my, 偶e nasze dane sk艂adaj膮 si臋 ze znak贸w ASCII. Ka偶dy znak

ASCII posiada sw贸j unikatowy (dziesi臋tny) kod liczbowy, kt贸ry mo偶emy

zapisa膰 w postaci dw贸jkowej.

Dla przypomnienia, zamiana liczby dziesi臋tnej na binarn膮 odbywa si臋

przez dzielenie tej liczby przez 2 i zapisywanie reszty z dzielenia.

Przyk艂adowa zamiana na system dziesi臋tny litery m (kod 109):

109/2 = 54 (r: 1)

54/2 = 27 (r: 0)

27/2 = 13 (r: 1)

13/2 = 6 (r: 1)

6/2 = 3 (r: 0)

3/2 = 1 (r: 1)

1/2 = 0 (r: 1)

Litera 'm' dw贸jkowo to wi臋c: 1101101. Poniewa偶 ka偶d膮 liter臋 zapisuje

si臋 standardowo przy pomocy 8 bit贸w, wrzucamy jeszcze jedno zero na

pocz膮tek i mamy: 01101101. W ten spos贸b zamieniamy binarnie ca艂y tekst.

Aby przyst膮pi膰 do szyfrowania niezb臋dne jest klucz (has艂o). R贸wnie偶

on musi zosta膰 zamieniony na posta膰 binarn膮.

SZYFROWANIE

Teraz dochodzimy do w艂a艣ciwego szyfrowania. Polega ono na

xorowaniu kolejnych bit贸w tekstu, kt贸ry chcemy zaszyfrowa膰, z

kolejny bitami klucza.

Przyk艂adowo:

Tekst: 0 1 1 0 1 1 0 1

Has艂o: 1 1 0 0 1 0 1 0

--------------------

Wynik: 1 0 1 0 0 1 1 1

W wyniku szyfrowania danych 01101101 otrzymali艣my: 10100111.

DESZYFRACJA

Warto zwr贸ci膰 uwag臋 na pewn膮 szczeg贸ln膮 cech臋 xorowania:

funkcja xor wykonana 2 razy na tych samych danych nie zmienia ich

(tzn. (A xor B) xor B -> funkcja zwr贸ci: A). Przyk艂ad:

A = 0

B = 1

A xor B = 1

1 xor B = 0 = A

Aby odszyfrowa膰 wi臋c dane wystarczy xorowa膰 bity zaszyfrowanych

danych z has艂em. Wracaj膮c jeszcze raz do naszego przyk艂adu:

Tekst: 1 0 1 0 0 1 1 1

Has艂o: 1 1 0 0 1 0 1 0

--------------------

Wynik: 0 1 1 0 1 1 0 1

Oczywi艣cie has艂a nie musz膮 (a nawet nie powinny!) zawiera膰 jedynie 8

bit贸w. Np. has艂o zawieraj膮ce 8 znak贸w b臋dzie sk艂ada艂o si臋 z 64

bit贸w, co daje nam ju偶 wzgl臋dne bezpiecze艅stwo. Je艣li dodatkowo w

algorytmie b臋dziemy tworzy膰 okre艣lone permutacje (kombinacje) bit贸w

z klucza (nawet tak banalne, jak czytanie ich od ty艂u), to szyfr

b臋dzie praktycznie nie do z艂amania.

Uwaga dla programuj膮cych w C/C++: aby xorowa膰 2 zmienne, nale偶y u偶y膰 symbolu: ^. Xorowanie zmiennych a i b b臋dzie wi臋c wygl膮da膰 tak: a^b



Wyszukiwarka

Podobne podstrony:
kurs-asembler-zlotowicz, [ Algorytmy: Szyfrowanie danych ]
API, kurs-api-robal, [ Algorytmy: Szyfrowanie danych ]
algorytmy szyfrowania 6ZVORK5MRXPQVQSTUQVRT3KX2XCXUYRNHNPZMXQ
Lab5 PARI i algorytmy szyfrowe v1 2
Wsp贸艂czesne algorytmy szyfrowania danych
TARCZA SAMARII Algorytm szyfrowania
Uk艂ady Nap臋dowe oraz algorytmy sterowania w bioprotezach
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
T臋tniak aorty brzusznej algorytm
Algorytmy rastrowe
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytmy tekstowe
Algorytmy i struktury danych Wyk艂ad 1 Reprezentacja informacji w komputerze
ALGORYTM EUKLIDESA

wi臋cej podobnych podstron