32
1 DAUGAVPILS UNIVERSIT ¯ ATE Dabaszin¯at¸ nuunmatem¯atikasfakult¯ate Matem¯atikaskatedra Bakalaura studiju programma “Matem¯atika” Studiju kurss Veselo skaitl ¸u teorija 13.lekcija Doc¯ et¯ajs: Dr. P. Daugulis 2007./2008.studiju gads Saturs akums Beigas J I Atpakal ¸ Aizv¯ ert Pilns ekr¯ ans

Studiju kurss Veselo skaitl»u teorija 13.lekcija · 2008. 5. 31. · 1 DAUGAVPILS UNIVERSITATE„ Dabaszin„atnu» un matem„atikas fakult„ate Matem„atikas katedra Bakalaura

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    DAUGAVPILS UNIVERSITĀTEDabaszinātņu un matemātikas fakultāte

    Matemātikas katedraBakalaura studiju programma “Matemātika”

    Studiju kurss

    Veselo skaitļu teorija

    13.lekcijaDocētājs: Dr. P. Daugulis

    2007./2008.studiju gads

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 2

    Saturs

    1. Skaitļu teorijas pielietojumi informācijas aizsardz̄ıbā 31.1. Vispārēja informācija par šifrēšanu un informācijas aiz-

    sardz̄ıbu . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1. Kriptogrāfijas pamatjēdzieni . . . . . . . . . . 31.1.2. Kriptogrāfijas vēsture . . . . . . . . . . . . . . 71.1.3. Simetriskās atslēgas kriptosistēmas . . . . . . . 131.1.4. Publiskās atslēgas kriptosistēmas . . . . . . . . 151.1.5. Steganogrāfija . . . . . . . . . . . . . . . . . . . 19

    1.2. Publisko atslēgu kriptosistēmu konkrētas realizācijas . 201.2.1. Rivest-Shamir-Adleman (RSA) kriptosistēma . 211.2.2. El Gamala kriptosistēma . . . . . . . . . . . . 271.2.3. Diffie-Hellman atslēgu apmaiņas algoritms . . . 30

    2. 13.mājasdarbs 32

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 3

    1. Skaitļu teorijas pielietojumi informāci-jas aizsardz̄ıbā

    1.1. Vispārēja informācija par šifrēšanu un infor-mācijas aizsardz̄ıbu

    1.1.1. Kriptogrāfijas pamatjēdzieni

    Kā aizsargāt datus no nesankcionētas pieejas?• fiziskā barjera- fiziski izolēt informāciju no ienaidniekiem;• loǧiskā barjera- uzstād̄ıt sistēmu, kas pārbauda lietotāja pieejas

    ties̄ıbas un kontrolē vai tās tiek pareizi izmantotas;

    • šifrēšana- uzglabāt un pārsūt̄ıt datus tā, lai ienaidnieki nevarētutos izmantot, pat ja viņu tiem piekļūst.

    Kriptogrāfija (kriptoloǧija) - māc̄ıba par informācijas slēpšanu,tiek pielietota saist̄ıbā ar informācijas droš̄ıbu (interneta sakari, in-terneta komercija, militārie sakari u.c.).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 4

    Kriptogrāfijas pamatjēdzieni:• šifrēšana - atklātas informācijas (atklātā teksta) pārvēršana ne-

    saprotamā formā (šifrētajā tekstā);

    • dešifrēšana - operācija, kas ir inversa attiec̄ıbā uz šifrēšanu:šifrētā teksta pārvēršana atklātajā tekstā;

    • šifri - šifrēšanas un dešifrēšanas algoritmi;• šifra atslēga - šifra parametri, kas parasti ir slepeni un tiek bieži

    main̄ıti (svar̄ıgos gad̄ıjumos tiek izmantoti tikai vienu reizi);

    Šifrēšana ir funkcija

    E : A×KE → S,kur

    • A ir atklāto tekstu kopa,• KE ir šifrēšanas atslēgu kopa,• S ir šifrēto tekstu kopa.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 5

    Dešifrēšana ir funkcija

    D : S ×KD → A,kur KD ir dešifrēšanas atslēgu kopa.

    Dešifrēšanai bez informācijas par atslēgu (šifra uzlaušanai) ir jābūtļoti grūtai problēmai, ko nav iespējams atrisināt reālā laikā. Kānoteikt šifra vērt̄ıbu? Ja šifra uzlaušanas izmaksa ir mazāka kā šifrētāsinformācijas vērt̄ıba, tad šifru var uzskat̄ıt par labu.

    Šifrēšanas metode var tikt uzskat̄ıta par drošu, ja izpildās šādinosac̄ıjumi:

    • ir pierād̄ıts vai tiek uzskat̄ıts, ka dešifrēšana nav iespējama beznoteiktas matemātiskas problēmas P atrisināšanas,

    • ir pierād̄ıts vai tiek uzskat̄ıts, ka problēmas P atrisināšana naviespējama ı̄sā laikā.

    Pirms datoru parād̄ı̌sanās kriptogrāfija nodarbojās galvenokārtar informācijas slepen̄ıbas nodrošināšanu militāriem, diplomātiskiem,

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 6

    ekonomiskiem vai personiskiem mērķiem.

    L̄ıdz ar datoru ēras sākumu un ar to saist̄ıto informācijas plūsmaspalielināšanos kriptogrāfija nodrošina šādas papildus funkcijas:

    • sūt̄ıjuma integritātes pārbaude;• sūt̄ıtāja un saņēmēja autentificēšana;• digitālā paraksta nodrošināšana;• slepenas informācijas dal̄ıta glabāšana (kādā personu grupā kat-

    ra persona zina daļu no informācijas, katra k personu grupavar rekonstruēt informāciju, bet grupa, kurā ir mazāk nekā kpersonu - nevar).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 7

    1.1.2. Kriptogrāfijas vēsture

    Vēsturiski pirmais aprakst̄ıtais šifrēšanas izmantošanas gad̄ıjums -Jūlija Cēzara šifri (ap 50BC). Senos laikos lielākā daļa cilvēku nepratalas̄ıt, tāpēc tika izmantoti šādi vienkāršākie šifrēšanas veidi:

    • burtu kārt̄ıbas maiņa vārdos;• burtu aizvietošana ar citiem burtiem (piemēram, Cēzara šifrs,

    kurā katrs burts tika aizvietots ar to burtu, kas atrodas n poz̄ı-cijas tālāk alfabētā, šajā gad̄ıjumā atslēga ir skaitlis n).

    Ievērosim, ka Cēzara šifrēšana tiek veikta neatkar̄ıgi katram bur-tam ar formulu

    E(x) = x + n (mod 26)un dešifrēšana - ar formulu

    D(x) = x− n (mod 26)(burtiem atbilst skaitļi no 0 l̄ıdz 26 vai atlikumu klases, burts x tiekaizvietots ar burtu E(x)).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 8

    Katru sākotnējā teksta burtu x var interpretēt ar̄ı kā viendimen-sionālu vektoru −→x = (x), un tad Cēzara šifrēšanu var interpretēt ar̄ıkā vektoru pārveidojumu

    E(−→x ) = −→x +−→n ,kur −→n = (n).

    Aizvietošanas šifri ir viegli uzlaužami, ja izmanto statistisko in-formāciju par burtu biežumu dotajā valodā. Lai atrastu nob̄ıdi, irjāatrod simbols x, kas šifrētajā tekstā atkārtojas visbiežāk. Ja dotajāvalodā visbiezāk atkārtojas burts y, tad nob̄ıde ir vienāda ar soļuskaitu no y l̄ıdz x.

    Ap 1467.gadu tika izgudrota polialfabētiskā aizvietošana, kurāburti tika aizvietoti ar dažādiem burtiem atkar̄ıbā no to atrašanās vie-tas tekstā. Populārākais polialfabētiskās aizvietošanas šifrs - Vigenèrešifrs, kas darbojas saskaņā ar šādu algoritmu:

    • tiek fiksēts atslēgas vārds K = k1k2...km - parasti vārds vaiteikums tajā pašā valodā, kurā tiek rakst̄ıts teksts;

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 9

    • K tiek savienots pats ar sevi tik ilgi, kamēr savienojums pārsniedzšifrējamā teksta garumu, tiek iegūts vārds K = KK...K;

    • K tiek rakst̄ıts tieši zem šifrējamā teksta;• šifrējamā teksta burts τ , zem kura atrodas burts κ tiek aizvietots

    ar to burtu, kas ir nob̄ıd̄ıts no τ par tādu pašu attālumu, parkuru κ ir nob̄ıd̄ıts no burta a.

    Ievērosim, ka Vigenère šifrēšana tiek veikta neatkar̄ıgi katram bur-tam ar formulu

    E(xi) = xi + ki mod |K| (mod 26)

    un dešifrēšana - ar formulu

    D(xi) = xi − ki mod |K| (mod 26)

    Vigenère šifrēšana var tikt interpretēta kā vektoru pārveidojumsšādā veidā:

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 10

    • sākotnējais šifrējamais teksts X = x1x2... tiek sadal̄ıts virknēsX1 = (x1, ..., xm),X2 = (xm+1, ..., x2m),...

    • katra virkne Xi tiek interpretēta kā m-dimensionāls vektors −→X i,• atslēgas vārds K tiek interpretēts kā m-dimensionāls vektors −→K ,• ar katru vektoru −→X i tiek veikts šifrēšanas pārveidojums

    E(−→X i) =

    −→X i +

    −→K.

    19.gs vidū tika atklātas metodes Vigenère šifra atšifrēšanai, kasbalst̄ıjās uz šifrētā teksta aritmētisko progresiju apakšvirkņu (formā(xi, xi+d, xi+2d, ...)) statistisko anal̄ızi - lai uzlauztu šifru, ir jāatrodtāda aritmētiskās progresijas apakšvirkne, kurā simbolu biežuma sa-dal̄ıjums ir tuvs burtu biežuma sadal̄ıjumam dotajā valodā.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 11

    19.gs beigās kriptogrāfija tika pieņemts Kerkhofa princips - laišifrēšanas metode būtu droša, tai ir jābalstās tikai uz atslēgas slepen̄ıbu(ir jāpieņem, ka ienaidnieks zina metodi).

    Ap 1930.gadu tika izgudrota grūtāk uzlaužama polialfabētiskāsšifrēšanas metode - Hilla metode, kurā šifrēšana atšķir̄ıbā no Vigenèrešifrēšanas tiek veikta ar af̄ıno pārveidojumu

    E(−→X i) = A−→X i +−→K ,

    kur A ir invertējama matrica.

    Uz Otrā pasaules kara beigu laiku polialfabētiskā šifrēšana ar elek-tromehāniskām ier̄ıcēm sasniedza augstu l̄ımeni (piemēram, vācu Enig-ma šifrēšanas maš̄ına). Šifrēšanas tika veikta ar Vigenere vai Hilla tipametodēm un garām (šifrējamā teksta garumā) vienu reizi izmantoja-mām atslēgām. Dešifrēšana bija motivējošs faktors elektronisko skait-ļošanas ier̄ıču att̄ıst̄ıbai. Alans Tjūrings kara laikā bija viens noBritānijas dešifrēšanas darba akt̄ıviem dal̄ıbniekiem.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 12

    Pēc Otrā pasaulers kara l̄ıdz ar datoru att̄ıst̄ıbu tika izgudrotassarežǧ̄ıtākas šifrēšanas metodes:

    • tiek šifrēti dažāda formāta teksti (piemēram, binārās virknes);• šifrēšanas tiek veikta simbolu grupām - blokiem;• tiek intens̄ıvi pielietoti matemātikas (skaitļu teorijas, varbūt̄ıbu

    teorijas) sasniegumi.

    Datori tika izmantoti ar̄ı dešifrēšanā.

    Ja abas atslēgas ir slepenas, tādu šifrēšanas metodi sauc par si-metriskās atslēgas kriptosistēmu. 70.gadu vidū Lielbritānijā (Ellis-Cocks-Williamson) un ASV (Diffie-Hellman) tika izgudrotas vairākaspubliskās atslēgas kriptosistēmas, kurās viena no divām atslēgām irzināma visiem, bet otra ir slepena.

    80.-90.gados tika izgudrotas vairākas kriptosistēmas, kuru dešif-rēšana balstās vienlaic̄ıgi uz vairākām matemātikas sadaļām (veselo

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 13

    skaitļu teoriju, polinomu teoriju u.c.) Mūsdienās kriptogrāfijas att̄ıs-t̄ıba turpinās.

    1.1.3. Simetriskās atslēgas kriptosistēmas

    Simetriskās atslēgas kriptosistēma (SAK) ir kriptosistēma, kurāsūt̄ıtājam un saņēmējam ir kop̄ıga informācija par atslēgu. L̄ıdz 1976.gadam bija tikai tādas šifrēšanas metodes.

    Ir divu veidu simetriskās atslēgas kriptosistēmas:• plūsmas šifrēšana;• bloku šifrēšana.

    Plūsmas šifrēšana ir l̄ıdz̄ıga Vigenere šifrēšanai, kurā atslēga tiekǧenerēta ar slepenu algoritmu pal̄ıdz̄ıbu izmantojot nejaušos skaitļus.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 14

    Bloku šifrēšana ir šifrēšanas metode, kurā teksts tiek dal̄ıts apakš-virknēs - blokos (parasti blokā ir 64 vai 128 biti) un katrs bloks tiekšifrēts ar slepenas atslēgas pal̄ıdz̄ıbu.

    Kriptogrāfiskā hash-funkcija ir pārveidojums, kas sūtāmo tekstupārveido par daudz ı̄sāku šifrētu tekstu.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 15

    1.1.4. Publiskās atslēgas kriptosistēmas

    Publiskās atslēgas jeb asimetriskā kriptosistēma (PAK) ir relat̄ıvijauna metode, kurā viena no šifrēšanas/dešifrēšanas operācijām iratklāta, bet otra - slepena.

    Š̄ı metode tika izstrādāta, lai mazinātu grūt̄ıbas, kas ir saist̄ıtas arslepeno atslēgu nodošanu visām pusēm, kas piedalās sakaros. Ar š̄ıtipa šifrēšanas metožu pal̄ıdz̄ıbu var vieglāk pārraid̄ıt informāciju paneaizsargātiem sakaru kanāliem.

    Prec̄ızāk, katram lietotājam ir divas atslēgas:• publiskā atslēga (publiski pieejama visiem) un• privātā atslēga (slepena, zināma tikai noteiktam lietotāju lokam).

    Abas atslēgas ir saist̄ıtas ar noteiktiem matemātiskiem algorit-miem, bet zinot publisko atslēgu, ir praktiski neiespējami atrast pri-vāto atslēgu. Tādējādi, katram lietotājam X ir definētas divas sav-

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 16

    starpēji inversas funkcijas EX un DX = E−1X tādas, ka

    EX ◦DX = id un DX ◦ EX = id.Funkcija EX katram X ir publiski zināma.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 17

    Šādā kriptosistēmā ir iespējamas divas operācijas:• (šifrēšana ar publisko atslēgu) lai nosūt̄ıtu lietotājam X slepe-

    nu sūt̄ıjumu M , šis sūt̄ıjums ir jāaizšifrē ar funkciju EX , šādāgad̄ıjumā tikai X varēs izlas̄ıt sūt̄ıjumu EX(M), pielietojot tamsavu slepeno funkciju DX :

    DX(EX(M)) = M.

    • (digitālā paraksta nodrošināšana) lai lietotājs X varētu pierād̄ıtsavu identitāti, viņš/viņa aizšifrē kādu noteiktu tekstu N (pie-mēram, savu vārdu) ar savu slepeno funkciju DX , jebkurš sūt̄ı-juma DX(N) saņēmējs var pielietot šim sūt̄ıjumam publisko fun-kciju EX , izlas̄ıt rezultātu EX(DX(N) = N un pārliecināties, kasūt̄ıtājs ir bijis X (vai vismaz kāds, kas zina X slepeno atslēgu).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 18

    1.1. piez̄ıme. Viena no lielākajām PAK problēmām - rūpēties parto, ka ienaidnieki nerada kļūdas publiskajās atslēgās. PAK ir darbi-etilp̄ıgākas no skaitļošanas viedokļa sal̄ıdzinājumā ar SAK.

    1.2. piez̄ıme. PAK var tikt lietota kombinācijā ar SAK. Piemēram,sūt̄ıtājs aizšifrē sūt̄ıjumu M ar slepenu šifrēšanas funkciju A, aizšifrēA ar saņēmēja X publisko atslēgu, un nosūta X pāri (EX(A), A(M)).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 19

    1.1.5. Steganogrāfija

    Steganogrāfija ir māc̄ıba par slepenās informācijas slēpšanu kādāaptverošā informācijas vidē, tā lai ienaidnieks nebūtu informēts parslepenās informācijas esamı̄bu.

    Senos laikos pielietotas steganogrāfijas metodes piemērs - vergamnoskuva galvu, uztetovēja sūt̄ıjumu un, kad mati atauga, nosūt̄ıjavergu saņēmējam. Viduslaikos tika izgudrotas neredzamās tintes.

    Steganogrāfisks sūt̄ıjums parasti izskatās kā nevain̄ıgs informācijaskopums - attēls, raksts av̄ızē, mūzikas gabals.

    Steganogrāfija tiek bieži izmantota mūsdienu datortehnoloǧijās:• teksta parametru (pieturz̄ımju, fontu) izmantošana;• neredzamo fontu izmantošana;• interneta sūt̄ıjumu aiztures laika variēšana;• informācijas iekodēšana trokšņa veidā mūzikas failos;

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 20

    1.2. Publisko atslēgu kriptosistēmu konkrētas re-alizācijas

    PAK balstās uz matemātiķiem zināmu novērojumu, ka ir funkci-jas/algoritmi, kuriem ir grūti atrast inversās funkcijas/algoritmus.

    Piemēri:• reizināt ir vieglāk nekā dal̄ıt;• kāpināt kvadrātā ir vieglāk nekā atrast kvadrātsakni;• reizināt pirmskaitļus ir vieglāk nekā atrast skaitļa sadal̄ıjumu

    pirmskaitļu reizinājumā;

    • atrast ab (mod m) ir vieglāk nekā atrast inda(b);• izjaukt puzli ir vieglāk nekā salikt;• nolob̄ıt olu ir vieglāk nekā salikt atpakaļ čaumalu.

    PAKā vieglā funkcija tiek izmantota kā publiski pieejamā funkcija,grūtā (inversā) funkcija tiek izmantota kā slepenā privātā funkcija.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 21

    1.2.1. Rivest-Shamir-Adleman (RSA) kriptosistēma

    RSA kriptosistēmas atslēgu ǧenerēšanas algoritms:1. Izvēlēties divus lielus pirmskaitļus p un q.

    2. Atrast n = pq, n tiek lietots kā pal̄ıginformācija (modulis) abāsatslēgās.

    3. Atrast ϕ(n) = (p− 1)(q − 1).4. Atrast invertējamu elementu e ∈ Uϕ(n) tādu, ka 1 < e < ϕ(n)

    (LKD(e, ϕ(n)) = 1), e ir publiskā atslēga.

    5. Atrast d ≡ e−1 (mod ϕ(n)), piemēram, izmantojot Eikl̄ıda al-goritmu, d ir privātā (slepenā) atslēga.

    Publiski pieejamā informācija - n un e. Slepenā informācija - p, q,d.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 22

    RSA šifrēšanas algoritms (funkcija EX):1. Sadal̄ıt sūtāmo tekstu M daļās m1m2...mk tā, lai katra daļa mi

    būtu mazāka kā n saskaņā ar publiski zināmu algoritmu.

    2. Katru teksta daļu mi pārveidot par ci = mei (mod n). Šifrēšanasrezultāts ir virkne c1c2...ck.

    Ievērosim, ka inversā funkcija ir saist̄ıta ar e-tās kārtas saknesaprēķināšanu mod n.

    RSA dešifrēšanas algoritms (funkcija DX):1. Katram i atrast mi = cdi (mod n).

    2. Savienot atšifrētās daļas mi vienā virknē.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 23

    1.1. teorēma. (RSA dešifrēšanas algoritma pamatojums) Ja

    c ≡ me (mod n),tad

    m ≡ cd (mod n).

    PIERĀDĪJUMS Tā kā ed ≡ 1 (mod ϕ(n)), taded = 1 + lϕ(n) = 1 + l(p− 1)(q − 1)

    uncd ≡ (me)d ≡ med ≡ m1+lϕ(n) ≡ m · (mϕ(n))l (mod n).

    Ja m ∈ Un, tad saskaņā ar Eilera teorēmu mϕ(n) ≡ 1 (mod n) untātad cd ≡ m (mod n).

    Ja m 6∈ Un, tad vai nu m ≡ 0 (mod p), vai ar̄ı m ≡ 0 (mod q).Apskat̄ısim tikai pirmo gad̄ıjumu. Ja m ≡ 0 (mod p), tad

    med ≡ 0 ≡ m (mod p)

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 24

    unmed ≡ m1+l(p−1)(q−1) ≡ m · (mq−1)p−1 ≡ m (mod q).

    Attiec̄ıbā uz med esam ieguvuši sistēmu{med ≡ m (mod p)med ≡ m (mod q).

    Saskaņā ar ķ̄ıniešu atlikumu teorēmu iegūstam, ka med ≡ m (mod pq).Esam pierād̄ıjuši, ka ar̄ı gad̄ıjumā, kad m ≡ 0 (mod p), izpildās vie-nād̄ıba cd ≡ m (mod n). L̄ıdz̄ıgi tiek pierād̄ıts gad̄ıjums, kad m ≡0 (mod q). ¥

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 25

    1.1. piemērs. Atrad̄ısim RSA kriptosistēmas atslēgas un algoritmus,ja p = 17 un q = 19:

    1. Ir izvēlēti divi pirmskaitļi p = 17 un q = 19.

    2. Atrast n = pq = 323, n tiek lietots kā pal̄ıginformācija (modulis)abās atslēgās.

    3. Atrast ϕ(n) = (p− 1)(q − 1) = 288.4. Atrast invertējamu elementu e ∈ U288 tādu, ka 1 < e < 288

    (LKD(e, 288) = 1): izvēlēsimies e = 5, e ir publiskā atslēga.

    5. Atrast d ≡ e−1 (mod ϕ(n)): d ≡ 173 (mod 288), d ir privātā(slepenā) atslēga.

    Šifrējošā funkcija ir E(m) ≡ m5 (mod 323), dešifrējošā funkcijaD(c) ≡ c173 (mod 323). Ja m = 300, tad

    E(300) ≡ 3005 ≡ 78 (mod 323)un

    D(E(300)) = D(78) ≡ 78173 ≡ 300 (mod 323).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 26

    Atrad̄ısim RSA kriptosistēmas atslēgas un algoritmus, ja p = 911un q = 919:

    1. Izvēlēties divus pirmskaitļus p = 911 un q = 919.

    2. Atrast n = pq = 837209, n tiek lietots kā pal̄ıginformācija (mo-dulis) abās atslēgās.

    3. Atrast ϕ(n) = (p− 1)(q − 1) = 835380.4. Atrast invertējamu elementu e ∈ U288 tādu, ka 1 < e < 835380

    (LKD(e, 835380) = 1): izvēlēsimies e = 11, e ir publiskā atslēga.

    5. Atrast d ≡ e−1 (mod ϕ(n)): d ≡ 227831 (mod 835380), d irprivātā (slepenā) atslēga.

    Šifrējošā funkcija ir E(m) ≡ m11 (mod 837209), dešifrējošā fun-kcija D(c) ≡ c227831 (mod 837209). Ja m = 830000, tad

    E(830000) ≡ 83000011 ≡ 456579 (mod 837209)

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 27

    un

    D(E(830000)) = D(456579) ≡ 154392227831 ≡ 300 (mod 837209).

    1.2.2. El Gamala kriptosistēma

    El Gamala kriptosistēmas atslēgu ǧenerēšanas algoritms:1. Izvēlēties lielu pirmskaitli p un grupas Up ǧeneratoru (primit̄ıvo

    sakni) g.

    2. Izvēlēties nejaušu skaitli a, 1 < a < p − 1 (slepeno atslēgu) unaprēķināt t = ga (mod p).

    Publiski pieejamā informācija - p, g un t. Slepenā informācija - a.Ievērosim, ka slepeno informāciju a var uzzināt, ja atrod indg(t).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 28

    El Gamala šifrēšanas algoritms (funkcija EX):1. Sadal̄ıt sūtāmo tekstu M daļās m1m2...mk tā, lai katra daļa mi

    būtu mazāka kā p saskaņā ar publiski zināmu algoritmu.

    2. Izvēlēties skaitli k, 1 ≤ k < p− 1.3. Katrai teksta daļu mi pārveidot par ci = mi · tk (mod p). Šif-

    rēšanas rezultāts ir pāris (gk, c1c2...ck).

    El Gamala dešifrēšanas algoritms (funkcija DX):1. Atrast tk = (gk)a.

    2. Atrast t−k.

    3. Atrast mi = cit−k

    4. Savienot atšifrētās daļas mi vienā virknē.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 29

    1.2. piemērs. Aprakst̄ısim El Gamala sistēmu, ja p = 19. Atslēguǧenerēšanas algoritms:

    1. p = 19 un primit̄ıvā sakne ir g = 2.

    2. Izvēlamies nejaušu skaitli a, 1 < a < 18 (slepeno atslēgu), a = 7un aprēķinām t = 27 ≡ 14 (mod 19).

    Publiski pieejamā informācija - p = 19, g = 2 un t = 14. Slepenāinformācija - a = 7.

    Šifrēšanas algoritms (funkcija EX):1. Šifrēsim tekstu (11, 12, 13).

    2. Izvēlēties skaitli k, 1 ≤ k < 18, k = 3.3. Katrai teksta daļu mi pārveidot par

    ci = mi · 143 ≡ mi · 8 (mod p).Šifrēšanas rezultāts ir pāris (gk, c1c2...ck) = (8, (12, 1, 9)).

    Dešifrēšanas algoritms (funkcija DX):

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 30

    1. Atrast tk = (gk)a = 87 ≡ 8 (mod 19).2. Atrast t−k ≡ 12 (mod 19).3. Atrast mi = cit−k: m1 = 12 · 12 = 11, m2 = 1 · 12 = 12,

    m3 = 9 · 12 = 13.4. Savienot atšifrētās daļas mi vienā virknē.

    1.2.3. Diffie-Hellman atslēgu apmaiņas algoritms

    Vēsturiski pirmais algoritms, kurā tika izmantota funkcija ar grūtiaprēķināmu inverso funkciju, bija Diffie-Hellmana atslēgu apmaiņasalgoritms.

    Ar šo algoritmu divi subjekti, kas vēlas apmain̄ıties ar slepenuinformāciju, var publiski (pa neaizsargātu sakaru kanālu) nodot viensotram informāciju, ar kuras pal̄ıdz̄ıbu var aprēķināt tikai šiem diviemsubjektiem zināmu slepenu atslēgu vai informāciju.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 31

    Diffie-Hellmana atslēgu apmaiņas algoritms:1. X un Y izvēlas pirmskaitli p un primit̄ıvo sakni g (mod p).

    2. X izvēlas savu slepeno atslēgu n < p, Y izvēlas savu slepenoatslēgu m < p.

    3. X aprēķina gn (mod p) un sūta to Y kā savu publisko atslēgu.

    4. Y aprēķina gm (mod p) un sūta to X kā savu publisko atslēgu.

    5. X un Y aprēķina kop̄ıgo slepeno atslēgu

    s = gnm ≡ (gn)m ≡ (gm)n (mod p).

    Izmantojot s kā šifrēšanas atslēgu, X un Y var sūt̄ıt viens otramslepenus ziņojumus. Lai trešais subjekts atrastu s, viņam/viņai irjāatrod indg(gn) vai indg(gm), kas ir grūti.

    1.3. piemērs. Izvēlēsimies p = 19, g = 2, n = 6, m = 10. Tad 2n ≡7 (mod p), 2m ≡ 17 (mod p) un s ≡ (2n)m ≡ (2m)n ≡ 7 (mod p).

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

  • 32

    2. 13.mājasdarbs

    13.1 Izmantojot Cēzara šifru ar nob̄ıdi 11 aizšifrējiet tekstu ”ienaid-nieks mūs ir ielencis” izmantojot latviešu alfabēta standartakārt̄ıbu.

    13.2 Izmantojot Vigenere šifru ar atslēgas vārdu ”livonija” atšifrējiettekstu ”iǧtohi” izmantojot latviešu alfabēta standarta kārt̄ıbu.

    13.3 Atrodiet atslēgas un aprakstiet šifrēšanas/dešifrēšanas algorit-mus RSA sistēmā ar pirmskaitļiem 11 un 13.

    13.4 Atrodiet atslēgas un aprakstiet šifrēšanas/dešifrēšanas algorit-mus El Gamala sistēmā ar pirmskaitli 23.

    Saturs Sākums Beigas J I Atpakaļ Aizvērt Pilns ekrāns

    1. Skaitlu teorijas pielietojumi informacijas aizsardzıba1.1. Vispareja informacija par šifrešanu un informacijas aizsardzıbu1.1.1. Kriptografijas pamatjedzieni1.1.2. Kriptografijas vesture1.1.3. Simetriskas atslegas kriptosistemas1.1.4. Publiskas atslegas kriptosistemas1.1.5. Steganografija

    1.2. Publisko atslegu kriptosistemu konkretas realizacijas1.2.1. Rivest-Shamir-Adleman (RSA) kriptosistema1.2.2. El Gamala kriptosistema1.2.3. Diffie-Hellman atslegu apmainas algoritms

    2. 13.majasdarbs