Szyfr Vigenere’a

Działanie szyfru Vigenere’a oparte jest poniższej tablicy:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

  

Dodatkowo proces szyfrowania wymaga użycia klucza. Poszczególne litery słowa klucz wskazują z którego wiersza następuje przypisanie zaszyfrowanego odpowiednika danemu znakowi. I tak jeżeli chcemy zaszyfrować pojedynczą literę L wykorzystując słowo klucz KENNEDY uzyskamy literę V. Wynika to z faktu, że litera V leży na przecięciu wiersza rozpoczynającego się literą K i kolumny rozpoczynającej się literą L. Gdyby należało zakodować kolejną literę np. E w procesie kodowania należałoby wykorzystać kolejną literę klucza E uzyskując w odpowiedzi I.

Poniżej zaprezentowano przykład kodowania zdania „LE TELEPHONE ROUGE” szyfrem Vigenere’a z użyciem wspomnianego klucza KENNEDY:

L

E

T

E

L

E

P

H

O

N

E

R

O

U

G

E

K

E

N

N

E

D

Y

K

E

N

N

E

D

Y

K

E

V

I

G

R

P

H

N

R

S

A

R

V

R

S

Q

I

Dla realizacji praktycznej łatwiej w tej sytuacji posłużyć się prostym wzorem:

y =(x+K(i)) mod m

y – zakodowany znak

x – znak poddawany kodowaniu

K(i) – kolejny znak klucza

m – ilość znaków w alfabecie

Uwaga: Wartość liczbową odpowiadającą danemu znakowi przyjmujemy zgodnie z poniższą tabelą:

A

B

C

D

E

F

G

H

I

J

K

L

M

0

1

2

3

4

5

6

7

8

9

10

11

12

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

13

14

15

16

17

18

19

20

21

22

23

24

25

Dekodując wiadomości zaszyfrowane szyfrem Vigenere’a najlepiej posłużyć się kluczem odwrotnym do klucza użytego podczas kodowania. Wyznacza się go korzystając z następującej zależności:

K2(i) = [26 – K(i)] mod 26

K2(i) – kolejne znaki klucza przy deszyfrowaniu

K(i) – kolejne znaki słowa klucza

Uwaga: Wartość liczbowe odpowiadającą danym znakom przyjmujemy zgodnie z powyższą tabelą

Tak uzyskany klucz K2 wykorzystujemy jakbyśmy kodowali wiadomość z tą różnicą, że kodowanie takie wykonujemy na zaszyfrowanej wiadomości. Sam proces „kodowania” (dekodowania) jest zgodny z poniższą zależnością :

x =(y+K2(i)) mod m

Poniżej zamieszczono aplikację realizującą szyfrowanie / deszyfrowanie tą metodą.