You are on page 1of 15

Od problemu arwek do nowego

systemu szyfrowania
Andrzej Szablewski
Mateusz Janus

Radosaw Peszkowski
Jakub Mazur

2016

Spis treci
1 ............................................................................................................................................. 3
2 ......................................................................................................................... 3
3 ............................................................................................................................... 8
5 ..................................... 9
6 ................................................................................................................................ 11
7 ..................................................................................................................... 12
8 ............................................................................................................................ 13
9 ............................................................................................................................... 15

Wstp
Matematyka czsto kojarzona jest z rozwizywaniem zada. Zadania mog by rnego
rodzaju. Takie supki z zeszytu z wiczeniami i takie, ktre motywuj do mylenia i s punktem wyjcia
do dalszych rozwaa. Ta praca wyrosa waciwie z tego problemu. Mamy 8 arwek. Pod kad
arwk znajduje si przecznik. Kliknicie przecznika powoduje zapalenie lub zgaszenie (zmian
stanu) arwki nad nim oraz arwek bezporednio z ni ssiadujcych.

arwki
przeczniki

A
0
0

B
0
0

C
0
0

D
0
0
Tab. 1

E
0
0

F
0
0

G
0
0

H
0
0

1
Kliknicie przecznika C powoduje zmian stanu arwek C oraz B i D.
Analogicznie kliknicie przecznika skrajnego (A, H) spowoduje zmian stanu arwki nad nim oraz
tylko jednej ssiadujcej. Wic gdy zostanie kliknity przecznik A, zmieni stan arwki A oraz B.
Problem polega na odgadniciu jakie przyciski naley przeczy, aby od stanu 0 , w ktrym wszystkie
arwki s zgaszone, przej do stanu, w ktrym wszystkie arwki s zapalone. Zaczlimy
eksperymentowa z innymi kombinacjami. Jedna z nich sprawia nam trudno i odkrylimy, e nie da
si jej osign. Uznalimy, e jest to bardzo ciekawy problem, dlatego zaczlimy bada to
zagadnienie. Oto wyniki naszej pracy.
W wierszu arwki, 0 symbolizuj arwk zgaszon, natomiast 1 symbolizuje arwk zapalon.
Stanem arwki nazwiemy to czy jest ona zgaszona (0) czy zapalona (1).

Problem arwek
Nie ma powodw by nasze rozwaania ograniczy do 8 arwek. Problem potraktujemy od
razu oglnie i przyjmiemy, e liczba arwek wynosi . W pracy bdziemy posugiwa si nastpujcym
oznaczeniem operacji modulo (). Oznacza to, e reszta z dzielenia A przez C jest rwna
B.
1
Nacinicie przecznika wpywajcego na arwk zmienia jej stan na przeciwny.
Stanem ukadu arwek nazwiemy cig stanw kolejnych arwek. Jest to skoczony cig, ktrego
elementami s liczby 0 i 1. Dla = 8 stanem moe by 00001110.
1
Kady stan arwek mona zapisa w postaci stanu uytych do miejsca od stanu 0 do danego stanu
przyciskw.
Na przykad, aby ze stanu 0 uzyska stan 00001110 naley uy przycisku F, ktry spowoduje
zapalenie si tych trzech arwek. Przejcie od jednego stanu do innego, odpowiada dodawaniu
2 w odpowiednich kolumnach.

Zaczynajc od stanu 00110110 i uywajc przycisku F dostajemy stan 00111000, poniewa

+
(2)

00110110
00001110
00111000
Tab. 2

Nie dodajemy liczb w systemie dwjkowym, dodawanie w kadej kolumnie jest niezalene!
2
Stan kocowy nie zaley od kolejnoci przyciskania przecznikw.
3
Dla kadego liczba stanw ukadu jest rwna 2 .
Tabele poniej obrazuj stany arwek oraz odpowiadajce im stany przecznikw. Dla przecznikw
liczba 1 oznacza, e dany przecznik zosta wcinity, a liczba 0, e nie. Rozpatrujemy przejcia od
stanu pocztkowego 0 do podanego stanu.
=3

000
001
010
100

Tab. 3

P
000
110
111
011

Jeeli chcemy na przykad otrzyma stan 111 to moemy doda do siebie odpowiednie pojedyncze
jedynki oraz odpowiadajce im przeczniki. Jeeli ktrakolwiek cyfra wyniku jest wiksza od 1,
wykona na niej operacj (2). W tym przypadku bdzie to:

+
(2)

P
100 011
010 111
001 110
111 010
Tab. 4

Skoro mamy podstawowe stany majce jedn jedynk oraz same zera, mona z nich osign bardziej
skomplikowane stany, zoone z paru jedynek, poprzez dodawanie.

=4

1000
0100
0010
0001

P
1011
0011
1100
1101
Tab. 5

=5

10000
01000

00100

00010
00001

Tab. 6

P
11000
lub
00011
-

Rodzin stanw nazwiemy taki ich zbir, e moliwe jest przejcie od jednego stanu w rodzinie do
kadego innego stanu w tej rodzinie.
Dla = 5 sprawa si komplikuje, niektre stany s w jednej rodzinie, a inne w drugiej. Jeeli stan
pocztkowy jest w pierwszej rodzinie, a inny wybrany stan jest w drugiej rodzinie to nie da si przej
midzy nimi.

4
Gdy 0 (3), lub 1 (3) to wszystkie stany tworz jedn rodzin, natomiast gdy
2 (3) to dziel si one na dwie rodziny lub wicej.

Po dokadnym zbadaniu stanw arwek i przecznikw = 5 okazao si, e istnieje taki stan
przecznikw, ktry nie zmienia stanu arwek. Patrzc na wczeniej wypisane kombinacje przyciskw
(Tab. 6) zauwaylimy, e za t sam arwk odpowiadaj dwa rne stany przyciskw. Oznacza to e
po dodaniu ich do siebie powinnimy otrzyma nic nie zmieniajcy stan przyciskw. Taki stan
przyciskw nazwiemy stanem MOM ze wzgldu na pewn sekwencj (11011), ktra si powtarza w
tych stanach i znacznie uatwia nam tworzenie stanw MOM.

+
(2)

P
00100 11000
00100 00011
00000 11011
Tab. 7

Sprawdzilimy rwnie stany MOM dla innych wartoci . Okazao si e takie stany wystpuj tylko
dla 2 (3). Tabela 8 pokazuje stany MOM dla rnych wartoci N.

2
5
8
11
14
17
20
23
26
29

Stan przyciskw
11
11011
11011011
11011011011
11011011011011
11011011011011011
11011011011011011011
11011011011011011011011
11011011011011011011011011
11011011011011011011011011011
Tab. 8
=6

100000
010000
001000
000100
000010
000001

P
011011
111011
110000
000011
110111
110110
Tab. 9

Przy = 6 zauwaylimy, e czci poszczeglnych stanw s zoone ze stanw = 3.


=6
=3

P
100|000 011|011
010|000 111|011
001|000 110|000
000|100 000|011
000|010 110|111
000|001 110|110
Tab. 10

P
000 000
001 110
010 111
100 011
Tab. 11

Co dalej za tym idzie, wszystkie stany 0 (3) moemy zoy z poszczeglnych stanw = 3.
Rwnie wszystkie stany 1 (3) moemy zoy ze stanw = 3. Kade trzy arwki liczc
od lewej strony nazwiemy trjk arwek. Dla 1 (3) ostatnia arwka jest pierwsz arwk
nowej trjki.
Uznalimy, e pomocna przy wykonywaniu dziaa na arwkach i przecznikach bdzie informacja ile
minimalnie krokw, czyli ile przecznikw naley wcisn, aby zmieni stan poszczeglnych arwek.
Tak informacj nazwalimy mlk minimalna liczba krokw. Tabela 12 przedstawia ile wynosi mlk
poszczeglnych arwek, = 6.

=6
mlk
arwki

4 5 2 2 5 4
1 1 1 1 1 1
Tab. 12

Po wykonaniu tabeli dla = 6 zaczlimy tworzy tabele dla wikszych wartoci , pamitajc jednak,
e nie moe to by 2 (3), poniewa wtedy nie da si zapali niektrych arwek zaczynajc
od stanu pocztkowego 0 .
=7
mlk
arwki

5 4 2 5 2 4 5
1 1 1 1 1 1 1
Tab. 13

Pierwszym uzasadnionym spostrzeeniem byo to, e zawsze trzeci arwk od pocztku i od koca
mona zapali w dwch ruchach.
arwki

0 0 0 0 0 0

Wystarczy uy drugiego przycisku, ktry zapala pierwsze trzy arwki.


arwki
1 1 1 0 0 0

Nastpnie wciskamy przycisk pierwszy, ktry gasi dwie pierwsze arwki.


arwki
0 0 1 0 0 0
W ten sposb jako jedyna zostaje nam trzecia zapalona arwka.
Na podstawie podobnych obserwacji udao nam si stworzy wzory pozwalajce na obliczanie mlk
dla rnych . Jednak do poprawnego zrozumienia zasady ich dziaania niezbdne jest wprowadzenie
kilku oznacze.
pozycja danej arwki w trjce
numer trjki
liczba trjek (ostatnia arwka jest traktowana jako pierwsza arwka nastpnej trjki)
()

2 + 2,
=1
3

=
2 + 1,
=2
3
{ 2,
=3
2

()
1
,
=1
3
= {
( ) (2 2),
=2
2,
=3

()
Dla 2 (3) istnieje jedynie wzr na mlk co trzeciej arwki, gdy pozostaych arwek nie da
si pojedynczo zapali zaczynajc od stanu 0 .
= 2 ( = 3)

Rwnoczenie z tworzeniem wzorw zauwaylimy rne zalenoci mlk w trjkach arwek.


Ponisza tabela prezentuje nasze spostrzeenia. Zapis 1 oznacza, e odwoujemy si do pierwszej
arwki w trjce.
()

()

1 + 3 =

2 + 3 =

2 =

1 =

1 = 2 3 + 1

1 = 2 + 3 1

2 = 1 + 3 1

2 = 1 3 + 1

3 = 2 1 + 1

3 = 1 2 + 1

Zastosowanie
Po wielu godzinach tworzenia nowych wzorw i zalenoci uznalimy, e naley znale jakie
zastosowanie dla naszej pracy. Oprcz tego do czego arwki su (a su one do owietlania
pomieszcze) wymylilimy, e przy ich pomocy mona stworzy rne systemy kryptograficzne.
Niejako przy okazji stworzylimy te aplikacj komputerow oraz na smartfony, ktra pomaga testowa
rne hipotezy, a ponadto moe by uyta jako Gra w arwki.

Szyfrowanie asymetryczne macierzy


dwuwskanikowej stanw
Zauwaylimy, e majc dany stan przecznikw, wypisanie jak wpywa on na stan arwek
nie jest trudne. Jednak majc dany stan arwek odgadnicie stanu przecznikw, ktry je zapali jest
znacznie trudniejsze.

Klucz publiczny
Naley stworzy macierz wypenion 0 oraz 1 czyli tzw. klucz publiczny. Ta macierz
odpowiada poczeniu arwek do przecznikw.
Pierwszy wiersz macierzy szyfrujcej oznacza, ktre arwki zmieni stan po klikniciu pierwszego
przecznika. Drugi wiersz oznacza, ktre arwki zmieni stan po klikniciu drugiego przecznika. I
tak dalej a do -tego wiersza, ktry bdzie oznacza, ktre arwki zmieni stan po klikniciu -tego
przecznika.
Przykad:

1
1
0
0
0
0

1
1
1
0
0
0

0
1
1
1
0
0

0
0
1
1
1
0

0
0
0
1
1
1

0
0
0
0
1
1

Powysza macierz odpowiada poczeniom takim, jakie zostay opisane we wprowadzajcym zadaniu.
W tym przypadku dotyczy to szeciu arwek.
Macierz pocze (klucz publiczny) musi spenia ponisze warunki:

Ilo kolumn oraz wierszy jest taka sama i wynosi


Jej wiersze ani kolumny nie mog si powtarza
Macierz nie moe mie kolumny wypenionej samymi zerami, oraz wiersza wypenionego
samymi zerami
Suma wierszy nie moe by rwna innemu wierszowi
Macierz musi by , czyli nie da si osign tego samego stanu dodajc rne
wiersze
Przykad macierzy niejednoznacznej:

1
1
0
0
0
0

1
1
1
1
1
0

0
1
1
1
1
1

1
0
1
1
1
1

1
1
0
1
1
1

0
0
0
0
1
1

Po dodaniu wierszy nr 1, 2 oraz 3 uzyskujemy 010000, a dodajc dwa ostatnie wiersze rwnie
otrzymujemy 010000. Niejednoznaczno uniemoliwia poprawne odszyfrowanie wiadomoci.

Szyfrowanie
Wybierana jest wiadomo , o dowolnej dugoci. Najczciej wiadomo nie bdzie dugoci .
Wtedy wiadomo naley podzieli na cigi o dugoci . Naley je zaszyfrowa tak jak poniej, a
nastpnie poczy w jedn, zaszyfrowan wiadomo. Przykad:
= 101000
Wiadomo oznacza, ktre wiersze macierzy mamy do siebie doda w 2. Przykad:

1
0
1
0
0
0

1
1
0
0
0
0

1
1
1
0
0
0

0
1
1
1
0
0

0
0
1
1
1
0

0
0
0
1
1
1

0
0
0
0
1
1

+
(2)

110000
011100
101100

W ten sposb powstaje zaszyfrowana wiadomo.


= 101100

Klucz prywatny i Deszyfrowanie


Aby odszyfrowa wiadomo naley stworzy macierz, ktrej dziaanie jest odwrotne do
macierzy szyfrujcej. Macierz ta musi mie nastpujc wasno. Wiadomo oznacza, ktre wiersze
macierzy deszyfrujcej naley do siebie doda aby uzyska wiadomo . Poniej znajduje si macierz
deszyfrujca dla powyszej macierzy szyfrujcej jest to tzw. klucz prywatny.

0
1
1
0
1
1

1
1
1
0
1
1

1
1
0
0
0
0

0
0
0
0
1
1

1
1
0
1
1
1

1
1
0
1
1
0

Pierwszy wiersz macierzy deszyfrujcej oznacza, ktre przeczniki naley wcisn aby otrzyma
zapalon arwk tylko na pierwszej pozycji. Drugi wiersz oznacza, ktre przeczniki naley wcisn
aby otrzyma zapalon arwk tylko na drugiej pozycji. I tak dalej a do -tego wiersza, ktry bdzie
oznacza, ktre przeczniki naley wcisn aby otrzyma zapalon arwk tylko na -tej pozycji.
Macierz ta ma dziaanie odwrotne do macierzy szyfrujcej.

1
0
1
1
0
0

0
1
1
0
1
1

1
1
1
0
1
1

1
1
0
0
0
0

0
0
0
0
1
1

1
1
0
1
1
1

1
1
0
1
1
0

+
(2)

10

011011
110000
000011
101000

Po dodaniu wierszy otrzymujemy wiadomo .


= 101000
Poniej prezentujemy niektre losowe i niesymetryczne macierze szyfrujce oraz deszyfrujce, ktrych
tworzenie jest dosy trudne, wystarczajco aby mc w ten sposb przesya wane dane.
Macierz szyfrujca i deszyfrujca = 6

1
0
1
0
1
1

0
1
0
1
0
1

1
1
0
0
1
0

1
0
1
0
0
1

0
1
0
1
1
0

1
1
0
1
1
0

0
0
0
0
1
1

1
0
1
1
1
1

1
1
0
0
0
1

0
0
1
0
0
1

1
0
0
1
0
0

1
1
0
1
1
0

Macierz szyfrujca i deszyfrujca = 6

0
1
0
0
1
0

0
1
1
0
1
0

1
0
1
1
0
0

1
1
1
0
0
0

0
0
0
1
1
1

0
0
0
1
0
1

0
1
0
1
1
1

1
0
0
0
1
1

1
1
0
0
0
0

1
0
1
1
1
1

0
0
0
0
1
1

1
0
1
1
1
0

Bezpieczestwo
Bezpieczestwo tego kryptosystemu opiera si na trudnoci wyznaczenia macierzy odwrotnej.
Zoono obliczeniowa tej operacji jest rzdu ( 2,373 ), patrz [CLRS]. Nie jest to zoono
imponujca w porwnaniu z RSA, ale za to uycie naszego kryptosystemu wymaga tylko pozycyjnego
dodawania modulo 2. Oznacza to, e liczba moe by wybrana bardzo dua np. 232 . Taki wybr
zapewnia dostateczne bezpieczestwo dla krtkotrwaych sesji bezpiecznych np. wymiany kluczy wg.
schematu Diffiego- Hellmana.

Zakoczenie
Pierwszy raz syszc zagadk nie sdzilimy, e bdzie ona inspiracj do napisania pracy
matematycznej. Udao nam si zdecydowanie rozwin zagadnienie i znale zastosowanie praktyczne.
Problem szyfrowania jest nadal otwarty i bdzie przez nas rozwijany. Mamy nadziej, e nasz system
znajdzie jakie zastosowanie w praktyce. Mylelimy te o modyfikacjach matematycznych. Na
przykad zamiast dwch stanw arwek; zapalona i zgaszona, mona wprowadzi stany opisane
kolorami np.: zielona, ta, czerwona. Podobnie, zamiast rozwaa jeden rzd arwek i przyciskw,
mona rozwaa ich macierze. Te pomysy otwieraj drzwi do ciekawych uoglnie. Dzikujemy za
pomoc w przygotowaniu pracy Paniom Annie Ochel oraz Dorocie Baniak nauczycielkom matematyki
z Gimnazjum w Zabierzowie, oraz Panu Profesorowi Tomaszowi Szembergowi z Uniwersytetu
Pedagogicznego w Krakowie.

11

Spis uytych poj


liczba arwek
kada arwka moe by wyczona (0) lub wczona (1).
, jest to okrelony zbir arwek z ktrych kada jest zgaszona lub zapalona. Przykad: Dla
= 5 stanem moe by 01001 lub 11001 lub kilka innych.
0 , stan zoony z samych zer.
1 , stan odwrotny do stanu pocztkowego, stan zoony z samych jedynek.
stan przyciskw, ktry nie zmienia stanu arwek.
operacja zmiany stanw samych zer na same jedynki (zmiana stanu pocztkowego na
stan kocowy). Minimalna liczba krokw potrzebna do wykonania przejcia ( ).
maksymalny (wzgldem zawierania) zbir stanw arwek taki, e dla kadego stanu
moliwe jest przejcie do kadego innego stanu .
pierwsza trjka arwek to pierwsze trzy arwki liczc od lewej strony. Druga
trjka to arwki 4,5,6 itd. Dla 1 (3) ostatnia arwka jest pierwsz arwk nowej trjki.
liczba trjek (ostatnia arwka jest traktowana jako pierwsza arwka nastpnej trjki)
numer trjki
pozycja danej arwki w trjce
minimalna liczba krokw do zapalenia danej arwki, lub stanu.

12

Spis twierdze
1
Kady stan arwek mona zapisa w postaci stanu uytych przyciskw.
2
Kolejno przyciskania przecznikw jest niewana.
3
Dla kadego liczba stanw jest rwna 2 .
4
Gdy 0 (3), lub 1 (3) to stany dziel si na jedn rodzin, natomiast gdy
1 (3) dziel si one na dwie rodziny.
5
Dla 3 zawsze mona zapali co trzeci arwk, liczc od lewej lub prawej strony, lub innej
zapalonej arwki.
6
Jeeli naciniemy dany przecznik parzyst ilo razy to nie zmienia to jego stanu, natomiast jeeli
zastanie nacinity nieparzyst ilo razy, jest to rwnoznaczne z jednorazowym wciniciem.
7
Dla iloci arwek 0 (3) mona obliczy dla kadej arwki korzystajc ze wzorw:

2 + 2,
=1
3

=
2 + 1,
=2
3
{ 2,
=3
2

Jeeli 1 (3) korzystajc ze wzorw:


1
,
=1
3
= {
( ) (),
=2
2,
=3

Natomiast gdy 2 (3), wtedy jedynym regularnym wzorem bdzie wzr na zapalenie co
trzeciej arwki zarwno od lewej jak i od prawej strony. Wic:
= 2

13

8
Zaczynajc od stanu pocztkowego moemy przej do kadego stanu kiedy 0 (3) oraz
1 (3), natomiast gdy 2 (3), wtedy moemy przej jedynie do jednej z rodzin, w
ktrej stan pocztkowy si znajduje.

14

Bibliografia

[Szk] Szkibiel, Grzegorz: Wstp do teorii informacji i kodowania, Szczecin 2013


[Urb] Urbaski, Andrzej: Kryptografia na potrzeby Internetu, strona internetowa autora
http://www.cs.put.poznan.pl/aurbanski/
[KPiS] Konfiguracje prostych i stokowych, praca zbiorowa, red. T. Szemberg. Wydawnictwo
Szkolne Omega 2015
[CLRS] Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald, Stein, Clifford:
Wprowadzenie do algorytmw PWN 2013

15

You might also like