28
Klassikalised ˇ sifrid: nihutus- ja korrutusˇ sifrid Veebruar, 2013 Klassikalised ˇ Sifrid: Nihutus- ja korrutusˇ sifrid Ahto Buldas

Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Klassikalised Sifrid:Nihutus- ja korrutussifrid

Ahto Buldas

Page 2: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Kruptosusteem

• X - loplik avatekstide hulk.

• Y - loplik kruptogrammide hulk.

• Z - loplik votmeruum, st koikvoimalike votmete hulk.

Iga z ∈ Z korral on olemas efektiivselt arvutatavad funktsioonid

Ez : X→ Y ja Dz : Y → X ,

mis iga x ∈ X korral rahuldavad samasust Dz(Ez(X)) = X.

2

Page 3: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Krupteeritud andmeedastus

Turvalisus: Rundajal ei tohi olla voimalik kruptogrammi y pohjal tuletadaavateksti x ega votit z.

3

Page 4: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Krupteerimisfunktsiooni omadusi

Krupteerimisfunktsioon Ez peab olema iga z vaartuse korral injektiivne, stseosest Ez(x) = Ez(x′) jareldub x = x′.

Vastasel korral ei teaks Bob, millise sonumi (kas x voi x′) Alice tegelikultsaatis.

Kui X = Y, siis krupteerimisfunktsioon Ez on hulga X permutatsioon.

4

Page 5: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Nihutussiffer

Tahestiku tsukliline nihe mingi kindla vaartuse vorra.

Naiteks Julius Caesari (100–44 e.m.a.) poolt kasutatud sifris kolme vorra:

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

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

NB! Enne erinevat tuupi sifrite kasitlemist tutvume modulaararitmeetikaga.

5

Page 6: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Arvude kongruentsus mooduli m jargi

Olgu m > 1 mingi taisarv. Taisarve a ja b nimetatakse kongruentseteksmooduli m > 1 jargi ja kirjutatakse

a ≡ b (mod m) ,

kui vahe b− a jagub jaagita arvuga m (tahistakse m | (b− a)).

Igale taisarvule a vastab parajasti uks arv a hulgast

Zm = {0,1, . . .m− 1} ,

nii et a ≡ a′ (mod m). Seda arvu tahistatakse

a′ = a mod m .

6

Page 7: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Arvuvald Zm

Hulgas Zm saab defineerida liitmise ja korrutamise operatsioonid ⊕ ja ⊗jargmiselt:

a⊕ b = (a+ b) mod m ,

a⊗ b = (a · b) mod m.

NŁiteks arvuvallas Z3:

2⊕ 2 = 2⊗ 2 = 1, 1⊕ 2 = 0 ,

ja arvuvallas Z5:

2⊕ 3 = 0, 3⊕ 3 = 1 = 3⊗ 2 ja 3⊗ 4 = 2 .

7

Page 8: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Kujutuse mod m : Z→ Zm omadused

•modm on projektor :

a mod m mod m = a mod m .

•modm sailitab tehted (on homomorfism): Kuia′ = a mod m, b′ = b mod m ja c′ = c mod m, siis

a+ b = c =⇒ a′ ⊕ b′ = c′

a · b = c =⇒ a′ ⊗ b′ = c′ .

Jareldus 1: Arvutustes

a+ b · (c+ d · (e+ f)) . . . mod m

voib tehte modm teha mistahes vaheetapil arvutuse tulemust muutmata.

Jareldus 2: ⊕ ja ⊗ on paljuski sarnased tavalise liitmise ja korrutamisega.8

Page 9: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Arvuvalla Zm tavalised omadused

Edaspidi kasutame ⊕ ja ⊗ asemel tavalisi tehtemarke + ja ⊗

Kommutatiivsus: a+ b = b+ a, a · b = b · a

Assotsiatiivsus: (a+ b) + c = a+ (b+ c), (a · b) · c = a · (b · c)

Nullelement: a+0 = 0+ a = a, a · 0 = 0 · a = 0

Uhikelement: a · 1 = 1 · a = a

Distributiivsus: (a+ b) · c = a · c+ b · c,

9

Page 10: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Arvuvalla Zm erilised omadused

• Elemendi a vastandelement −a on m− a, sest

a+ (m− a) = m ≡ 0 (mod m) .

• Nullitegurid: kahe mittenullise elemendi korrutis voib olla null. Naiteksarvuvallas Z6 on

2 · 3 ≡ 0 .

• Igal elemendil a ei tarvitse olla poordelementi a−1 nii et

a · a−1 ≡ 1 .

Naiteks nulliteguritel ei saa olla poordelementi!

10

Page 11: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Nihutussiffer Ladina tahestikus ja arvuvald Z26

Teksti krupteerimiseks asendatakse tahed A ... Z arvudega 0 . . .25:

A B C D E F G H I J ... T U V W X Y Z0 1 2 3 4 5 6 7 8 9 ... 19 20 21 22 23 24 25

X = Y = Z = Z26.

Krupteerimine ja dekrupteerimine:

Ez(x) = x+ z mod 26

Dz(y) = y − z mod 26 = y+ (26− z) mod 26

Kui z = 3, siis saame Caesari sifri.

11

Page 12: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Krupteerimisnaide

Sonumi KOHTUME KELL KAKS krupteerimiseks votmega z = 7:

• Kodeerime sonumi:K O H T U M E K E L L K A K S10 14 7 19 20 12 4 10 4 11 11 10 0 10 18

• Kasutame teisendust y = x+7 mod 26:10 14 7 19 20 12 4 10 4 11 11 10 0 10 1817 21 14 0 1 19 11 17 11 18 18 17 7 17 25

• Dekodeerime kruptogrammi:17 21 14 0 1 19 11 17 11 18 18 17 7 17 25R V O A B T L R L S S R H R Z

12

Page 13: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Nihutussifri murdmine

Oletame, et luure on saanud katte strateegilise tahtsusega kruptogrammi

NDVVLGRQNDUYDVHG

ja on pohjust oletada, et kasutati nihutussifrit.Proovime labi koik votmed alates votmest z = 1 ja uritame dekrupteerida,kuni saame loomuliku keele teksti:

z Dekrupteeritud tekst1 MCUUKFQPMCTXCUGF2 LBTTJEPOLBSWBTFE3 KASSIDONKARVASED

Seega oige voti z = 3 on leitud ja kruptogramm edukalt dekrupteeritud.

Jareldus: Nihutussiffer ei ole (korduvkasutuseks!) turvaline, sest votmeidon liiga vahe.

13

Page 14: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Afiinne siffer

X = Y = Zm

Voti z on paar (a, b), kus a, b ∈ Zm

Krupteerimine: E(x) = ax+ b mod m

Kusimus: Kas iga votme (a, b) korral on funktsioon E injektiivne?

Vastus on eitav: kui naiteksm = 26, a = 13 ja b=0, siis x1 = 0 ja x2 = 2

annavad sama krptogrammi 0, sest

E(2) = 2 · 13 mod 26 = 0 = 0 · 13 mod 26 = E(0) .

14

Page 15: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Afiinse sifri pooratavus

Afiinne siffer esitub korrutussifri E·a(x) = x · a mod m ja nihutussifriE+b(x) = x+ b mod m kompositsioonina:

E(x) = E+b(E·a(x)) .

Et nihutussiffer on pooratav, siis afiinse sifri pooratavuse kusimus taandubkorrutussifri E·a pooratavuse kusimusele.

Kusimus: Milliste a vaartuste korral on teisendus

y = E·a(x) = a · x mod 26

injektiivne, s.t. E·a(x1) = E·a(x2) ainult siis kui x1 = x2?

15

Page 16: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Suurim uhistegur ja pooratavuse tingimus

Naturaalarvude a ja b suurimaks uhisteguriks sut(a, b) nimetatakse suuri-mat arvu, millega molemad arvud a ja b jaguvad jaagita, st

sut(a, b) = max{d : d | a ja d | b} .

Teoreem: Korrutussiffer E·a on pooratav parajasti siis, kui sut(a,m) = 1.

Teoreemi toestame hiljem, kui oleme tutvunud suurima uhisteguri omadus-tega.

16

Page 17: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Eukleidese algoritm

Pohineb jargmistel rekurrentsetel seostel:

sut(a, b) =

a kui a = bsut(a− b, b) kui a > bsut(a, b− a) kui a < b

(1)

Algoritmi too on esitatav vorduste jadana:

sut(a, b) = sut(a1, b1) = . . . = sut(am, bm) = am ,

kus m on vahim selline indeks, et am = bm.

Algoritm peatub (selline m leidub!), sest vastasel korral oleks

a+ b > a1 + b1 > . . . > ai+ bi > . . .

naturaalarvude lopmatult kahanev jada, mida ei saa eksisteerida.17

Page 18: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Eukleidese algoritmi korrektsus

Piisab kui toestada seoste (1) kehtivus. Seos sut(a, a) = a on ilmne. See-ga piisab kui toestada a > b eeldusel seos

sut(a, b) = sut(a− b, b) .

OlguDa,b = {d : d | a ja d | b} arvude a ja b koigi uhiste tegurite hulk. Suu-rima uhisteguri definitsiooni jargi sut(a, b) = maxDa,b ja sut(a − b, b) =

maxDa−b,b. Piisab kui toestada hulkade vordsus Da,b = Da−b,b, mis tu-leneb tahelepanekutest, et:• Kui d | a ja d | b, siis ka d | (a− b), ja seega Da,b ⊆ Da−b,a• Kui d | (a − b) ja d | b, siis ka d | a, sest a = (a − b) + b, ja seegaDa,b ⊇ Da−b,a.Seos sut(a, b) = sut(a, b− a) (eeldusel b > a) toestatakse analoogiliselt.

18

Page 19: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Jareldused Eukleidese algoritmist

Jareldus 1: Kui a > 0 ja b > 0 on taisarvud, siis leiduvad α, β ∈ Z, nii et

sut(a, b) = αa+ βb .

Jareldus 2: sut(a, b) = 1 parajasti siis kui leiduvad α, β ∈ Z, nii et

αa+ βb = 1 .

Toestus: Kui sut(a, b) = 1, siis vt Jareldus 1. Kui aga leiduvad α, β ∈ Z,nii et αa+ βb = 1, ja sut(a, b) = d > 1, siis jarelikult leiduvad taisarvuda′ ja b′, nii et a = d · a′, b = d · b′ ja

1 = αa+ βb = d ·∈Z︷ ︸︸ ︷

(αa′+ βb′) ,

mis on d ≥ 2 tottu voimatu.

19

Page 20: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Veelkord korrutussifri pooratavusest

Teoreem: Korrutussiffer E·a on pooratav parajasti siis, kui sut(a,m) = 1.

Toestus: Kui sut(a,m) = 1 ja E·a(x1) = E·a(x2) mingite x1, x2 ∈ Zmkorral, siis uhelt poolt a(x1 − x2) ≡ 0 (mod m) ja seega a(x1 − x2) =k ·m mingi k korral; ja teiselt poolt (Jareldusest 2) leiduvad α, β ∈ Z, nii etαa+ βm = 1 ja seega

(1− βm)(x1 − x2) = αa(x1 − x2) = αkm ,

mistottu

x1 − x2 = m · [β(x1 − x2) + αk] ≡ 0 (mod m) .

Seega x1 = x2, eelduse x1, x2 ∈ Zm tottu.

Kui sut(a,m) = d > 1 ja m = d · m′, siis E·a(m′) = E·a(0) = 0 jaseega E·a ei ole injektiivne.

20

Page 21: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Korrutussifri desifreerimine ja poordelemendid

Teoreem: Kui sut(a,m) = 1, siis ∃a−1 ∈ Zm, nii et a−1·a ≡ 1 (mod m).Toestus: Leiduvad α, β ∈ Z, nii et αa+ βm = 1. Defineerime a−1 = α

mod m. Siis

a−1 · a ≡ αa = 1− βm ≡ 1 (mod m) .

Def.: Elementi a−1 nimetatakse elemendi a poordelemendiks modulo m.Tahistatakse ka 1

a mod m.

Jareldus: Korrutussifri E·a desifreerimisfunktsioon on korrutussiffer E·a−1.Toepoolest,

E·a−1(E·a(x)) ≡ a−1 · (a · x) = (a−1 · a) · x ≡ x (mod m) .

21

Page 22: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Poordelemendi leidmine Eukleidese algoritmi abil

Naide: Leiame 13 mod 26. Tahistame a = 3 ja b = 26.

3 26 a b3 2 a b− 8a1 2 a− (b− 8a) = 9a− b b− 8a1 1 9a− b b− 8a− (9a− b) = −17a+2b

Seega, 9 · 3− 26 = 1, millest tulenevalt 9 · 3 ≡ 1 (mod 26)

22

Page 23: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Kui palju on pooratavaid elemente mod m?

Vastust kusimusele nimetatakse Euleri funktsiooniks ja tahistatakse ϕ(m).

Euleri funktsiooni ϕ(m) saab arvutada, kuid selleks peab teadma arvu mlahutust algarvude astmete korrutisena.

Algarvuks nimetatakse arvu p ≥ 2, mis jagub vaid 1 ja p-ga. Naiteks: 2, 3,5, 7, 11, 13, ...

Aritmeetika pohiteoreem: Iga positiivne taisarv m > 0 lahutub uhesel viisilalgravude astmete korrutiseks

pe11 · p

e22 · . . . · p

ekk ,

kus p1 < p2 < . . . < pk.

Naiteks: 60 = 22 · 31 · 51.23

Page 24: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Aritmeetika Pohiteoreemi toestus

Lemma 1: Iga taisarv m ≥ 2 on algarvude korrutis.Toestus: Olgum vahim kordarv, mis ei ole algarvude korrutis. Seega leidu-vad m1,m2 < m, nii et m = m1 ·m2. Seega on nii m1 kui m2 algarvudekorrutised. Jarelikult on seda ka m. Vastuolu!

Lemma 2: Kui sut(a1, b) = 1 = sut(a2, b), siis sut(a1 · a2, b) = 1.Toestus: Vastavalt eeldusele leiduvad α1, β1 ja α2, β2, nii et

α1a1 + β1b = 1 = α2a2 + β2b ,

ja seega

1 = (α1a1 + β1b)︸ ︷︷ ︸1

(α2a2 + β2b)︸ ︷︷ ︸1

= α1α2︸ ︷︷ ︸α

·a1a2 + (β1 + α1a1β2)︸ ︷︷ ︸β

·b ,

millets jarelduvalt sut(a1a2, b) = 1.24

Page 25: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Aritmeetika Pohiteoreemi toestus

Teoreem: Iga taisarv m ≥ 2 on uhesel viisil esitatav algarvude korrutisenap1 · p2 · . . . · pk, kus p1 ≤ p2 ≤ . . . ≤ pk.

Toestus: Olgu m vahim arv, millel on kaks erinevat esitust p1p2 . . . pk =

m = q1q2 . . . q`.

Seega pi 6= qj, sest vastasel korral oleks m′ = m/pi < m veel vaiksemarv kahe erineva (NB!) esitusega.

Jarelikult sut(p1, q1) = sut(p2, q1) = . . . = sut(pk, q1) = 1, millesteelduse q1 | m ja Lemma 2 pohjal jareldub vastuolu:

q1 = sut(m, q1) = sut(p1p2 · . . . · pk, q1) = 1 .

25

Page 26: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Euleri funktsiooni arvutamine

Teoreem: Kui m esitub algarvude p1 < p2 < . . . < pk astmete korrutisenam = p

e11 · p

e22 · . . . · p

ekk , siis

ϕ(m) =(pe11 − p

e1−11

)·(pe22 − p

e2−12

)· . . . ·

(pekk − p

ek−1k

)= m ·

(1−

1

p1

)·(1−

1

p2

)· . . . ·

(1−

1

pk

).

Toestus pohineb elimineerimisprintsiibil, mis on uks elementaarkombina-toorika alustaladest.

26

Page 27: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Elimineerimisprintsiip

Olgu P1, . . . , Pk hulga M alamhulgad. Soovime leida valemit nende ele-mentide arvu jaoks, mis ei kuulu mitte uhtegi hulkadest Pi, s.t. tahamearvutada |M\ ∪i Pi |.

Kui k = 1, siis |M\ ∪i Pi |=|M| − |P1|.

Kui k = 2, siis |M\ ∪i Pi |=|M| − |P1| − |P2| + |P1 ∩ P2|.

Kui k = 3, siis:

|M\ ∪i Pi | = |M| − |P1| − |P2| − |P3|+ |P1 ∩ P2| + |P1 ∩ P3| + |P2 ∩ P3| − |P1 ∩ P2 ∩ P3| .

27

Page 28: Klassikalised Sifrid:ˇ Nihutus- ja korrutussifridˇahtbu/klassikalisedsifrid.pdf · Klassikalised sifrid: nihutus- ja korrutusˇ sifridˇ Veebruar, 2013 Krupteerimisn¨ aide¨ Sonumi˜

Klassikalised sifrid: nihutus- ja korrutussifrid Veebruar, 2013

Elimineerimisprintsiip ja Euleri funktsioon

Olgu M = Zm, kus m = pe11 · p

e22 · . . . · p

ekk . Olgu Pi hulk, mis koosneb

pi-ga jaguvatest arvudest.

|Pi|= mpi

, |Pi ∩ Pj|= mpipj

... |Pi1 ∩ . . . ∩ Pi`|=m

pi1pi2...pi`.

Element a ∈ Zm on pooratav parajasti siis, kui ta ei kuulu uhtegi hulkadestP1, . . . , Pk, s.t. ϕ(m) =|M\ ∪i Pi | ja seega

ϕ(m) = m−m

p1− . . .−

m

pk+

m

p1p2+ ...+

m

pk−1pk−

m

p1p2p3− . . .

= m ·(1−

1

p1

)·(1−

1

p2

)· . . . ·

(1−

1

pk

).

28