background image

Kryptograficzna

przygoda

01010 10001 11000 01111 10011 
01110 00110 10001 00000 00101 

01000 00010 11001 01101 00000
01111 10001 11001 11000 00110

01110 00011 00000

czyli całkiem inne szyfrowanie…

Autor:

phm. Michał Starosta HO

7 DSH „Cerber” im. gen. S.F. Sosabowskiego 

Hufiec ZHP Nowy Tomyśl

cerber7zsh@op.pl

Spis tre

ś

ci

background image

I.

II.

III.

IV.

V.

Czy nie zastanawiali

ś

cie si

ę

?...

Co b

ę

dzie nam potrzebne

Zaczynamy zabaw

ę

Szyfr zmieniaj

ą

cy alfabet

Szyfr Vigenere’a
Szyfr Playfair’a

Robi si

ę

 powa

ż

nie;-)

ECB
CBC
CFB
Szyfr Feistella

Wytaczamy ostatni

ą

 armat

ę

Szyfr afiniczny

Pomoce matematyczne
Dodawanie binarne – dodawanie inaczej
Permutacja – z czym si

ę

 to je

Macierz – to bardzo proste
Modulo – czy kto

ś

 mi grozi?

3
3

4
4
8

13

15
15
19
23
28

33
33

37
37
37
37
38

Czy nie zastanawialiście się?...

www.wedrownik.net 

2

background image

Czy nigdy si

ę

 nie zastanawiali

ś

cie nad pewnymi brakami w rozwoju technik harcerskich? W

zasadzie wi

ę

kszo

ść

 technik harcerskich mo

ż

emy rozwija

ć

 w zale

ż

no

ś

ci od wieku. Wiele, ale

nie   szyfry.   Tak   jak   uczymy   si

ę

  ich   na   samym   pocz

ą

tku   naszej   przygody   harcerskiej,   tak

zazwyczaj  nic nowego ju

ż

 pó

ź

niej nie poznajemy. Proste szyfry harcerskie nie s

ą

 

ż

adnym

wyzwaniem dla harcerzy starszych, nie wspominaj

ą

c o w

ę

drownikach.

Mo

ż

e   pora   to   zmieni

ć

.   Chciałbym   zaproponowa

ć

  mał

ą

  wycieczk

ę

  w   krain

ę

  kryptografii.

Potrzebny przy tym aparat matematyczny nie b

ę

dzie wymagaj

ą

cy – humani

ś

ci nie musz

ą

 si

ę

obawia

ć

.

Do  cz

ęś

ci  szyfrów podam metody ich  łamania. Do  tej  pory przy  harcerskich  szyfrach  nie

mieli

ś

my takiej mo

ż

liwo

ś

ci, gdy

ż

 znajomo

ść

 rodzaju szyfru była równoznaczna z mo

ż

liwo

ś

ci

ą

jego   rozszyfrowania.   Do   nowych   szyfrów   potrzebny   zawsze   b

ę

d

ą

  jakie

ś

  dodatkowe

informacje. I łamanie szyfru b

ę

dzie zazwyczaj równoznaczne z ich kre

ś

leniem.

Co będzie nam potrzebne

Pierwszy grupa nowych szyfrów jakie b

ę

d

ą

 w nast

ę

pnym rozdziale zaprezentowane nie b

ę

d

ą

od nas wymagały 

ż

adnych przekształce

ń

 matematycznych – wystarcz

ą

 odpowiednie tabele i

b

ę

dziemy mogli szyfrowa

ć

 i deszyfrowa

ć

 wiadomo

ś

ci.

Do   szyfrów   z   drugiej   grupy   potrzebna   nam   b

ę

dzie   tabela   zapisu   liter   w   postaci

zerojedynkowej lub mówi

ą

c inaczej binarnej. Na szcz

ęś

cie szyfry te nie b

ę

d

ą

 wymagały od

nas 

ż

adnych skomplikowanych oblicze

ń

. Wystarczy par

ę

 prostych działa

ń

 matematycznych.

Do  pracy  z pozostałymi  szyframi  przyda  si

ę

 nam  kalkulator. My

ś

l

ę

,  

ż

e  nie jest  to  bardzo

uci

ąż

liwe wymaganie, gdy

ż

 wi

ę

kszo

ść

 z nas posiada telefony komórkowe z kalkulatorem w

bonusie. Tutaj potrzebne b

ę

d

ą

 nam tak

ż

e pewne poj

ę

cia z matematyki wy

ż

szej – operacja

modulo (bez strachu to wbrew pozorom bardzo łatwe).
Cała teoria matematyczna zostanie umieszczona dla przejrzysto

ś

ci na ko

ń

cu poradnika – na

pocz

ą

tku mogłaby za bardzo straszy

ć

;-)

Dodam jeszcze, 

ż

e przy opisach działania i łamania szyfrów nie b

ę

d

ę

 rozpisywał  si

ę

 jaka

teoria matematyczna pozwala na takie, a nie inne działania. Nie chc

ę

 aby ten poradnik był

zbyt podobny do ksi

ą

zki z matematyki. Ka

ż

da metoda b

ę

dzie krok po kroku tłumaczona na

konkretnym   przykładzie   –   zamiast   przebijania   si

ę

  przez   teorie   od   razu   zobaczycie   jak

działaj

ą

 konkretne metody.

Ciekawskich zach

ę

cam do poszperania po ksi

ąż

kach (wybór literatury jest naprawd

ę

 du

ż

y,

nawet dla pocz

ą

tkuj

ą

cych), a reszt

ę

 do zabawy nieskr

ę

powanej teori

ą

 matematyczn

ą☺

Zaczynamy zabawę

www.wedrownik.net 

3

background image

Szyfr zmieniający alfabet

Fachowo   powiedzieliby

ś

my   –   szyfr   permutuj

ą

cy   alfabet.   Pierwszy   szyfr   i   ju

ż

  dziwne

matematyczne słowo;-) Ale aby nie bawi

ć

 si

ę

 w nadmierne tłumaczenie definicji permutacji

wystarczy przyj

ąć

ż

e zasada działania szyfru polega na zamianie kolejno

ś

ci liter alfabetu.

Jak to wygl

ą

da?

SZYFROWANIE – DESZYFROWANIE – ŁAMANIE SZYFRU

Aby zaszyfrowa

ć

 wiadomo

ść

 musimy utworzy

ć

 alfabet tajny – czyli zmieni

ć

 kolejno

ść

 liter w

alfabecie. W praktyce wygl

ą

da to tak, 

ż

e zapisujemy najpierw wszystkie litery w klasycznej

kolejno

ś

ci, a pó

ź

niej ka

ż

dej z nich przyporz

ą

dkujemy wybrana przez nas liter

ę

.

Wa

ż

ne 

– nowo przyporz

ą

dkowane litery nie mog

ą

 si

ę

 powtarza

ć

!!!

Poni

ż

sza tabelka jest przykładem takiego nowego przyporz

ą

dkowania.

www.wedrownik.net 

4

background image

a

m

f

k

m

t

ś

y

ą

c

g

i

n

ó

t

p

b

g

h

ć

ń

ą

u

z

c

a

i

ę

o

s

www.wedrownik.net 

5

background image

Wadą tej metody jest to, że każdy przy odrobinie cierpliwości może złamać taki szyfr. Zaletą
zaś jest jej łatwość i możliwość zastosowania w różnych zabawach harcerskich – nawet dla
harcerzy młodszych. 

Szyfr Vigenere’a

Zanim   przejd

ę

  do   omawiania   szyfru   Vigenere’a   przypomn

ę

  szyfrowanie   metod

ą

Cezara. Ten szyfr zna wi

ę

kszo

ść

 harcerzy. W podanym tek

ś

cie, wybieramy jako klucz

cyfr

ę

  nie   wi

ę

ksz

ą

  ni

ż

  26   lub   32   (w   zale

ż

no

ś

ci   czy   stosujemy   angielski   czy   polski

alfabet).   I   wszystkie   litery   naszego   tekstu   przesuwamy   o   t

ą

  warto

ść

  na   prawo   w

alfabecie. Deszyfrowanie analogicznie z tym, 

ż

e przesuwamy litery w lewo.

ż

nica   pomi

ę

dzy   szyfrem   Cezara,   a   Vigenere’a   jest   taka,  

ż

e   w   tym   drugim

przypadku rol

ę

 klucza pełni nie cyfra ale wyraz. 

Aby nie musie

ć

 co chwila oblicza

ć

 jaka litera jest nast

ę

pn

ą

 o podan

ą

 ilo

ść

 pozycji,

b

ę

dziemy stosowa

ć

 tablic

ę

 Vigenere’a.

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

A

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

www.wedrownik.net 

6

background image

V

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

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

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

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

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

Wskazówka
-   w   przypadku   tego   szyfru   polecam   stosowanie   alfabetu   angielskiego,   gdy

ż

  dzi

ę

ki

temu mo

ż

emy u

ż

ywaj

ą

c tylko jednej tablicy, by szyfrowa

ć

 teksty w wi

ę

kszo

ś

ci j

ę

zyków

- je

ś

li chcemy szyfrowa

ć

 tekst z polskimi literami musimy odpowiednio rozbudowa

ć

nasz

ą

 tabel

ę

Maj

ą

c ju

ż

 tabelk

ę

 mo

ż

emy przyst

ą

pi

ć

 do nauki jak funkcjonuje ta metoda.

SZYFROWANIE – DESZYFROWANIE – ŁAMANIE SZYFRU

Jak ju

ż

 zostało wspomniane, jako klucza u

ż

ywa

ć

 b

ę

dziemy wyrazu, a nie jednej litery. 

Gdy tekst przeznaczony do szyfrowania jest dłu

ż

szy ni

ż

 nasz klucz, to musimy wyraz klucz

wpisa

ć

 pod naszym tekstem jawnym tyle razy ile si

ę

 zmie

ś

ci.

W poni

ż

szym przykładzie u

ż

ywamy jako klucza słowa 

dom

.

www.wedrownik.net 

7

background image

h
a
r
c
e
r
z

s
z
e
d
l

p
r
z
e
z

d
o
m
d
o
m
d

o
m
d
o
m

d
o
m
d
o

Taki zapis oznacza, 

ż

e do szyfrowania litery 

h

 u

ż

yjemy liter

ę

 

d

o

 dla 

a

m

 dla 

r

 itd. Ale jak

teraz   zastosowa

ć

  nasz

ą

  tabel

ę

?   W   pierwszym   wierszu   szukamy   liter

ę

,   któr

ą

  chcemy

zaszyfrowa

ć

, a wi

ę

c w naszym przypadku 

h

. W pierwszej kolumnie szukamy liter

ę

 z klucza,

a wi

ę

d

. Przeci

ę

cie si

ę

 wiersza i kolumny przyporz

ą

dkowuje nam zaszyfrowan

ą

 liter

ę

 – 

k

.

www.wedrownik.net 

8

background image

A
B
C
D
E

F

G

H

I

A
A
B
C
D
E

F

G

H

I

B
B
C
D
E

F

G

H

I

J

C
C
D
E

F

G

H

I

J

K

D
D
E

F

G

H

I

J

K

L

E

www.wedrownik.net 

9

background image

Metoda ta jest do

ść

 pracochłonna, ale po paru próbach łamanie szyfru powinno post

ę

powa

ć

do

ść

 szybko. Istnieje przy niej ryzyko popełnienia pewnej ilo

ś

ci bł

ę

dów literowych lub pomyłki

podczas liczenia. 

www.wedrownik.net 

10

background image

Szyfr Playfaira

B

ę

dzie  to ostatni  szyfr z pierwszej  grupy. Niestety tutaj  nie podam metody jego łamania,

gdy

ż

 jest zbyt pracochłonna. Ale pomimo to jest on wart uwagi.

SZYFROWANIE – DESZYFROWANIE 

Równie

ż

 ten szyfr opiera si

ę

 na stosowaniu odpowiedniej tabelki. Jednak aby j

ą

 stworzy

ć

,

potrzebne  jest  nam  słowo  klucz  . Szyfr  ten powstał  w  oparciu  o  słowo  

playfair

  (st

ą

d   ta

nazwa). Nic nie stoi jednak na przeszkodzie, aby u

ż

ywa

ć

 dowolnego słowa klucza.

Ż

eby   utworzy

ć

  odpowiedni

ą

  tabelk

ę

  (5x5)   wpisujemy   słowo   klucz   z   pomini

ę

ciem

powtarzaj

ą

cych si

ę

 liter. Wa

ż

ne jest tak

ż

e to, 

ż

e litery 

i

 i 

j

 traktujemy jako jedn

ą

. Pozostałe

wolne miejsca w tabeli uzupełniamy (w kolejno

ś

ci alfabetycznej) brakuj

ą

cymi literami.

P

L
A
Y
F

I/J
R
B
C
D

E
G
H
K
M

N
O
Q
S
T

U
V
W
X
Z

Metod

ę

 t

ą

 omówi

ę

 na przykładzie szyfrowania słowa 

konna policja

. Wiem, 

ż

e lepiej brzmi

policja konna, ale na potrzeby prezentacji działania szyfru zamieniłem ogólnie przyjmowan

ą

kolejno

ść

.

Krok I.
Dzielimy nasz tekst na pary liter. Je

ś

li w parze wyst

ę

puj

ą

 te same litery, to oddzielamy je

liter

ą

 

x

. Gdyby okazało si

ę

ż

e ostatnia litera nie ma pary to tak

ż

e dopisujemy do niej 

x

.

www.wedrownik.net 

11

background image

ko
n

x

n
a
p
o
li
cj
a

x

Krok II.
Teraz stosujemy 3 zasady szyfrowania.

1. Je

ś

li   obie   litery   znajduj

ą

  si

ę

  w   tym   samym   wierszu,   to   zast

ę

pujemy   je   literami

stoj

ą

cymi   po   ich   prawej   stronie.   Je

ś

li   nasza   litera   tekstu   jawnego   jest   na   ko

ń

cu

wiersza, to zamiast niej wstawiamy t

ą

 z samego pocz

ą

tku.

2. Je

ś

li   obie   litery   znajduj

ą

  si

ę

  w   tej   samej   kolumnie,   to   zast

ę

pujemy   je   literami

znajduj

ą

cymi si

ę

 pod nimi. Je

ś

li nasza litera tekstu jawnego jest na dole kolumny, to

zamiast niej wstawiamy t

ą

 z samej góry.

3.

Je

ś

li litery znajduj

ą

 si

ę

 w ró

ż

nych wierszach i kolumnach to zamiast nich wstawiamy

litery z tego samego wiersza, ale z kolumny drugiej litery w parze.

Stosuj

ą

c te 3 zasady otrzymamy nast

ę

puj

ą

cy szyfr.

ko
nx
n
a
p
o
li
cj
ax

gs
su
q
p
ln
pr
dr
y
w

A wi

ę

c ostatecznym efektem naszego szyfrowania jest tekst 

gssuqplnprdryw

.

●●●

Deszyfrowanie jest zwykłym odwróceniem zasad 1-3. Sprawdzimy to na przykładzie
szyfru 

qbbdgiuz

.

www.wedrownik.net 

12

background image

qb
bd
gi
uz

qb

 – obie litery nale

żą

 do jednej kolumny. Odwracaj

ą

c zasad

ę

 2 przyporz

ą

dkowujemy im litery

b

ę

d

ą

ce nad nimi i otrzymujemy – 

ha

bd

 – obie litery nale

żą

 do jednego wiersza. Odwracaj

ą

c zasad

ę

 1 przyporz

ą

dkowujemy im litery

b

ę

d

ą

ce po ich lewej stronie i otrzymujemy – 

rc

gi

 – obie litery le

żą

 w ró

ż

nych wierszach i kolumnach wi

ę

c stosuj

ą

c zasad

ę

 3 uzyskamy par

ę

 – 

er

uz

 – obie litery nale

żą

 do jednego wiersza. Odwracaj

ą

c zasad

ę

 1 przyporz

ą

dkowujemy im litery

b

ę

d

ą

ce po ich lewej stronie i otrzymujemy –

 zx

Po pozbyciu si

ę

 symboli 

x

 w naszych parach liter, otrzymujemy wiadomo

ść

 – 

harcerz

.

Zalet

ą

  tej   metody   jest   jej   prostota   oraz   fakt,  

ż

e   nie   potrzebujemy   do   niej  

ż

adnych

dodatkowych   pomocy   ani   tabelek.   Potrzebn

ą

  nam   tabelk

ę

  szyfruj

ą

c

ą

  mo

ż

emy   stworzy

ć

sobie sami. Wad

ą

 jest niestety brak mo

ż

liwo

ś

ci łamania tego systemu – niestety wymaga to

zbyt du

ż

ej ilo

ś

ci czasu.

www.wedrownik.net 

13

background image

Robi się poważnie;-)

Szyfry dla zapisu zerojedynkowego

S

ą

 to ciekawe szyfry daj

ą

ce ciekawe mo

ż

liwo

ś

ci. Co bardzo wa

ż

ne nie wymagaj

ą

ce 

ż

adnych

wielkich zdolno

ś

ci  matematycznych  –  a na tym nam przecie

ż

 zale

ż

y:-) Zanim przejd

ę

  do

omawiania dokładnych metod, krótkie wyja

ś

nienie jak zapisujemy wyrazy u

ż

ywaj

ą

c tylko cyfr

0   i   1.   Potrzebujemy   do   tego   tabelk

ę

  przedstawiaj

ą

c

ą

  przyporz

ą

dkowanie   kodu

zerojedynkowego dla ka

ż

dej litery alfabetu.

Litera

Kod

Litera

Kod

Litera

Kod

a

00000

j

01001

s

10010

b

00001

k

01010

t

10011

c

00010

l

01011

u

10100

d

00011

m

01100

v

10101

e

00100

n

01101

w

10110

f

00101

o

01110

x

10111

g

00110

p

01111

y

11000

h

00111

q

10000

z

11001

i

01000

r

10001

Do pierwszych trzech szyfrów nie podam metod ich łamania. Poradnik ten ma by

ć

 w ko

ń

cu

jak najmniej matematyczny. Na szcz

ęś

cie nadrobimy to przy ostatniej metodzie z tej grupy.

ECB (Elektronic Code Book)

Najprostszy z tej grupy szyfrów. Dzi

ę

ki temu jest doskonały nawet dla harcerzy młodszych.

Dobrze tez si

ę

 sprawdza na grach terenowych ze wzgl

ę

du na szybko

ść

 pracy z nim. 

.

SZYFROWANIE – DESZYFROWANIE – ŁAMANIE SZYFRU

Działanie tej metody (tak jak i wcze

ś

niejszych) omówimy na konkretnym przykładzie. Dla

wzrokowców zał

ą

czam jeszcze schemat działania tego szyfru. Cho

ć

 osobi

ś

cie s

ą

dz

ę

ż

e

łatwiej b

ę

dzie pracowa

ć

 nam przy u

ż

yciu tabelki. Ale wszystko po kolei:-)

Schemat szyfrowania

www.wedrownik.net 

14

background image

Do zaszyfrowania wybierzemy słowo 

harcerz

Krok I.
Zapisujemy litery w systemie zerojedynkowym.

h
a

r

c

e

r

z

00111
00000
10001
00010
00100
10001
11001

Krok II.
Teraz   pora   na   zaszyfrowanie   naszej   wiadomo

ś

ci.   Dokonamy   tego   zmieniaj

ą

c   kolejno

ść

symboli w blokach tekstu (poddaj

ą

c je permutacji – wyja

ś

nienie poj

ę

cia w rozdziale V na

stronie 37)
W naszym przykładzie u

ż

yjemy nast

ę

puj

ą

cej permutacji –  

(124)

. A wi

ę

c pierwszy symbol

przeniesiemy na drug

ą

 pozycj

ę

, drugi na czwart

ą

, czwarty na pierwsz

ą

, a trzeci pozostanie

na swoim miejscu. Aby tego dokona

ć

 musimy nasz ci

ą

g 0 i 1 podzieli

ć

 na bloki o długo

ś

ci 4

elementów (ilo

ść

 permutowanych elementów).

0011
1000
0010
0010
0010
0010
0100
0111
001

Krok III.
Jak   wida

ć

  ostatni   blok   jest   krótszy.   W   takiej   sytuacji   brakuj

ą

ce   pozycje   uzupełniamy

odpowiedni

ą

 ilo

ś

ci

ą

 zer.

www.wedrownik.net 

15

background image

0011
1000
0010
0010
0010
0010
0100
0111
001

0

Krok IV.
W tym momencie pozostało nam tylko poddanie ka

ż

dego bloku zamianie symboli miejscami

(naszej matematycznej permutacji – wiem, 

ż

e to  słowo nie gryzie, ale wol

ę

 go unika

ć

 aby

nie straszy

ć

 humanistów;-)

0011
1000
0010
0010
0010
0010
0100
0111
0010

1010
0100
0010
0010
0010
0010
0001
1011
0010

 

I po bólu, nasza wiadomo

ść

 została wła

ś

nie zaszyfrowana:-)

Wa

ż

ne

- powy

ż

ej jest przedstawiony ostateczny wynik szyfrowania. Nie zmieniamy zapisu

zerojedynkowego w literowy, gdy

ż

 podczas szyfrowania mo

ż

emy uzyska

ć

 taki ci

ą

g 0 i 1,

który nie ma odpowiednika literowego

●●●

Schemat deszyfrowania

www.wedrownik.net 

16

background image

Deszyfrowanie   te

ż

  jest   bezbolesne.   Spróbujemy   teraz   odszyfrowa

ć

  wiadomo

ść

,   któr

ą

dopiero co zaszyfrowali

ś

my. 

Krok I.
Musimy najpierw okre

ś

li

ć

, jak odwróci

ć

 przestawienie symboli (okre

ś

li

ć

 permutacj

ę

 odwrotn

ą

– ponownie odsyłam do rozdziału V na stronie 37)
Dla naszej permutacji szyfruj

ą

cej (124) odwrotn

ą

 jest 

(142)

 – odwrócona kolejno

ść

 (421) z

uwzgl

ę

dnieniem zasady wpisywania zawsze najmniejszej cyfry na pocz

ą

tku – czyli pierwszy

element   umie

ś

cimy   na   czwartej   pozycji,   czwarty   na   drugiej,   drugi   na   pierwszej,   a   trzeci

ponownie pozostaje bez zmian.

Krok II.
W tym momencie mo

ż

emy ju

ż

 zastosowa

ć

 przekształcenie odwrotne na nasz szyfr.

1010
0100
0010
0010
0010
0010
0001
1011
0010

0011
1000
0010
0010
0010
0010
0100
0111
0010

 

Krok III.
Rozszyfrowan

ą

 wiadomo

ść

 dzielimy na bloki długo

ś

ci 5 symboli, a nadwy

ż

k

ę

 odrzucamy.

www.wedrownik.net 

17

background image

00111
00000
10001
00010
00100
10001
11001

0

Krok IV.
Dokonujemy zamiany zapisu binarnego na nasz normalny alfabet.

00111
00000
10001
00010
00100
10001
11001

h
a

r

c

e

r

z

 

●●●

Łamanie   tego   szyfru   jest   czasochłonne,   ale   nieszczególnie   skomplikowane.   Je

ś

li   znamy

długo

ść

  permutacji   szyfruj

ą

cej   musimy   okre

ś

li

ć

  jej   odwrotno

ść

.   Sprowadza   si

ę

  to   do

sprawdzenia wszelkich mo

ż

liwo

ś

ci – dla 3 elementów musimy sprawdzi

ć

 tylko 6 układów,

dla 4 elementów ju

ż

 24 układy, ale dla 5 elementów niestety a

ż

 120. Z przestawieniem o

długo

ś

ci 2 nie ma najmniejszego problemu, dla (12) odwrotno

ś

ci

ą

 jest (12).

Spróbujmy naszych sił na wiadomo

ś

ci zaszyfrowanej przy pomocy permutacji o długo

ś

ci 3.

001
100
111
001
011

Dla permutacji 3 elementów mamy 6 mo

ż

liwych kolejno

ś

ci –  

(12)

,  

(13)

,  

(23)

,  

(123)

,  

(132)

,

oraz pozostawienie kolejno

ś

ci 

bez zmian

.

Sprawd

ź

my wszystkie 6 mo

ż

liwo

ś

ci. Od razu wynik podzielimy na bloki długo

ś

ci 5 symboli i

podstawimy litery.

www.wedrownik.net 

18

background image

szyfr

001
100
111
001
011

szyfr

001
100
111
001
011

(12)

001
010
111
001
101

(13)

100
001
111
100
110

długo

ść

 5

00101
01110
01101

długo

ść

 5

10000
11111
00110

tekst

f

o
n

tekst

q

---

g

www.wedrownik.net 

19

background image

szyfr

001
100
111
001
011

szyfr

001
100
111
001
011

(23)

010
100
111
010
011

(123)

100
010
111
100
101

długo

ść

 5

01010
01110
10011

długo

ść

 5

10001
01111
00101

tekst

k

o

t

tekst

r

p

f

www.wedrownik.net 

20

background image

szyfr

001
100
111
001
011

szyfr

001
100
111
001
011

(132)

010
001
111
010
110

b.z.

001
100
111
001
011

długo

ść

 5

01000
11110
10110

długo

ść

 5

00110
01110
01011

tekst

i

---

w

tekst

g
o

l

Jak wida

ć

 w paru przypadkach uzyskali

ś

my nawet nieistniej

ą

ce symbole. Jedyne sensowne

wyrazy to  

kot

  i  

gol

  – czyli poprawne permutacje odwrotne to  

(23)

  i kolejno

ść

 

bez zmian

.

www.wedrownik.net 

21

background image

Tak to jest z łamaniem szyfrów, 

ż

e czasem dostajemy par

ę

 sensownych wersji. Gdyby

ś

my

mieli   dłu

ż

szy   szyfr   do   złamania   to   mogliby

ś

my   okre

ś

li

ć

  jednoznacznie   poprawn

ą

deszyfracj

ę

.

Uwaga
- metoda ta działa  równie  dobrze dla normalnego zapisu  literowego (oszcz

ę

dzamy krok z

zamian

ą

 liter na zapis z 1 i 0)

- po podzieleniu tekstu na bloki długo

ś

ci naszej permutacji uzupełniamy w razie potrzeby

ostatni blok – mo

ż

emy dowolnymi literami (tak aby nie zmieniły sensu szyfrowanego tekstu)  

CBC (Cipher Block Chaining)

Pomi

ę

dzy CBC, a ECB s

ą

 dwie ró

ż

nice. Poza permutacj

ą

 posiadamy jeszcze klucz

pocz

ą

tkowy. Klucz ten zmienia si

ę

 po ka

ż

dym zaszyfrowanym bloku – wła

ś

nie ten

zaszyfrowany blok jest nowym kluczem. Brzmi gro

ź

nie, ale na szcz

ęś

cie nie jest to tak

trudne.

SZYFROWANIE – DESZYFROWANIE 

Najpierw zaprezentuj

ę

 schemat tej metody. 

Schemat szyfrowania

www.wedrownik.net 

22

background image

A   teraz   jak   zwykle   przykład   dla   zilustrowania   działania   szyfru.   Ponownie   u

ż

yjemy   słowa

harcerz

. Potrzebujemy te

ż

 funkcj

ę

 zmieniaj

ą

ca kolejno

ść

 elementów – 

(13)(24)

. Elementem

nowym b

ę

dzie klucz startowy – 

0101

Krok I.
Zapisujemy nasz tekst w postaci zerojedynkowej.

h
a

r

c

e

r

z

00111
00000
10001
00010
00100
10001
11001

Krok II.
Dzielimy tekst na bloki długo

ś

ci równej ilo

ś

ci permutowanych elementów – czyli długo

ś

ci 4 –

i ewentualnie uzupełniamy ostatni blok.

www.wedrownik.net 

23

background image

0011
1000
0010
0010
0010
0010
0100
0111
001

0

Krok III.
Tworzymy   tabelk

ę

  z   4   kolumnami   –   1   kolumna   zawiera   wszystkie   bloki   tekstu,   2   w

pierwszym wierszu klucz startowy. Ostatnie dwie na razie pozostawimy puste

www.wedrownik.net 

24

background image

Tekst

Kluc

z

Tekst

+

Kluc

z

Szyfr

(po

perm

utacji

)

0011
0101

1000

0010

0010

0010

0010

0100

0111

0010

www.wedrownik.net 

25

background image

Metoda ta wymaga troszk

ę

 wi

ę

cej pracy ni

ż

 szyfr ECB. Mam jednak nadziej

ę

ż

e pomimo

tego jest ona interesuj

ą

ca.

Uwaga
- w tej i nast

ę

pnej metodzie istnieje ciekawy sposób ukrycia klucza. Po prostu zał

ą

czamy go

na pocz

ą

tku wiadomo

ś

ci. Adresat naszego tekstu wiedz

ą

c jaka jest jego długo

ść

 wyodr

ę

bni

klucz z szyfru i przyst

ą

pi do odczytywania przesyłki.

CFB (Cipher Feedback)

CFB jest kolejnym bardziej skomplikowanym szyfrem z tej grupy. Podobnie jak dla CBC, dla
ka

ż

dego bloku tekstu dostajemy inny klucz. Jednak dokonujemy jeszcze paru dodatkowych

przekształce

ń

 – prosz

ę

 si

ę

 nie ba

ć

, to nie b

ę

d

ą

 

ż

adne matematyczne przekształcenia.

SZYFROWANIE – DESZYFROWANIE 

Szczególnie   przy   tej   metodzie   warto   zapozna

ć

  si

ę

  z   schematem,   gdy

ż

  wtedy   łatwiej

zapami

ę

ta

ć

 jak ona działa.

Schemat szyfrowania

W   przykładzie   ilustruj

ą

cym   prac

ę

  tego   szyfru,   tradycyjnie   u

ż

yjemy   słowa  

harcerz

.

Potrzebujemy   te

ż

  funkcj

ę

  permutuj

ą

c

ą

  –  

(13)

  oraz   klucz   startowy   –  

1101

.   Dodatkowym

parametrem   jest   warto

ść

  przesuni

ę

cia   –  

1

.     Co   ta   warto

ść

  oznacza   najlepiej   poka

ż

e

przykład.

Krok I.
Zapisujemy nasz tekst w postaci zerojedynkowej.

www.wedrownik.net 

26

background image

h
a

r

c

e

r

z

00111
00000
10001
00010
00100
10001
11001

Krok II.
Teraz   musimy   ustali

ć

  długo

ść

  bloku   tekstu.   Permutacja   mo

ż

e   mie

ć

  minimaln

ą

  ilo

ść

elementów równ

ą

 3, ale klucz pocz

ą

tkowy ma ich 4. Wi

ę

c wychodzi nam długo

ść

 4. Tutaj

jednak wchodzi w gr

ę

 warto

ść

 przesuni

ę

cia i skraca nam blok tekstu – w tym przykładzie o

1.
Ostateczna długo

ść

 bloków przeznaczonych do szyfrowania wynosi 3 symbole.

001
110
000
010
001
000
100
010
010
001
110
01

0

Ostatni blok uzupełnili

ś

my o brakuj

ą

cy element.

Krok III.
Tworzymy teraz nast

ę

puj

ą

c

ą

 tabelk

ę

 – na pocz

ą

tek wpisujemy w 3 kolumn

ą

 wszystkie bloki

tekstu.

www.wedrownik.net 

27

background image

Klucz
Klucz
po
perm
utacji
Tekst
Szyfr

(klucz
+
tekst)

001

110

000

010

001

000

100

010

010

www.wedrownik.net 

28

background image

Niestety,   do   obu   powy

ż

szych   szyfrów   nie   podam   metod   łamania,   gdy

ż

  s

ą

  zbyt

skomplikowane – zainteresowanych odsyłam do fachowej literatury (jednak zalecam wzi

ę

cie

sobie paru dni wolnego;-)

Szyfr Feistella

Ostatni z szyfrów działaj

ą

cych w systemie zerojedynkowym. I to jest jedyne podobie

ń

stwo do

powy

ż

szych szyfrów;-) Stopniem trudno

ś

ci lokuje si

ę

 pomi

ę

dzy dwoma pierwszymi szyframi

z tego rozdziału. Co jednak wa

ż

niejsze, nauczymy si

ę

 w prosty sposób łama

ć

 t

ą

 metod

ę

:-)

SZYFROWANIE – DESZYFROWANIE – ŁAMANIE SZYFRU

Metod

ę

 ta przedstawi

ę

 w najprostszej wersji. Je

ś

li kto

ś

 b

ę

dzie chciał spróbowa

ć

 sił z troch

ę

wy

ż

szym poziomem trudno

ś

ci, to wystarczy zmieni

ć

 warto

ś

ci pewnych parametrów.

Na nasze potrzeby wystarcz

ą

 nast

ę

puj

ą

ce zało

ż

enia – b

ę

dziemy szyfrowa

ć

 bloki tekstu o

długo

ś

ci 4 symboli, ilo

ść

 kroków szyfruj

ą

cych ograniczymy do 2, a stosowanym elementem

szyfruj

ą

cym   b

ę

dzie   macierz   2x2   (kto   nie   zna   tego   poj

ę

cia   to   prosz

ę

  zapozna

ć

  si

ę

  z

rozdziałem  V na stronie 37)

Uwaga
- długo

ść

 bloków jakie podlegaj

ą

 szyfrowaniu jest 

ś

ci

ś

le zwi

ą

zana z wielko

ś

ci

ą

 macierzy –

szyfrowany fragment tekstu jest zawsze dwa razy dłu

ż

szy, ni

ż

 wielko

ść

 macierzy (dlatego

długo

ść

 4 dla macierzy 2x2, 6 dla 3x3, 8 dla 4x4 itd.)

Na potrzeby naszego przykładu zaszyfrujemy słowo  

harcerz

, przy zastosowaniu  

2

  kroków

szyfruj

ą

cych z macierz

ą

 





1

0

1

1

Krok I.

www.wedrownik.net 

29

background image

Tradycyjnie   zapisujemy   nasz   tekst   w   formie   zerojedynkowej   i   dzielimy   na   fragmenty   o
długo

ś

ci 4 elementów z ewentualnym uzupełnieniem ostatniej cz

ęś

ci.

h
a

r

c
e

r

z

00111
00000
10001
00010
00100
10001
11001

0011
1000
0010
0010
0010
0010
0100
0111
001

0

Krok II.
Tym razem działanie  przedstawimy za  pomoc

ą

 rysunku. Najpierw zaszyfrujemy pierwszy

fragment naszego tekstu – 

0011

.

Tekst dzielimy na cz

ęść

 lew

ą

 i praw

ą

.

Krok III.
Zaczynamy   pierwszy   krok   szyfruj

ą

cy.   Cz

ęść

  praw

ą

  mno

ż

ymy   z   nasz

ą

  macierz

ą

  i

przygotowujemy   j

ą

  do   dodania   do   cz

ęś

ci   lewej.   Dodatkowo   niezmienion

ą

  cz

ęść

  praw

ą

przepisujemy poni

ż

ej, aby móc za dwa kroki dokona

ć

 zamiany.

www.wedrownik.net 

30

background image

Krok IV.
Dodajemy do siebie cz

ęść

 lew

ą

 i zmodyfikowan

ą

 praw

ą

.

W tym momencie ko

ń

czymy pierwszy krok szyfruj

ą

cy.

Krok V.
Dokonujemy zamiany cz

ęś

ci lewej i prawej.

Krok VI.
Dla nowych cz

ęś

ci tekstu, przeprowadzamy drugi krok szyfruj

ą

cy (dokładnie jak powy

ż

ej).

Po   ostatnim   kroku   szyfruj

ą

cym   nie   dokonujemy   zamiany.   Dlatego   w   naszym   przypadku

drugie powtórzenie daje nam zaszyfrowany pierwszy blok tekstu.

www.wedrownik.net 

31

background image

Je

ś

li   powtórzymy   dla   ka

ż

dego   bloku   tekstu   kroki   II   –   VI,   to   jako   zaszyfrowany   tekst

otrzymamy.

0010
1110
0011
0011
0011
0011
0101
0111
0011

●●●

Ta metoda jest kolejn

ą

, przy której dla rozszyfrowania podanego tajnego tekstu, musimy go

ponownie zaszyfrowa

ć

. A wi

ę

c, aby z szyfru

0010
1110
0011
0011
0011
0011
0101
0111
0011

uzyska

ć

  słowo   harcerz,   musimy   na   nim   zastosowa

ć

  opisan

ą

  powy

ż

ej   metod

ę

  wraz   z

ko

ń

cowym   podzieleniem   na   bloki   składaj

ą

ce   si

ę

  z   5   elementów   i   eliminacj

ą

  zb

ę

dnych

symboli – ale te działanie ju

ż

 wielokrotnie 

ć

wiczyli

ś

my.

●●●

Gdy mamy zaszyfrowan

ą

 wiadomo

ść

 i chcemy j

ą

 rozgry

źć

, musimy okre

ś

li

ć

 macierz, która

nam   szyfruje   pojedyncze   bloki.   Wiemy,  

ż

e   macierz   ta   ma   4   elementy,   a   jako   mo

ż

liwe

warto

ś

ci tylko 0 i 1. Je

ś

li znamy jakie

ś

 elementy macierzy to musimy sprawdzi

ć

 wszystkie

mo

ż

liwo

ś

ci i zobaczy

ć

 przy której uzyskujemy sensowne wyniki. Gdy znamy 3 elementy, to

www.wedrownik.net 

32

background image

do sprawdzenia mamy 2 macierze, gdy znamy 2 to ju

ż

 4, przy 1 elemencie a

ż

 8. Gdy nie

znamy 

ż

adnego, to pozostaje nam przetestowa

ć

 wszystkie 16 mo

ż

liwo

ś

ci.

Prób

ę

 przeprowadzamy tak, jak zostało to opisane w cz

ęś

ci po

ś

wi

ę

conej szyfrowaniu.

Ciekawiej   jest,   gdy   oprócz   szyfru   znamy   tekst  jawny   pasuj

ą

cy   do   jednego   bloku   szyfru.

Dzi

ę

ki temu mo

ż

emy okre

ś

li

ć

 poszukiwan

ą

 macierz – gdy znamy jakiekolwiek jej elementy,

to zadanie jest dodatkowo ułatwione.
Jak si

ę

 do tego zabra

ć

?

Trzeba przeanalizowa

ć

, jak wygl

ą

da proces szyfrowania (bo w tej metodzie deszyfrowanie

działa identycznie jak szyfrowanie). Zrobimy to na konkretnym przykładzie.
Dla szyfru 

0110

 znamy tekst jawny 

0111

.

Nasza macierz ma ogóln

ą

 posta

ć

 





d

c

b

a

.

Krok I.
Uzupełniamy schemat szyfru i elementy, które ju

ż

 znamy.

Uzupełnili

ś

my   od   razu  

ś

cie

ż

k

ę

  dla   prawego   elementu   –   wszystko   zgodnie   z   metod

ą

szyfrowania.

Krok II.
Wymna

ż

amy   praw

ą

  stron

ę

  naszego   szyfru   z   ogóln

ą

  postaci

ą

  macierzy,   a   nast

ę

pnie

dodajemy do lewej strony (i uzupełniamy praw

ą

 stron

ę

 pozycji po zamianie).

Dla przejrzysto

ś

ci u

ż

yłem pisowni z przecinkiem.

W tej chwili mo

ż

emy zacz

ąć

 okre

ś

la

ć

 posta

ć

 naszej macierzy. Z naszego schematu wynika,

ż

(a, b+1) = (11)

. Daje nam to nast

ę

puj

ą

ce warto

ś

ci: 

a = 1

 i 

b = 0

. A wi

ę

c nasza macierz

www.wedrownik.net 

33

background image

wygl

ą

da nast

ę

puj

ą

co - 





d

c

0

1

.

Krok III.
Teraz wykonujemy drugie mno

ż

enie macierzy z nasz

ą

 praw

ą

 stron

ą

 szyfru (po uprzednim

podstawieniu cyfr).

Aby   okre

ś

li

ć

  ostatnie   elementy   macierzy   dokonujemy   dodawania  

(10)   +   (1+c,   d)

.

Zsumowane   elementy   musz

ą

    (na   podstawie   schematu)   by

ć

  równe   elementowi  

(01)

.

Ostatecznie daje nam to 

(1+1+c, d) = (1, 1)

, a wi

ę

c = 0

d = 1

.  Maj

ą

c wszystkie elementy

wiemy ju

ż

ż

e pozostałe bloki szyfru musimy podda

ć

 działaniu macierzy 





1

0

0

1

.

Czasem mo

ż

e trafi

ć

 si

ę

 nam trudniejsza sytuacja, gdy nie tak łatwo okre

ś

li

ć

 jednoznacznie

elementy   macierzy.   Có

ż

,   pozostaje   nam   wtedy   rozpatrywa

ć

  po   kolei   ró

ż

ne   mo

ż

liwo

ś

ci   i

sprawdza

ć

, które pasuj

ą

 do schematu. 

 

Metoda   ta   jak   pokazuj

ą

  przykłady   mo

ż

e   by

ć

  troszk

ę

  pracochłonna.   Jednak   nie   ma   tutaj

ż

adnej   skomplikowane   matematyki.   Jedynie   sprawdzanie   pewnej   liczby   mo

ż

liwych

kombinacji.

Uwaga
-   metoda   ta   sprawdza   si

ę

  równie

ż

,   gdy   zamiast   macierzy,   u

ż

ywamy   do   szyfrowania

dwuelementowego klucza
- niestety znacznie łatwiej wtedy złama

ć

 t

ą

 metod

ę

, gdy

ż

 do wyboru mamy tylko 4 klucze

(mo

ż

na   zawsze   je   wydłu

ż

y

ć

,   ale   co   za   tym   idzie   dwukrotnie   zwi

ę

kszy

ć

  szyfrowane   lub

deszyfrowane bloki tekstu)

www.wedrownik.net 

34

background image

Wytaczamy ostatnią armatę

Ta grupa szyfrów b

ę

dzie wymagała wprowadzenia pewnej, dla wielu osób na pocz

ą

tku na

pewno niełatwej, teorii matematycznej – działania modulo (proponuj

ę

 zapozna

ć

 si

ę

 z tre

ś

ci

ą

rozdziału V na stronie 38).

Szyfr afiniczny

Jest to mocno utrudniona wersja szyfru Cezara. Tutaj zmiana litery jest okre

ś

lona dwoma

parametrami, a nie jak w metodzie Cezara jednym. 

SZYFROWANIE – DESZYFROWANIE – ŁAMANIE SZYFRU

 
Przy tej metodzie do

ść

 cz

ę

sto pomocnym narz

ę

dziem b

ę

dzie kalkulator.

Aby zobrazowa

ć

 działanie tej metody zaszyfrujemy słowo harcerz.

Krok I.
Zamieniamy litery tekstu jawnego na ich warto

ś

ci liczbowe. Jednak zaczynamy od 0 – czyli

litera a ma warto

ść

 0, 

ą

 – 1, b - 2, itd. 

www.wedrownik.net 

35

background image

h
a

r

c
e

r

z

10

0

22

3
6

22
29

Wa

ż

ne

- wa

ż

ne jest jaki alfabet stosujemy – dla angielskiego mamy 26 liter, a dla polskiego 32

- w tej metodzie szyfrowania, tak

ż

e odst

ę

p mi

ę

dzy wyrazami ma przypisana warto

ść

 – dla

alfabetu angielskiego 26, a dla polskiego 32

Krok II.
Aby zaszyfrowa

ć

 tekst musimy okre

ś

li

ć

 funkcje szyfruj

ą

c

ą

. Jak ju

ż

 wiemy b

ę

dzie ona zale

ż

e

ć

od dwóch warto

ś

ci –  

a

  i  

b

  (b

ę

dziemy je nazywa

ć

 kluczem). Ogólna posta

ć

 funkcji wygl

ą

da

nast

ę

puj

ą

co:

 (ax + b) mod n

a

  oraz  

b

  s

ą

 wybranymi przez nas liczbami,  

n

  jest ilo

ś

ci

ą

 liter w alfabecie + 1,  

x

  warto

ś

ci

ą

liczbow

ą

 szyfrowanej litery, a  

y

  uzyskanym w ten sposób szyfrem. W naszym przykładzie

u

ż

yjemy funkcji 

 (2x + 7) mod 33

Je

ś

li zachcemy zaszyfrowa

ć

 liter

ę

 h, to uzyskamy poni

ż

szy wynik:

h = 10

, a wi

ę

 (2·10 + 7) mod 33

 = 27 mod 33 = 

27 = w

Gdy ka

ż

d

ą

 z liter słowa harcerz tak zaszyfrujemy uzyskamy:

www.wedrownik.net 

36

background image

h
a

r

c

e

r

z

10

0

22

3
6

22
29

27

7

18
13
19
18
32

w

ę
ń

k
o

ń

●●●

Deszyfracja jest bardziej skomplikowana. Ale wszystko  po kolei.

Poni

ż

szy szyfr został stworzony przy pomocy tej samej funkcji szyfruj

ą

cej: 

 (2x + 7) mod 33

www.wedrownik.net 

37

background image

ę
ą
ę

d
e

ę

d
a

j

ś
ę

7
2
7
5
6
7
5
0
1
2
2
4
7

Krok I.
Aby deszyfrowa

ć

, musimy okre

ś

li

ć

 funkcj

ę

 odwrotn

ą

 do zastosowanej. 

Wa

ż

ne

- aby deszyfrowanie było mo

ż

liwe, musi by

ć

 spełniony warunek NWD (a, n) = 1 (najwi

ę

kszy

wspólny   dzielnik).   Nie   b

ę

d

ę

  si

ę

  rozwodził   dlaczego   akurat   tak,   gdy

ż

  musiałbym   straszy

ć

matematyk

ą

 – zainteresowanych odsyłam do literatury fachowej.

NWD   (2,   33)   =   1,   a   wi

ę

c   mo

ż

emy   jednoznacznie   okre

ś

li

ć

  funkcje   odwrotn

ą

.   Jej   ogólna

posta

ć

 prezentuj

ę

 si

ę

 nast

ę

puj

ą

co:

 a’·(y - b) mod n

a’

  jest   w   tym   przypadku   odwrotno

ś

ci

ą

  a   z   wzoru   na   szyfrowanie.   Nie   jest   to   jednak

odwrotno

ść

,   jak

ą

  znamy   ze   szkoły.   Aby   okre

ś

li

ć

  a’   musimy   zastosowa

ć

 

rozszerzony

algorytm Euklidesa

.

Dla  

 2’(y - 7) mod 33  

całe obliczenie wygl

ą

da jak poni

ż

ej (dlaczego tak, a nie inaczej

wyja

ś

nione jest w rozdziale V na stronie 38).

33 = 16·2 + 1

1 = 33 - 16·2

A wi

ę

c odwrotno

ś

ci

ą

 

2

 jest 

-16

. Ale -16 odpowiada liczbie 

17

 (33-16=17) w grupie 

mod 33

.

www.wedrownik.net 

38

background image

Nasza funkcja ma posta

ć

:

 17·(y - 7) mod 33

Krok II.
Nasz

ą

 zaszyfrowan

ą

 wiadomo

ść

 poddajemy działaniu funkcji odwrotnej. Daje nam to efekt

jak poni

ż

ej.

ę
ą
ę

d
e

ę

d
a

j

ś

ę

7
2
7
5
6
7
5
0
1
2
2
4
7

www.wedrownik.net 

39

background image

0
1
4
0
3
2
1
6
0
3
2
1
3
1
9
2
5
0

a

l

a

 

m
a

 

k
o

t

a

Metoda ta wymaga wiele uwagi i ci

ą

głej 

ś

wiadomo

ś

ci, 

ż

e liczymy w grupie mod n (u nas w

mod 33).

●●●

Aby  móc  złama

ć

 szyfr  afiniczny  nie znaj

ą

c  funkcji szyfruj

ą

cej,  potrzebujemy informacj

ę

 o

cho

ć

by paru przyporz

ą

dkowaniach liter tekstu jawnego do liter szyfru. Gdy znamy cho

ć

 2 z

nich, mo

ż

emy złama

ć

 t

ą

 metod

ę

 kryptograficzn

ą

. Tak

ż

e w tym przypadku najlepiej łamanie

omówi

ć

 na konkretnym przykładzie, bez zb

ę

dnych teoretycznych wywodów, które sił

ą

 woli

byłyby zbyt techniczne.

Mamy szyfr 

n

ą

ry

ą

l

 i wiemy, 

ż

n

 zostało zaszyfrowane do 

r

, a 

d

 do 

y

. Dzi

ę

ki temu mo

ż

emy

stwierdzi

ć

ż

e

www.wedrownik.net 

40

background image

n

ą

r

y

ą

l

17

1

22
28

1

14

oraz

n

r

1
7

2
2

d

y

5

2
8

 

Pozwoli   nam   to   okre

ś

li

ć

,   jak

ą

  funkcj

ą

  zaszyfrowano   tekst,   a   co   za   tym   idzie   wyznaczy

ć

funkcj

ę

 do niej przeciwn

ą

. Gdy ju

ż

 ja uzyskamy, to b

ę

dziemy mogli odszyfrowa

ć

 pozostałe

litery.

Krok I.
Na podstawie drugiej tabelki utworzymy układ równa

ń

 liniowych (w zapisie mod 33).

17a + b 

 22 mod 33

  5a + b 

 28 mod 33

Jak wida

ć

 na naszym przykładzie, warto

ś

ci liczbowe dla 

tekstu jawnego

 wpisujemy przy 

a

,

warto

ś

ci szyfru

 przy 

mod

.

www.wedrownik.net 

41

background image

Krok II.
Rozwi

ą

zujemy nasze równanie liniowe (pami

ę

taj

ą

c, 

ż

e liczymy w grupie mod 33).

17a + b 

 22 mod 33

/ · (-1)

  5a + b 

 28 mod 33

-17a - b 

 -22 mod 33

  5a + b 

 28 mod 33

-12a  

 6 mod 33

21a 

 6 mod 33

a = 5

Pocz

ą

tek rozwi

ą

zania powinien by

ć

 zrozumiały dla wszystkich. Wa

ż

ne jest aby pami

ę

ta

ć

 i

ż

-12

 ma warto

ść

 

21

 w grupie mod 33. 

Wynik 

a = 5

 mo

ż

na uzyska

ć

 jedynie poprzez systematyczne podstawianie liczb (pocz

ą

wszy

od 1) i sprawdzanie czy równanie jest prawdziwe. Wymaga to troch

ę

 cierpliwo

ś

ci i najlepiej

stosowania kalkulatora (jest to du

ż

e udogodnienie).

Teraz musimy wyznaczy

ć

 jeszcze parametr b.

5·5 + b 

 28 mod 33

25 + b 

 28 mod 33

/ - 20

 3 mod 33

b = 3

Maj

ą

c oba parametry wiemy ju

ż

ż

e tekst został zaszyfrowany funkcj

ą

:

y = (4x + 3) mod 33

Krok III.
Do rozszyfrowania wiadomo

ś

ci potrzebujemy, jak ju

ż

 wiemy, funkcj

ę

 odwrotn

ą

 do tej przez

www.wedrownik.net 

42

background image

nas okre

ś

lonej. Aby okre

ś

li

ć

 

5’

 z 

x = 5’·(y 

 3) mod 33

musimy zastosowa

ć

 rozszerzony algorytm Euklidesa.

33 = 6·5 + 3
  5 = 3 + 2
  3 = 2 + 1

1 = 3 – 2
1 = 3 – (5 –
3)
1 = 2·3 – 5
1 = 2·(33 –
6·5) – 5
1   =   2·33   –
13·5 

Odwrotno

ś

ci

ą

 5 jest liczba 

- 13

. Jednak -13 w zapisie mod 33 ma warto

ść

 20 (33 – 13 = 20).

Tak wi

ę

c uzyskujemy 

a’ = 20

. Ostatecznie nasza funkcja odwrotna ma posta

ć

:

x = 20·(y 

 3) mod 33

Krok IV.
Działamy nasz

ą

 funkcja odwrotn

ą

 na nieznane nam litery szyfru i uzyskujemy tekst jawny:

n

ą

r

y

ą

l

17

1

22
28

1

14

www.wedrownik.net 

43

background image

16
26
17

5

26
22

m

u
n
d
u

r

W ten sposób przebili

ś

my si

ę

 przez kolejn

ą

 metod

ę

 łamanie szyfru.

Pomoce matematyczne – proszę się nie bać, nie gryzą;-)

Dodawanie binarne - dodawanie inaczej

Brzmi strasznie, ale na szcz

ęś

cie jest prostsze ni

ż

 zwykłe dodawanie, gdy

ż

 mamy tylko 4

mo

ż

liwo

ś

ci:-)

Poni

ż

ej przedstawione s

ą

 wszelkie mo

ż

liwe sytuacje podczas takiego dodawania.

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0

Permutacja – z czym się to je

Mówi

ą

c   mo

ż

liwie   prosto,   permutacja   to   po   prostu   zmiana   kolejno

ś

ci   elementów   ci

ą

gu.   A

zapis ogólny podaje nam, które pozycje otrzymuj

ą

 nowe przyporz

ą

dkowanie.

Przykładowo  





1

4

4

3

2

2

3

1

oznacza,  

ż

e   pierwszy   element   bloku   o   długo

ś

ci   4   zostanie

przeniesiony na pozycj

ę

 3, drugi pozostanie na pozycji 2, trzeci przesuwamy na pozycj

ę

 4, a

ostatni element l

ą

duje na pocz

ą

tku bloku. Opis mo

ż

e skomplikowany, ale praktyka bardzo

prosta:-)

Inn

ą

 form

ą

 zapisu tej samej permutacji jest (134) – taki jest u

ż

ywany w tym poradniku. Je

ś

li

w   zapisie   tym   brakuje   jakiej

ś

  cyfry,   to   oznacza   to,   i

ż

  symbol   na   tej   pozycji   nie   jest

przenoszony. Jest to opis krótszy a oznacza dokładnie to samo. Czasami mo

ż

emy spotka

ć

nast

ę

puj

ą

cy zapis (13)(24) – oznacza to nic innego jak to, 

ż

e symbol z pozycji 1 przenosimy

na 3, z 3 na 1, a z 2 na 4 oraz z 4 na 2. 
Aby okre

ś

li

ć

 odwrotn

ą

 permutacj

ę

 odwracamy kolejno

ść

 w wersji skróconej czyli otrzymamy

(431). Matematyczna konwencja przewiduje zawsze najmniejszy element  na pocz

ą

tku, wi

ę

c

wersj

ą

 ko

ń

cow

ą

 jest (143).

Permutacje o długo

ś

ci 2 s

ą

 odwrotne same do siebie. A wi

ę

c (23) jest odwrotno

ś

ci

ą

 (23), a

(13)(24) jest odwrotno

ś

ci

ą

 (13)(24). Proste:-)

www.wedrownik.net 

44

background image

Macierz – to bardzo proste

Nie b

ę

d

ę

 si

ę

 wdawał w opisywanie definicji macierzy. W tym poradniku ograniczymy si

ę

 do

macierzy   kwadratowych   o   rozmiarze   2x2.   Jak   taki   twór   wygl

ą

da?  





d

c

b

a

  jest   ogólnym

zapisem macierzy kwadratowej – prawda, 

ż

e podobne do kwadratu? A zapis 2x2 oznacza,

ż

e mamy po dwa wiersze i dwie kolumny. 

Wektorem z kolei nazwiemy nast

ę

puj

ą

cy element (e, f). Jest to wektor o długo

ś

ci 2. Mno

ż

y

ć

mo

ż

emy z sob

ą

 tylko wektory i macierze kwadratowe o tym samym rozmiarze, a wi

ę

c wektor

o długo

ś

ci 2 z macierz

ą

 2x2.

Jak wygl

ą

da takie mno

ż

enie?

(e  f) 

=





d

c

b

a

(ea+fc, eb+fd)

(1  1) · 





1

1

1

0

= (1·0 + 1·1   1·1 + 1·1 ) = (0 + 1   1 + 1) = (1  0)

- jest to mno

ż

enie macierzy z uwzgl

ę

dnieniem dodawania zerojedynkowego

Modulo – czy ktoś mi grozi?

Mówi

ą

c   najpro

ś

ciej   jak   si

ę

  da,   jest   to   reszta   z   dzielenia   przez   liczb

ę

  n.   W   zapisie

matematycznym wygl

ą

da to nast

ę

puj

ą

co:

a

b mod n

i   oznacza,  

ż

e   a   przy   dzieleniu   przez   n,   daje   reszt

ę

  b.   Ten  

ś

mieszny   znaczek   pomi

ę

dzy

elementami   traktujcie   jako   zwykły   znak   równo

ś

ci.   Mo

ż

e   nie   jest   to   w   pełni   poprawne

matematycznie, ale nas to nie interesuje, ma by

ć

 łatwo i przyjemnie;-) 

Przy takiej operacji liczba b le

ż

y w przedziale od 0 do n –1, niezale

ż

nie jak du

żą

 liczb

ą

 jest a.

W ramach 

ć

wiczenia par

ę

 przykładów:

22 mod 3 = 1
  4 mod 6 = 4
25 mod 5 = 0

A   co   si

ę

  stanie,   gdy   w   wyniku   naszych   działa

ń

  dostaniemy   liczb

ę

  negatywn

ą

?   Wiemy

przecie

ż

ż

e nasze liczby nale

żą

 do przedziału od 0 do n – 1.

-22 mod 3 = -1 mod 3 = 2    gdy

ż

 3 – 1 = 2

-14 mod 33 = 19    gdy

ż

 33 – 14 = 19

Na  razie   jest miło  prosto  i   przyjemnie.  Niestety teraz  zaczn

ą

 si

ę

 lekkie  schody.   Czasami

musimy   okre

ś

li

ć

  odwrotno

ść

  jakiej

ś

  liczby   w   systemie   modulo   n.   Zapis   matematyczny

przedstawia si

ę

 tak:

ab

1 mod n

www.wedrownik.net 

45

background image

W tym przypadku a i b s

ą

 do siebie odwrotne. Niestety nie s

ą

 to elementy odwrotne tak, jak

si

ę

 do tego przyzwyczaili

ś

my w szkole. 

Do tego nie ka

ż

dy element w systemie mod n ma odwrotno

ść

. Dziwne, ale prawdziwe. Aby

móc wyznaczy

ć

 taki element musi by

ć

 spełniony warunek NWD(a, n) = 1.

Jak mo

ż

na je wyznaczy

ć

? Najprostsz

ą

 metod

ą

 jest rozszerzony algorytm Euklidesa. Jego

działanie najlepiej wytłumaczy

ć

 na przykładzie.

Spróbujmy znale

źć

 odwrotn

ą

 liczb

ę

 dla 18 w systemie mod 41

Szukamy zapisu liczby 41 przy pomocy 18 i ewentualnej reszty:

41 = 2·18 + 5

Teraz 18 przenosimy na lew

ą

 stron

ę

 i szukamy jej zapisu przy pomocy 5 i reszty.

18 = 3·5 + 3

Krok ten powtarzamy tak długo, a

ż

 reszt

ą

 b

ę

dzie liczba 1.

5 = 3 + 2
3 = 2 + 1

W   ten   sposób   zako

ń

czyli

ś

my   pierwsz

ą

  cz

ęść

  szukania   odwrotno

ś

ci.   Druga   polega   na

przedstawieniu   1   za   pomoc

ą

  18   i   41.   Brzmi   troch

ę

  absurdalnie,   ale   jest   to   mo

ż

liwe   i

poprawne matematycznie. Zaczniemy od naszego ostatniego równania – zmieniamy je tak,
aby tylko liczba 1 była po lewej stronie

1 = 3 – 2

Skorzystamy   teraz   z   informacji,   jakie   s

ą

  w   drugim   równaniu   –   po   prostu   w   miejsce   2

wstawimy jej warto

ść

 z drugiego równania.

                                                                 1 = 3 – (5 – 3)

1 = 2·3 – 5 

Wykorzystuj

ą

c równania z pierwszej cz

ęś

ci zamieniamy stopniowo liczby, a

ż

 dojdziemy do

postaci z 18 i 41.

                                                                 1 = 2·(18 – 3·5) – 5
                                                                 1 = 2·18 – 7·5
                                                                 1 = 2·18 – 7·(41 – 2·18)
                                                                 1 = 16·18 – 7·41

Liczb

ą

  odwrotn

ą

  do   18   jest   ta   z,   któr

ą

  jest   ona   wymna

ż

ana   w   ostatniej   linii   naszego

równania. A wi

ę

c jest to liczba 16.

Aby sprawdzi

ć

 nasz rachunek wystarczy wyliczy

ć

ż

16·18 = 288 mod 41 = 1

I to by było na tyle z matematycznych wywodów:-)  

Ż

ycz

ę

 miłej zabawy i całkiem nowych

wra

ż

e

ń

!

www.wedrownik.net 

46