Teorija kodiranja in kriptografija 2013/2014

Σχετικά έγγραφα
ZAUPATI ALI NE ZAUPATI Digitalni podpisi v kriptografiji, 4. del

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Tretja vaja iz matematike 1

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Splošno o interpolaciji

IZPIT IZ ANALIZE II Maribor,

13. Jacobijeva metoda za računanje singularnega razcepa

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

Booleova algebra. Izjave in Booleove spremenljivke

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Numerično reševanje. diferencialnih enačb II

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

Reševanje sistema linearnih

Osnove matematične analize 2016/17

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

1. Έντυπα αιτήσεων αποζημίωσης Αξίωση αποζημίωσης Έντυπο Πίνακας μεταφράσεων των όρων του εντύπου...

Opis in implementacija RSA

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Matematika. Funkcije in enačbe

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

Kotne in krožne funkcije

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Algebraične strukture

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

10. poglavje. Kode za overjanje

Matematika I (VS) Univerza v Ljubljani, FE. Melita Hajdinjak 2013/14. Pregled elementarnih funkcij. Potenčna funkcija. Korenska funkcija.

PONOVITEV SNOVI ZA 4. TEST

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

1. izpit iz Diskretnih struktur UNI Ljubljana, 17. januar 2006

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

Kotni funkciji sinus in kosinus

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Domače naloge za 2. kolokvij iz ANALIZE 2b VEKTORSKA ANALIZA

8. Posplošeni problem lastnih vrednosti

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Dragi polinom, kje so tvoje ničle?

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Navadne diferencialne enačbe

REˇSITVE. Naloga a. b. c. d Skupaj. FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost 2. kolokvij 23.

IZVODI ZADACI (I deo)

Univerza v Ljubljani Fakulteta za računalništvo in informatiko MATEMATIKA. Polona Oblak

11.5 Metoda karakteristik za hiperbolične PDE

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

cot x ni def. 3 1 KOTNE FUNKCIJE POLJUBNO VELIKEGA KOTA (A) Merske enote stopinja [ ] radian [rad] 1. Izrazi kot v radianih.

1. Trikotniki hitrosti

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

Funkcije več spremenljivk

Lastne vrednosti in lastni vektorji

diferencialne enačbe - nadaljevanje

II. LIMITA IN ZVEZNOST FUNKCIJ

Tabele termodinamskih lastnosti vode in vodne pare

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

1 Fibonaccijeva stevila

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Ispitivanje toka i skiciranje grafika funkcija

Odvode odvisnih spremenljivk po neodvisni spremenljivki bomo označevali s piko: Sistem navadnih diferencialnih enačb prvega reda ima obliko:

FAKULTETA ZA STROJNIŠTVO Matematika 4 Pisni izpit 22. junij Navodila

8. Diskretni LTI sistemi

Problem lastnih vrednosti 1 / 20

SEMINARSKA NALOGA Funkciji sin(x) in cos(x)

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Poliedri Ines Pogačar 27. oktober 2009

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Vektorski prostori s skalarnim produktom

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Gimnazija Krˇsko. vektorji - naloge

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec

vezani ekstremi funkcij

Analiza 2 Rešitve 14. sklopa nalog

1 Seštevanje vektorjev in množenje s skalarjem

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Shefferjeva polinomska zaporedja

Računski del izpita pri predmetu MATEMATIKA I

LJUDSKA UNIVERZA NOVA GORICA. MATEMATIKA 1 2. del. EKONOMSKI TEHNIK PTI gradivo za interno uporabo. Pripravila: Mateja Strnad Šolsko leto 2011/12

Uporabna matematika za naravoslovce

Inverzni problem lastnih vrednosti evklidsko razdaljnih matrik

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

INTEGRALI RACIONALNIH FUNKCIJ

Vaje iz MATEMATIKE 8. Odvod funkcije., pravimo, da je funkcija f odvedljiva v točki x 0 z odvodom. f (x f(x 0 + h) f(x 0 ) 0 ) := lim

Uvod v numerične metode

Matematika. BF Lesarstvo. Zapiski ob predavanjih v šolskem letu 2010/2011

1. VAJA IZ TRDNOSTI. (linearna algebra - ponovitev, Kroneckerjev δ i j, permutacijski simbol e i jk )

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

Matematika 1. Jaka Cimprič

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

ELEKTROTEHNIČKI ODJEL

Problem lastnih vrednosti

Transcript:

Teorija kodiranja in kriptografija 2013/2014 Digitalni podpis Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 15. 4. 2014

Vsebina Digitalni podpis Digitalni podpis z RSA Varnost digitalnega podpisa Digitalni podpis in zgoščevalne funkcije DSA

Digitalni podpis Digitalni podpis je nadomestek za lastnoročni podpis pri elektronski izmenjavi in digitalnemu hranjeju podatkov. V Sloveniji je to urejeno z Zakonom o elektronskem poslovanju in elektronskem podpisovanju - ZEPEP. Digitalni podpis omogoča dokazati neodvisni tretji stranki izvor sporočila ali entitete, pristnost (celovitost) sporočila preprečevanje tajenja Uporablja se v mnogih protokolih.

Lastnosti digitalnega podpisa Digitalni podpis dokazuje, da je podpisnik zares podpisal dokument. Vsebine digitalno podpisanega dokumenta ni mogoče spreminjati. Podpisa ni mogoče kopirati in ponarejati. Podpisnik kasneje ne more zanikati, da je podpisal dokument.

Algoritem digitalnega podpisa Algoritem digitalnega podpisa je sestavljen iz treh delov: 1 algoritma generiranja ključa, 2 algoritma generiranja digitalnega podpisa sig A sporočilu priredi podpis osebe A, 3 algoritma preverjanja digitalnega podpisa ver A sporočilu in podpisu priredi vrednost veljaven oziroma neveljaven.

Sistem za digitalno podpisovanje Formalno je sistem za digitalno podpisovanje peterka (B, A, K, S, V), za katero velja B je končna množica besedil, A je končna množica podpisov, K je končna množica ključev, za vsak ključ K K obstajata algoritem za podpisovanje sig K S, sig K : B A in algoritem za preverjanje podpisa ver K V, ver K : B A {true, false}.

Zahteve Funkciji sig K in ver K imata to lastnost, da za vsako besedilo x B in vsak podpis y A velja { true, če y = sigk (x) ver K (x, y) = false, če y sig K (x) Zahteve: algoritma sig K in ver K imata polinomsko časovno zahtevnost sig K je znan le podpisniku ver K je splošno znan računsko mora biti nemogoče ponarediti podpis

Podpisovanje z algoritmom RSA Algoritem RSA lahko uporabimo tudi za podpisovanje. Naj bo n = pq, kjer sta p in q praštevili. Naj bo (n, d) zasebni ključ in (n, e) javni ključ. Potem definiramo: za x, y Z n. sig K (x) = d K (x) = x d (mod n) ver K (x, y) = true x = e K (y) = y e (mod n)

Varnost podpisovanja Kaj zmore napadalec: ima na voljo javni ključ (algoritem za preverjanje podpisa); ima na voljo podpisana sporočila (x 1, y 1 ),..., (x t, y t ), kjer je y i = sig K (x i ); ima za določen čas na voljo algoritem za podpisovanje.

Varnost podpisovanja - cilji Cilji napadalca so lahko naslednji: izračun zasebnega ključa za podpisovanje; podpis izbranih sporočil (z nezanemarljivo verjetnostjo); generirati veljaven par (sporočilo, podpis), torej podpis naključnih sporočil.

Podpis naključnih sporočil Pri uporabi osnovne variante RSA za podpis je mogoče ponarediti podpis naključnih sporočil. Ponarejevalec najprej izbere podpis y in nato izračuna x y e (mod n). Možnosti takega ponarejanja se izognemo, če namesto sporočila podpišemo izvleček sporočila (dobljen z varno zgoščevalno funkcijo); zahtevamo, da ima sporočilo x določen pomen.

Multiplikativna lastnost RSA Podpisi z osnovno varianto RSA niso varni pred napadom z izbranim besedilom. Ideja: Če sta s 1 = x1 d (mod n) in s 2 = x2 d RSA podpisa, je tudi veljaven RSA podpis. s 1 s 2 = x d 1 x d 2 (mod n) (mod n) veljavna Napad: Nasprotnik zahteva podpis sporočil x 1 in x 2. Potem lahko izračuna podpis sporočila x 1 x 2.

Digitalni podpis in zgoščevalne funkcije Prejšnjim dvem napadom se lahko izognemo, če namesto sporočila podpišemo izvleček sporočila. Potrebne lastnosti zgoščevalnih funkcij: odpornost 2-praslik (sicer lahko za dani par (besedilo, podpis) poiščemo drugo besedilo z istim podpisom); odpornost na trke (sicer lahko napadalec poišče dve sporočili x, x z istim izvlečkom. Podpisa x in x sta enaka!) odpornost praslik (sicer lahko ponaredimo podpis naključnega sporočila);

Šifriranje in podpisovanje Kakšen je pravi vrstni red? Najprej sporočilo podpišemo (s svojim zasebnim ključem), potem vse skupaj šifriramo (s prejemnikovim javnim ključem). Najprej sporočilo šifriramo (s prejemnikovim javnim ključem), potem podpišemo (s svojim zasebnim ključem). V drugem primeru lahko napadalec Cene zamenja Anitin podpis s svojim in Bojan bo mislil, da je sporočilo prišlo od Ceneta. Zato se priporoča najprej podpisovanje in nato šifriranje.

Šifriranje in podpisovanje - težave V primeru algoritma RSA je potrebno pri zaporednem podpisovanju in šifriranju paziti na velikosti modulov (reblocking problem). Naj bo n A Anitin in n B Bojanov javni ključ. Če je n A > n B, se lahko zgodi, da Bojan ne bo mogel razvozlati sporočila.

Zgled: Anitin ključ: (n A, e A, d A ) = (62894113, 5, 37726937), Bojanov ključ: (n B, e B, d B ) = (55465219, 5, 44360237). Anita podpiše sporočilo x = 1368797 in podpis zašifrira: 1 s = x d A mod n A = 59847900, 2 y = s e B mod n B = 38842235.

Bojan izračuna 1 ŝ = y d B mod n B = 4382681, 2 x = ŝ e A mod n A = 54383568. Ker je s > n B, je x x = 1368797. Verjetnost tega dogodka je n A n B n A.

ElGamalov sistem za digitalno podpisovanje Za razliko od algoritma RSA je ElGamalov sistem namenjen predvsem digitalnemu podpisovanju, čeprav se ga da v posebnih primerih uporabiti tudi za šifriranje. Podpis je nedeterminističen (odvisen od naključnega števila), torej sploh ni natanko določen.

Generiranje ključa Naj bo p takšno praštevilo, da je v Z p težko izračunati diskretni algoritem in α Z p primitivni element. Potem je B = Z p, A = Z p Z p 1 in K = {(p, α, a, β) : β α a (mod p)}. Število a je skrito (zasebno), Števila p, α in β pa so javno znana.

Podpisovanje Podpisnik s ključem K = (p, α, a, β) izbere naključno skrito število k Z p 1 in določi sig K (x, k) = (γ, δ), kjer je in γ α k (mod p) δ (x aγ)k 1 (mod p 1).

Preverjanje podpisa Za to potrebujemo p, α in β, ki so javni: ver K (x, γ, δ) = true β γ γ δ α x (mod p).

ElGamalov podpis - zgled 1 Bojan izbere ključ: p = 467, α = 2 in a = 127 in izračuna β α a mod p = 132. 2 Bojan želi podpisati sporočilo x = 100. Izbere še nakjučni k = 213. Podpis je enak (γ, δ), kjer je γ 2 213 mod 467 = 29 in δ (100 127. 29) 431 mod 466 = 51. 3 Anita preveri podpis. Izračuna 132 29 29 51 189 (mod 467) in 2 100 189 (mod 467). Zadnji vrednosti se ujemata, zato je podpis pravi.

Varnost ElGamalovega sistema za podpisovanje Kako bi lahko ponaredili podpis, ne da bi vedeli za vrednost skritega števila a? I. Za dano sporočilo x iščemo podpis, t.j. par (γ, δ), da bo veljalo β γ γ δ α x (mod p), torej če izberemo γ: rabimo δ = log γ α x β γ (mod p), če izberemo δ: glede na γ je potrebno rešiti enačbo β γ γ δ α x (mod p) (zaenkrat hiter postopek za reševanje te enačbe ni znan), hkrati računamo γ in δ.

II. Za izbran podpis (γ, δ) iščemo sporočilo x: x = log α β γ γ δ (mod p).

III. Hkratno računanje x, γ in δ: naj bosta i in j takšni števili, da velja 0 i, j p 2 in D(j, p 1) = 1. Potem števila γ α i β j (mod p), δ γj 1 (mod p 1), x γij 1 (mod p 1) zadoščajo enačbi β γ γ δ α x (mod p). Zgled: naj bo p = 467, α = 2 in β = 132. Potem z izbiro i = 99 in j = 179, dobimo veljaven podpis (117, 41) za sporočilo 331.

IV. Pri veljavnem podpisu (γ, δ) za x iščemo podpis za neko drugo sporočilo x. To se da narediti. Naj bodo h, i in j takšna števila, da zanje velja 0 h, i, j p 2 in D(hγ jδ, p 1) = 1. Potem je par (λ, µ) veljaven podpis za x, kjer je λ = γ h α i β j (mod p), µ = δλ(hγ jδ) 1 (mod p 1), x = λ(hx + iδ)(hγ jδ) 1 (mod p 1). Ti napadi zaenkrat ne predstavljajo resnične nevarnosti, ker še vedno ne znamo podpisati izbranega sporočila.

Nevarnosti pri napačni uporabi ElGamalovega sistema 1 Če naključno število k ne ostane skrito in gcd(γ, p 1) = 1, lahko iz δ = (x aγ) k 1 izračunamo a = (x kδ)γ 1 (mod p 1). 2 Število k lahko uporabimo le enkrat, sicer ga je mogoče zlahka izračunati.

Digital Signature Standard Digital signature algorithm (DSA) je izboljšava ElGamalovega sistema za podpisovanje. S strani NIST je bil predlagan za ameriški standard leta 1991, sprejet pa leta 1993. (FIPS 186-1, FIPS 186-2).

Algoritem za digitalni podpis (DSA) Generiranje ključa: 1 Izberi 160-bitno praštevilo q. 2 Izberi 1024-bitno praštevilo p, da q p 1. 3 Izberi element h Z p in izračunaj α = h (p 1)/q mod p; ponavljaj, dokler α 1. (α je generator natanko določene ciklične grupe reda q v Z p.) 4 Izberi naključno naravno število a manjše od q. 5 Izračunaj β = α a mod p. 6 Javni ključ osebe A je (p, q, α, β), zasebni ključ pa je a. Opomba: red elementov α, β in γ je enak q.

DSA - podpis sporočila x 1 Izberi naključno naravno število k, ki je manjše od q. 2 Izračunaj γ = (α k mod p) mod q. 3 Izračunaj k 1 mod q. 4 Izračunaj δ = k 1 (h(x) + aγ) mod q, kjer je h(x) povzetek sporčila x, dobljen z zgoščevalno funkcija SHA-1. 5 Če je γ = 0 ali δ = 0, potem začni ponovno s korakom (1). 6 Podpis sporočila x je par (γ, δ).

DSA - preverjanje podpisa 1 Priskrbi si overjeno kopijo javnega ključa (p, q, α, β) osebe, katere podpis preverjaš. 2 Izračunaj w = δ 1 mod q in h(x). 3 Izračunaj e 1 = h(x)w mod q in e 2 = γw mod q. 4 Izračunaj v = (α e 1β e 2 mod p) mod q. 5 Sprejmi podpis, če in samo če je v = γ.