Elliptiske kurver og kryptering

Størrelse: px
Starte visningen fra side:

Download "Elliptiske kurver og kryptering"

Transkript

1 Elliptiske kurver og kryptering Henrik Lunding Nielsen, august 011 Abstract This study investigates the subject of elliptic curves and how they are used in cryptography. Also an application to perform the Die-Hellman key exchange is included. First, the method called Index Calculus is discussed. Next more general methods to nd discrete logarithms is described in section 3. Section 4 presents an application to establish a common key between two parts, Alice and Bob, and nally a method to create a digital signature using elliptic curves is described, as well as another application of elliptic curves, ECIES. Most methods of cryptography that utilizes elliptic curves rely on the diculty of nding discrete logs. The security of these methods can be compromised by solving these discrete logs. But if the elliptic curves and points on them are cleverly chosen large enough), solving the discrete logs takes an enormous amount of time. In practise, its impossible to solve these discrete logs using any known method to date. 1

2 Indhold 1 Indledning 3 Index Calculus 3.1 Smooth Numbers Algoritme SEDL Kørselstiden for SEDL Andre algoritmer til diskrete logaritmer Baby step, Giant step Pollard's ρ-metode Program: Die-Hellman nøgleudveksling 4.1 Teori Klasser Opsætning Eksempel på anvendelse Kendte problemer Andre anvendelser i kryptering ElGamal Digital signatur ECIES Bibliogra 9

3 1 Indledning Kryptogra er nok den del af algebraen der har fundet størst praktisk andvendelse. Hver gang følsomme data sendes er der oftest en form for kryptering forbundet. Elliptiske kurver har fundet indpas i kryptering og er nu et af de primære værktøjer. Styrken i mange kryptosystemer ligger i sværheden af det diskrete logaritmeproblem. Eg. lad p være et primtal, og a, b være heltal med a 0 b mod p). Antag yderligere at der ndes et k N sådan at a k b mod p) 1) Problemet er så at nde k. Hvis tallene er store kan det ikke klares i noget overskueligt tidsrum med nogen metode vi kender i dag). Metoden kaldet Index Calculus er den bedst kendte til nde diskrete logaritmer over F p. Men denne metode virker ikke over elliptiske kurver. Index Calculus I dette afsnit beskrives den bedst kendte metode til at nde diskrete logaritmer i F p ). Den kræver at elementerne kan primfaktoriseres. Vi skal benytte os af Smooth Numbers, og der præsenteres den hurtige algoritme til af nde disse diskrete logaritmer. π bliver brugt som funktionen, der giver antallet af primtal op til et givent tal, f.eks. π11) = 5. Derudover benyttes og)-, Og)- og Θg)-notation hvor g er positiv for store x): f = Θg) c, d R + : cgx) fx) dgx) for store x f = Og) c R + : fx) cgx) for store x f = og) fx) gx) 0.1 Smooth Numbers for x Denition.1. Antag m N og y R +. Hvis alle primtal, der går op i m højst er y, så siges m at være y-smooth. Og hvis 0 y x, så deneres Ψy, x) til at være antallet af y-smooth tal mindre end eller lig x: Ψy, x) := {m N m x, m y-smooth} for 0 y x 3

4 Theorem.. Lad y : R + R + være en funktion af x, sådan at: Så gælder for stort x at: y log x og log x for x Ψy, x) x exp 1 + o1)) log x ) log log x Bevis. Vi ser først, at Ψy, x) giver mening fordi y y log x = x for stort x. Vi skriver u := log x = u + δ hvor u er u rundet ned, og 0 δ < 1. Nu deler vi så primtallene og 1), der er højst y, op i to mængder: V = {p primtal p y δ /} {1} ) W = {p primtal y δ / < p y} 3) Bertrands postulat 1 siger, at for ethvert m N gælder at πm) πm/) >. Så har vi: m 6 log m Denér nu mængden: W = {p primtal y δ / < p y} = πy) πy δ /) πy) πy/) > 1 y 6 = 1 y log x 6 log x = 1 y y u u for stort x da ) 4) log x 6 log x S := {w 1 w...w u v w 1, w,..., w u W indbyrdes forskellige, v V } ) W Det ses at S indeholder V elementer, der alle er y-smooth da alle u primfaktorerne w 1,..., w u, v højst er y). Desuden er tallene heri højst x: w 1 w...w u v max{w W }) u max{v V } u yδ y yu = y log x = x 1 Se Victor Shoup: A Computational Introduction...), Theorem 5.8 4

5 Her blev brugt at alle w W højst er y, og at alle v V højst er yδ ; se ) og 3)). Så alle s S er i mængden {m N m x, m y-smooth}. Men så må Ψy, x) S. Ψy, x) S = W u ) V = W u W 1 u 1 W W u 1)... V u 1 ) u ) u W W V V for stor x så u 1) u u W W 1 W u 1) Anden sidste ulighed gælder fordi... fordi u u 1 1 W u u for stort x pr. 4))). Da W 1 y log x, 4), og u = kan vi omskrive lidt mere: 6 ) u W Ψy, x) V u ) u y V 1u ) u δ y = V 1 log x Når vi tager logaritmen får vi: ) u δ y logψy, x)) log V ) 1 log x = u δ) log 1 log log x) + log V = u u log 1 u log log x δ + δ log 1 + δ log log x + log V = log x u log log x + log V δ ) + Ou + log log x) 5) Chebyshev's theorem x siger, at πx) = Θ logx)). Det vil sige: ) y V = πy δ δ / /) + 1 = Θ logy δ /) Se Victor Shoup: A Comptational Introduction...), Theorem 5.1 5

6 Så for en konstant C gælder, at når x er stor, så er: ) C y δ = C yδ / logy) C yδ / yδ V logy δ /) yδ C 1 V 1 y ) δ C log log log V δ 0 ) log V δ C log log log ) C = log 1 log log for stort x obs: log er positiv når x er stor nok). Vi har nu at log V δ er en Olog )-funktion. Vi bruger dette sammen med lemma.3 til at konkludere at log V δ )+Ou+log log x) er en ou log log x)-funktion. Vi fortsætter så udregningerne fra 5): logψy, x)) log x u log log x + log V δ ) Men dette betyder netop: + Ou + log log x) = log x u log log x + ou log log x) = log x o1))u log log x Ψy, x) x exp 1 + o1))u log log x) Lemma.3. Hvis en funktion f er en Ou + log log x)- eller en Olog )-funktion, så er f en ou log log x)-funktion. Bevis. Antag først at f er en Ou + log log x)-funktion så fx) cu + log log x) når x er stor). Så får vi at: fx) u log log x cu + log log x) u log log x cu = u log log x c = log log x + c u c log log x u log log x for x

7 Og dermed er fx) = ou log log x) Antag nu at f er en Olog )-funktion. Så udledes på samme måde: fx) c log u log log x u log log x = c log log x ) u u log log x c log log x = u log log x c log u u log log x = c u log u c u log log x 0 for x. Algoritme SEDL Her beskrives en algoritme, kaldet SEDL split exponent discrete logarithm), der kan løse diskrete logaritme på subexponential tid. Input til algoritmen er p og q primtal samt γ og α hvorom følgende gælder: q p 1) og q p 1 =: m q 6) γ Z p genererer undergruppen {γ n 1 n q} =: G af orden q 7) α G 8) Algoritmen returnerer det x som opfylder α = γ x. Algoritmen starter således: 1) Lad y være et heltal mindre end p senere nder vi ud af at vælge y bedre, så algoritmen bliver hurtigere) ) Lad p 1, p,..., p k være primtallene op til y Så nu har vi at p 1 < p <... < p k y p. 3) Sæt endvidere π i = [p i ] p Z p. Så π i er restklassen der indeholder p i. 4) For alle i {1,,..., k + 1} gentag 5)-7): 5) Vælg r i, s i {0,..., q 1} og δ i Z p tilfældigt 6) Beregn δ i = δ i q, mi = repγ r i α s i δ i ) Her er rep) en funktion der giver representanten af klassen, der er positiv, og tættest på 0. f.eks rep[i] p ) = i hvis 0 i < p). Nu giver Lemma.5 at γ r i α s i δ i er tilfældig i Z p; så repræsentationen m i er også tilfældig i {1,,..., p 1}. 7) Forsøg at primfaktorisere m i med p 1,..., p k. Start over fra 5) hvis det mislykkedes med samme i) 7

8 Så nu har vi m i = p e i,1 1 p e i,...p e i,k k for i = 1,,..., k + 1. Dvs: γ r i α s i δ i = [m i ] p = [p e i,1 1 p e i,...p e i,k k ] p = [p 1 ] e i,1 p [p ] e i, p...[p k ] e i,k p = π e i,1 1 π e i,...π e i,k k 9) 8) Lad ν i = e i,1,..., e i,k ) Z k, og ν i = [e i,1 ] q, [e i, ] q,..., [e i,k ] q ) Z k q for i = 1,,..., k + 1 Z k q er et vektorrum. Så ν 1, ν,..., ν k+1 er lineært afhængige. Så der ndes c 1, c,..., c k+1 {0, 1,..., q 1} hvor ikke alle er 0, sådan at: [0] q = [c 1 ] q ν 1 + [c ] q ν [c k+1 ] q ν k+1 10) 9) Benyt udvidet Gauss-elimination på ν 1 T, ν T,..., ν k+1 T ) for først at nde nulrummet for denne matrice, og derefter et ikke-trivielt) sæt c 1, c,..., c k+1 hvor ovenstående er opfyldt. Husk at ovenstående 10) er en vektor med k indgange. Den j'te indgang er: [0] q = [c 1 ] q [e 1,j ] q + [c ] q [e,j ] q [c k+1 ] q [e k+1,j ] q = [c 1 e 1,j + c e,j c k+1 e k+1,j ] q qz c 1 e 1,j + c e,j c k+1 e k+1,j =: e j 11) Og så må c 1 ν 1 + c ν c k+1 ν k+1 = e 1, e,..., e k ) qz k. 10) Denér nu r := k+1 i=1 c ir i, s := k+1 i=1 c is i, δ := k+1 i=1 δc i i. Så får vi ved at benytte 9)): γ r α s δ = γ k+1 i=1 c ir i α k+1 i=1 c is i k+1 i=1 i=1 i=1 k+1 i=1 c k+1 ie i,1 i=1 1 π c ie i, k+1 δ c i i = γ c ir i α c is i δ c i i i=1 k+1 k+1 = γ r i α s i δ i ) c i e = π i,1 1 π e i,...π e ) i,k ci k = π = π e 1 1 π e...π e k k...π k+1 i=1 c ie i,k k Vi skriver nu H := {x q x Z p}. Da e i 'erne var et multiplum af q det har vi fra 11)), må π e i i og dermed π e 1 1 π e...π e k k være et element fra H. Og vi ved q også at δ H da alle δ i = δ i H), og så må γ r α s H. Men vi ved fra lemma.5 at γ r i α s i G og dermed γ r α s G, så der må gælde at γ r α s G H = {1} γ r α s = [1] p lemma.4). 8

9 11) Hvis s 0 mod q) stopper algoritmen fejl!) Sandsynligheden for at algorimen stopper her er 1 hvilket er acceptabelt q da q typisk er meget stor). Dette vil dog ikke blive vist her. Se evt. Victor Shoup's: A Computational Introduction...), Lemma 15.. Så antag nu, at s 0 mod q). Så hvis vi denerer s := s q, så er [s ] q det inverse element af [s] q fordi ss q = s q 1 1 mod q) pr Fermats lille sætning). Sagt på en anden måde, ss = nq + 1 for et naturligt tal n. [1] p = γ r α s [1] p = γ rs α ss = γ rs α q ) n α = γ rs α α = γ rs Hvor α q = [1] p følger af, at α G og ordg) = q Så rs er den diskrete logaritme af α mht. γ 1) Returner rs Lemma.4. Hvis G er givet som i 7), og H = {x q x Z p} for samme primtal p og q, der opfylder 6), så er ordh) = m og G H = {[1] p } hvor m = p 1 q ) Bevis. Z p er cyklisk 3 og har endelig orden p 1. Der gælder Z p = Z q Z m hvor m q pr. 6)). Og der ndes netop én subgruppe, som har p 1 = m som q orden, og denne gruppe er netop {x q x Z p} = H se 4 ). Så ordnen af H er m. Alle elementer g G, h H opfylder ordg) ordg) = q og ordh) ordh) = m, fordi ordnen af et gruppeelement deler ordnen af gruppen, men det vil sige at et element a G H har en orden der deler både q og m. Men så skal vi hvertfald have at orda) gcdq, m) = 1 fordi q er et primtal og q m). Så ordnen af alle elementer i G H er 1, men det er jo kun [1] p der har orden 1. Dvs: G H = {[1] p }. Lemma.5. Lad p og q primtal samt γ og α opfylde 6), 7), 8) og lad u, v {0, 1,..., q 1} og w Z p være tilfældige. Så gælder der at γ u α v G og at γ u α v w q er tilfældig i Z p 3 Se Victor Shoup: A Computational Introduction...), Theorem Se Victor Shoup: A Computational Introduction...), Theorem 6.3ii) 9

10 Bevis. Lemma.4 giver at H har orden m := p 1 q. I første del vises, at w q er tilfældig i H. Lad x være en generator for Z p der ndes en, da Z p er cyklisk). Så er x s = w for et tal s, som vi kan skrive s = nm + l, for heltal n, q der opfylder 0 n < q og 0 l < m. Vi regner på w q og bruger at x np 1) = [1] q fermats lille sætning): w q = x sq = x nm+l)q = x nmq+lq = x np 1) x lq = x q ) l Så w q er altså en af elementerne x q ) 0, x q ) 1,..., x q ) m 1. Alle disse er forskellige, og de er indeholdt i H := {x q x Z p}. Men da ordh) = m, må de præcist udgøre H. w var tilfældig i Z p. Dermed må s være tilfældig i {0, 1,..., p } jeg tillader mig at skrive tilfældig, selvom s afhænger af w. Det der menes er, at man kan skabe et tilfældigt s ved at lade w være tilfældig og derefter nde det tilsvarende s). Men så er l også tilfældig i {0, 1,..., m 1}. Og så må x q ) l = w q være tilfældig i H. Nu kigger vi på γ u α v = γ u γ z = γ u+z for et tal z. Det er nok at vide at u er tilfældig i {0, 1,..., q 1} og at ordg) = q for at indse, at γ u+z = γ u α v er tilfældig i G. Vi får nu vha 5 ) og lemma.4), at afbildningen ρ : G H Z p givet ved ρg, h) = gh er en isomor og dermed injektiv. Så ρ sender over i qm = p 1 forskellige elementer i Z p. Men da der kun er p 1 elementer heri, må ρ være bijektiv. Så hvis man vælger et g G og h H tilfældig vil gh også være tilfældigt i Z p. Men så er ργ u α v, w q ) = γ u α v w q tilfældig i Z p, som skulle vises..3 Kørselstiden for SEDL Hvad er den forventede kørselstid for algoritmen? At teste om et tal m i er y-smooth tager Ok len p) c ) tid der er k primtal), antal y-smooth tal mindre end p for en konstant c, og hvis vi lader σ = = p 1 Ψy,p 1) være sandsynligheden for at et tilfældigt tal mindre end p er y- p 1 smooth, må vi forvente at skulle gentage testen med nye m i 'er σ 1 gange, før vi nder et, som er y-smooth; så vi forventer at det tager O k len p)c) tid at σ nde et m i, der er y-smooth. Da dette gentages for i = 1,,..., k må den endelige forventede kørselstid for første del af algoritmen være O len σ p)c ) k. 5 Se Victor Shoup: A Computational Introduction...), Theorem

11 Næste del af algoritmen er en udvidet) gauss-elimination af matricen: [e 1,1 ] q [e,1 ] q... [e k+1,1 ] q [e 1, ] q [e, ] q... [e k+1, ] q [e 1,k ] q [e,k ] q... [e k+1,k ] q Vi nder derved nulrummet for ovenstående matrice som ikke kun består af 0). Så vi tager et ikke-trivielt c 1, c,..., c q ) fra nulrummet, sådan at c 1 [ ν 1 ] q + c [ ν ] q c k+1 [ ν k+1 ] q = 0. Denne Gauss-elimination tager Ok 3 len p) c ) tid, da vi skal regne på elementer fra Z q. Olen p) c ) er tiden det tager at nde en representant for [ ν i ] q ). Den forventede kørselstid for algoritmen skal være positiv, så vi kan skrive: ) ) k k E[Z] σ + k3 Olen p) c ) = σ + k3 len p) O1) Lad os nu antage at vi i starten valgte y < p således: yp) = exp log p) λ+o1)) for λ ]0, 1[ 1) Vi kan yderligere antage at p er stor, og så følger kørselstiden som funktion af p) af theorem.8. Til dette skal vi bruge lemma.7: Lemma.6. sublemma til.7) Hvis et tal y skrives i n-talssystemet som x 1 x...x k, så gælder at: loglen y) O1) ) = O1) log + o1) Bevis. Hvis y er skrevet i n-talssystemet må der gælde at len y = k = log n y + 1 hvor er en funktionen der runder ned til nærmeste hele tal. Vi kan så omskrive len y: len y = log n y + 1 = log n y log n y log n y ) + 1 = log n y + O1) = log n y) 1 + O1) ) log n y = log n y)1 + o1)) log log n Lad nu f være følgende O1)-funktion: fy) := 1. Så får vi: loglog log n y) = ) log log n = log log log n = fy) log = log) fy) ) log n y = 11

12 ) fy) = ) O1). Dette benytter vi til at regne videre og husker samtidig at x c 1 når x 1 hvis c er en konstant eller en O1)-funktion)): len y = ) O1) 1 + o1)) len y) O1) = ) O1)O1) 1 + o1)) O1) = ) O1) 1 + o1)) log len y) O1)) = log ) O1) 1 + o1)) ) = log ) O1)) + log1 + o1)) = O1) log + o1) Lemma.7. Lad p være et stort primtal loglogp)) 1), og lad y og σ opfylde: y < p 13) = log p) λ+o1) for et λ ]0, 1[ 14) Ψy, p 1) σ = p 1 15) Lad så k = πy) være antallet af primtal op til y. Hvis vi så har en algoritme med forventet kørselstid ) k E[Z] σ + k3 len p) O1) 16) Så gælder der om kørselstiden at: )) log p E[Z] exp 1 + o1)) max log log p +, 3 17) Bevis. Vi benytter 14) samt lemma.6, så: log len p) O1)) log len p) O1)) log p = = O1) log log p + o1) log p) λ+o1) 0 for p O1) log log p + o1) log p) 1 λ o1) 0 for p 1

13 Sammenholdes dette, får vi: log len p) O1)) ) 0 for p min, log p log len p) O1)) = o min, log p )) Dette resultat skal vi bruge senere. 18) Se nu på k = πy) ) ifølge antalgelsen). Chebyshev's theorem giver os at y k = πy) = Θ ; dvs. c, d : c y k d y hvis y er stor nok. ) Se samtidig at for et z konstant er log z y = log z + log = ) ) = )1 + o1)), og derfor får vi: log z+ log log c y ) log k log d y ) )1 + o1)) log k )1 + o1)) log k = )1 + o1)) 19) Her er alle tre o1)-funktioner forskellige). Dette resultat skal også bruges senere. Antagelse 14), giver os at = log p) λ+o1). Dvs: ) y log p = y y λ+o1) 1 λ+o1) ) = for p 1/λ+o1)) log p = log p log p) = log λ+o1) p)1 λ o1) for p Så gælder ifølge Theorem. at: Ψy, p) p exp 1 + o1)) log p ) log log p Pr. antagelse 13) er y < p, og da p er et primtal kan p ikke være y- smooth. Så kan 15) omskrives, ved også at benytte ovenstående udtryk for 13

14 Ψy, p): Ψy, p 1) σ = = p 1 Ψy, p) p 1 Ψy, p) p 1 + o1)) log p log log p ) p exp p = exp 1 + o1)) log p ) log log p 0) Nu regner vi på k og σ k3. Vi starter ud med at bruge 19) og 0), og denerer u = + log p log p log log p, v = 3 og w = + log log p Mest for at gøre senere udregninger overskuelige): k exp log k) = 1) σ σ exp1 + o1)) ) ) exp 1 + o1)) log p log log p = exp 1 + o1)) 1 + o1)) log p ) log log p = exp u + o1) + o1) log p ) log log p expu + o1)w) ) k 3 = exp3 log k) = exp31 + o1)) ) = expv + o1) ) expv + o1)w) 3) Bemærk at ved tredje lighedstegn skiftede en o1)-funktion fortegn. Og ved anden ulighed er der en helt ny o1)-funktion, valgt til at være maximum af de to foregående. Nu kan vi begynde at omskrive den forventede kørselstid, 16): ) ) k k E[Z] σ + k3 len p) O1) max σ, k3 len p) O1) Ved at vælge en større O1)-funktion kan vi fjerne -tallet. Herefter indsættes 14

15 ) og 3): ) k E[Z] max σ, k3 len p) O1) maxexpu + o1)w), expv + o1)w))len p) O1) = expmaxu + o1)w, v + o1)w))len p) O1) expmaxu, v) + o1)w)len p) O1) = exp maxu, v) + o1)w + log [ len p) O1)]) = exp maxu, v) 1 + o1)w + log [ len p) O1)] )) maxu, v) 1 + o1)w + log [ len p) O1)] )) exp maxu, v) u 4) Ved tredje ulighed vælges igen en ny o1)-funktion, som maksimum af de to gamle. Lad os nu vise, at o1)w og loglen p)o1) ) er o1)-funktioner. Den første u u er let - indsæt blot hvad u og w er deneret til: o1)w u = log p + log log p o1) o1) 0 + log p log log p for p Til loglen p)o1) ) som er positiv) skal vi bruge 18) og u's denition): u log )) len p) O1)) o min, log p = u + log p log log p )) o min, log p + log p )) o min, log p ) 0 for p min, log p ved første ulighed bruges antagelsen loglogp)) 1) Dermed er o1)w+loglen p)o1) ) u en o1)-funktion, og 4) kan skrives: E[Z] expmaxu, v)1 + o1))) Indsættes udtrykkene fra u og v's denition får vi 17). Dette slutter beviser for lemma.7. 15

16 Som udtryk for SEDL's kørselstid har vi nu: )) log p E[Z] exp 1 + o1)) max log log p +, 3 5) Vi vil minimere max)-funktionen. Hvis vi lader µ :=, A := log p log log p, S 1 := A + µ og S µ := 3µ, så skal vi bare minimere maxs 1, S ): ds 1 dµ = A A µ + = 0 µ min = d S 1 dµ = A > 0 µ µmin µ 3 min er et minimum min Så S 1 µ min ) = A A A + = 8 A er den mindste værdi S 1 antager. A Og da S µ min ) = 3 = 9 A < S1 µ min ), må maxs 1, S ) også være minimeret ved µ min. Nu kan vi isolere y: = µ min = 1 1 A = log p log log p ) 1 y = exp log p log log p) 1 / 6) men y skulle have formen exp log p) λ+o1)) 1). Dette indser vi at den har ved at vælge et λ og en o1)-funktion f sådan at exp log p) λ+f) = 1 exp log p log log p) /) 1. Start ud med at vælge λ = 1 og f: ) log 1 log log p) 1 / f := log log p f er positiv for store p, og vi må have at f f er en o1)-funktion. Derudover gælder: ) log 1 log log p) 1 / f = log log p log log p) f) = f log log p = log log log log p log log p 0 for p. Dvs ) 1 log log p) 1 / log p) f = 1 log log p) 1 / exp log p) ) ) 1 /+f 1 = exp log p log log p) 1 / 16

17 Så den er god nok! Indsæt y 6) i max-funktionen: ) log p max log log p +, 3 log = max p log log p) 1/ + ) 3 log p log log p) 1 /, log p log log p) 1 / = max ) 3 log p log log p) 1 /, log p log log p) 1 / = log p log log p) 1 / Ved at indsætte dette i 5) får vi: Theorem.8. Den forventede kørselstid for algoritme SEDL opfylder: E[Z] exp ) + o1))log p log log p) 1 / 7) Hvis vi i 1) antog at y havde en anden form, ville vi ikke kunne være sikker på at 5) holder. Vi har kun fundet en øvre grænse for tiden, men det er en øvre grænse der er bedre end den tid nedenstående algoritmer tager. 3 Andre algoritmer til diskrete logaritmer Hvis G er en mere generel gruppe af orden højst N, samt P, Q G hvor P k = Q for et k kan vi ikke bruge ovenstående metode til at nde k. Algoritmerne i dette afsnit er i stand til at nde logaritmer i disse grupper, men de er til gengæld ikke lige så hurtig som Index Calculus. Da det er elliptiske kurver vi ser på hvis komposition skrives '+') skriver vi fremover kp = Q istedet for P k = Q. 3.1 Baby step, Giant step Denne algoritme kan bruges hvis G er cyklisk. For simpelhed skyld antages at P er en generator for G ellers kan vi erstatte G med undergruppen genereret af P Q er netop også i denne undergruppe)) Denne algoritme kræver N tid og N plads. Først skal man nde et N der er større eller lig ordnen af G man kender højst sandsynligt ikke ordenen af G). Når vi regner med elliptiske kurver kan vi bruge Hasse's theorem: Theorem 3.1 Hasse's). Hvis E er en elliptisk kurve over F q, så gælder at ordnen af gruppen EF q ) opfylder: q + 1 ord EF q )) q 17

18 For et bevis, se Lawrence C. Washington: Elliptic Curves, Number Theory and Cryptography, Second edition s Dette giver os at: q + 1 ordef q )) q q + q + 1 ordef q )) q + 1 ordef q )) q q q + 1 ordef q )) Det fremgår heraf at vi kan vælge N større end ordnen af gruppen ved N := q + q + 1. Ydermere gælder der så at: N ordef q )) q + q + 1 q + q for q N ordef q )) q + q + 1 q q for q N Så der må ligeledes gælde at 1 for q, så N ordef ordef q)) q)) N er asymptotisk lig med ordnen af EF q )) Så for eliptiske grupper kan vi let nde et N der er mindst ordnen - endda et N der er asymptotisk lig med ordnen af gruppen. For andre cykliske grupper er det ikke sikkert det er lige så let. Man kan her blive nød at gætte. Hvis gættet er for lavt er der en risiko for at algoritmen ikke returnerer logaritmen, men så kan man blot lave et nyt gæt her er det smartest blot at fordoble ens første gæt). At N er for lav får ikke algoritmen til at returnere en forkert logaritme, men det kan være den slet ikke returnerer noget. Algoritmen kører således: 1. Vælg eller gæt) et N, der er mindst ordnen af gruppen ved eliptiske kurver, som beskrevet ovenfor). Sæt b = N og R = b P ) 3. Beregn, gem og sorter 6 en liste med elementerne {0, P, P,..., b 1)P } Først gemmes det neutrale element 0 P = for elliptiske kurver) i starten af listen, og herefter lægges P til igen og igen baby steps) indtil vi har hele listen - så vi benytter hele tiden det forrigt udregnede element: i 1)P + P = ip. 4. Beregn, gem og sorter en liste med elementerne {Q, Q+R, Q+R, Q+ 3R,..., Q + b 1)R}. Metoden er ligesom før: Start med Q, og læg R til igen og igen giant steps) 6 Ved elliptiske kurver kan man f.eks. sortere via x-koordinaterne 18

19 5. Gennemløb listerne for at lede efter efter to ens. Hvis vi i 5. skridt nder et match, så har vi i og j så ip = Q + jr. Da Q = kp og R = b P ) kan vi omskrive til ip = kp + jb P ) = k jb)p. Dvs vi har k = i + jb hvor 0 i, j < b), som vi returnere i skridt 6. Hvis vi i 5. skridt ikke nder et match er det fordi N ikke er stor nok. Der vil altid være et match hvis N er mindst ordnen af gruppen: Vi kan nemlig skrive Q = kp = k 1 b+k 0 )P for nogle heltal k 0, k 1 der opfylder 0 k 0, k 1 < b det kan vi fordi k {0, 1,..., N 1} vi antage at k er mindre end ordnen af gruppen)). Men det medfører at k 0 P = Q k 1 bp = Q + k 1 R. Og k 0 P og Q + k 1 R ndes netop i første henholdsvis anden liste så der vil altså være et match) 6. Returner i + jb kun hvis der fandtes et match. Ellers skal der laves et nyt gæt og startes forfra - man kan her beholde de to lister og arbejde videre med dem, så man ikke starter forfra igen) I. skridt skal man nde den inverse til P. I EF q ) er dette nemt - elementet skal blot spejles i x-aksen. Ved generelle grupper kan det måske være et problem. Hvis ikke man kan klare dette på Ob) tid ryger idéen med algoritmen i vasken. Men hvis det lykkedes kræver alle skridt i algoritmen højst et antal udregninger der er proportional til b = N. 3. Pollard's ρ-metode Pollards ρ-metode er probabilistisk, hvilket vil sige, at der er meget høj sandsynlighed for at den giver et resultat på den krævede tid O N)). Baby- og giantstep-metoden er derimod deterministisk, så man er garanteret på at få et resultat på O N) tid. Idéen med denne metode er, at 'spring' rundt fra element til element vha en funktion der opfører sig 'tilfældigt'), og hvert nyt element skal kunne udtrykkes som ap + bq for nogle a, b N. Hvis fremover N er ordnen af G, skal der højst N spring til, før vi har en kollision med et tidligere element, som vi kan opdage, hvis vi har gemt alt indtil dette punkt. Vi har så to udtryk for det samme element og: ap + bq = cp + dq. Dvs a + bk)p = c + dk)p a + bk c + dk mod N) hvorefter k ndes mere om det senere). Det lyder som om ovenstående tager både ON) tid og plads, men rent faktisk tage det kun O N) tid og plads probabiblistisk). Derudover kan den krævede plads komme helt ned på O1) ved at benytte en metode udviklet af R. W. Floyd, men lad os nu først beskrive metoden i dybden: 19

20 Vi skal bruge en funktion f, der opfører sig tilfældigt over G - Vi har ikke tid eller plads til på forhånd at lave N terningekast for at nde ud af hvad f skal sende hvert x G over i. Vi gør det næstbedste: denerer f vha en gaelfunktion som f.eks. denne: fx) := x + M 1 hvis x S 1 x + M hvis x S x + M s hvis x S s hvor S 1, S,..., S s er en nogenlunde ligelig) disjunkt opdeling af G, og M i := a i P + b i Q for nogle tilfældigt valgte a i og b i som vi gemmer til senere). Intuitivt kan man se, at jo større s er, jo mere tilfældig vil f se ud over G. Et godt valg af s viser sig at være omkring 0 7 ). Et større s er stort set bare spild af plads da vi jo skal holde a 1, a,..., a s, b 1, b,..., b s gemt under hele algoritmen, samt nemt kunne nde ud af hvilken af S i 'erne et element er i. Man kan også have forgreninger som f.eks. x + x eller andre udtryk, der ser tilfældige ud - Men vi skal efter springet kunne udtrykke fx) som up + vq for nogle u, v N. Det lader sig gøre i den ovenstående denerede f, fordi vi fra starten ved at x = u P + v Q for nogle u, v N; og så er fx) = u P + v Q + M i = u P + v Q + a i P + b i Q = u + a i )P + v + b i )Q for det i hvor x S i. Vi starter et sted, f.eks. ved eller et tilfældigt P 0 G som vi kan udtrykke P 0 = α 0 P + β 0 Q. Og så udfører vi spring med f: P 1 = fp 0 ), P = fp 1 ), P 3 = fp ),... Da der kun er N forskellige elementer i G vil vi på et tidspunkt springe tilbage til et tidligere element, så for nogle i 0, j 0 N vil P i0 = P j0. Det forventes at i 0 < j 0 = O N). Dette er sammenligneligt med fødselsdagsparadoxet: Hvis der er 3 mennesker i et rum, er der over 50% sandsynlighed for at to har fødselsdag samme dag. I vores tilfælde er N meget større end 365, og så forventes det at j 0 faktisk er O N). Fødselsdagsparadoxet eller dens generalisation vil ikke blive beskrevet nærmere her. Men hvis ikke vi vil gemme data om hvert eneste element vi har besøger indtil vi nder et match, skal vi gøre noget andet. Vi benytter fortsat at i 0 < j 0 er de mindste tal hvor P i0 = P j0. Der gælder for alle i i 0 vi skriver 7 Se Lawrence C. Washington: Elliptic curves, Number Theory and Cryptography, second edition, s

21 i = i 0 + l) at: P i0 +l = f f... f)p } {{ } i0 ) = f f... f)p } {{ } j0 ) = P j0 +l l gange l gange P i = P i0 +l = P j0 +l = P i0 +l)+j 0 i 0 ) = P i+j0 i 0 ) for i i 0 P i = P i+nj0 i 0 ) for alle i i 0 og n N hvor sidste udtryk følger af at benytte udtrykket i midten ere gange) Så vi går faktisk i ring herfra. Floyd's metode udnytter dette til at gøre algoritmen mindre pladskrævende: Istedet for at gemme data om alle punkter vi støder på, husker vi bare på to elementer hele tiden: P i og P i og hvordan de kan udtrykkes up + vq), sådan at hvert nyt skridt i algoritmen beregner P i+1 = fp i ) og P i+1) = ffp i )). Når i er større end i 0 og er et multiplum af j 0 i 0 gælder at P i = P i+nj0 i 0 ) = P i og vi har et match! Det første i der opfylder dette er også højst j 0 fordi der ndes et tal mellem i 0 og j 0 som j 0 i 0 går op i). Så algoritmen kræver probabilistisk) O N) tid og kun lidt plads. Istedet for at benytte Floyd's metode kan man vælge kun at gemme u og v for nogle specikke elementer P i = up + vq, som skiller sig ud f.eks. at l går op i u og v for et l N derved behøver man heller ikke gemme de sidste l bits af u og v, da de alligevel er 0)). Ved at gøre dette skal algoritmen højst udføre l ekstra skridt, men tilgengæld reduceret pladskravet med en faktor l. Denne metode gør det også muligt at fordele arbejdet mellem ere processorer vha Pollards λ-metode, som bygger videre på ovenstående ρ-metode. Der er nemlig ikke noget i vejen for at ere processorer kan starte hver deres sted i gruppen, og springe rundt derfra og så sende de specielle elementer til en hovedcomputer, hvis eneste job er at sammenligne alle elementerne den får tilsendt indtil der sker et match - f.eks. mellem P = up + vq tilsendt fra én computer, og P = u P + v Q tilsendt fra en anden computer. Så er up + vq = u P + v Q Når vi nu har u, v, u og v sådan at up +vq = u P +v Q uanset hvilken metode vi brugte) så må u + vk)p = u + v k)p ved at indsætte Q = kp). Dvs, da P er en generator for G af orden N: u + vk u + v k mod N) u u v v)k mod N) 8) Så vi skal nde k så v v)k + Ny = u u for et y N). Dette kan vi gøre med Euklids udvidede algoritme hvis den største fælles divisor mellem 1

22 v v og N er 1. Hvis d := gcdv v, N) er større end 1 må vi istedet nde k der løser u u v v)k mod N ) her gælder der hvertfald at d gcdv v, N ) = 1). Herefter må en af elementerne d k, k,..., dk være det k der opfylder 8). Vi tjekker dem en efter en for at nde ud af hvilken en det er. d er typisk lille, så det tager ikke så lang tid) 4 Program: Die-Hellman nøgleudveksling 4.1 Teori Lad os sige, at vi har to personer, Alice og Bob, som vil nde frem til en hemmelig fælles nøgle, men de har ingen 'hemmelige' kommunikationsveje hvorigennem de kan blive enige om en sådan nøgle, uden at blive overvåget. Die-Hellmans nøgleudveksling med elliptiske kurver løser dette problem på følgende måde: 1. Alice og Bob sender information til hinanden oentligt) indtil de er blevet enige om to ting: En elliptisk kurve E over et legeme F q ), hvor det er svært at løse diskrete logaritmer, samt et punkt P på denne kurve. Alle kan se disse informationer.. Herefter nder de hver især på et hemmeligt tal, f.eks. nder Alice på a, og Bob på b 3. Alice udregner P a = ap og Bob P b = bp 4. Alice sende P a til Bob, og Bob sender P b til Alice 5. Nu kan Alice udregne abp = ap b, ligesom Bob kan det ved abp = bp a Både Alice og Bob kender nu abp, hvor eventuelle lyttere kender P a, P b, P samt E. Men udfra disse data er det svært at regne sig frem til abp. De metoder som vi kender), der kan klare det, benytter sig af at man kan beregne den diskrete logaritme. Index Calculus kan ikke bruges, og de andre metoder beskrevet i sektion 3 tager alt for lang tid hvis Alice og Bob har valgt en ordentlig elliptisk kurve. Derfor har Alice og Bob nu hemmelig viden, abp, som ingen andre kender. Herudfra kan de lave deres nøgle. Det vedlagte program udfører die- Hellman nøgleudveksling. Der benyttes ikke projektive koordinater til at repræsentere punkter, hvorfor hver addition kræver en inversion. Dette er den mere teoretiske og lidt mindre eektive) måde at regne på.

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe. Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27, Camp om Kryptering Datasikkerhed, RSA kryptering og faktorisering Rasmus Lauritsen August 27, 2013 http://users-cs.au.dk/rwl/2013/sciencecamp Indhold Datasikkerhed RSA Kryptering Faktorisering Anvendelse

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig

Læs mere

Matricer og lineære ligningssystemer

Matricer og lineære ligningssystemer Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.

Læs mere

Note om endelige legemer

Note om endelige legemer Note om endelige legemer Leif K. Jørgensen 1 Legemer af primtalsorden Vi har i Lauritzen afsnit 2.1.1 set følgende: Proposition 1 Lad n være et positivt helt tal. Vi kan da definere en komposition + på

Læs mere

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 24. august 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

Talteori: Euklids algoritmer, modulær aritmetik

Talteori: Euklids algoritmer, modulær aritmetik Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009 1 1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division Divisorer De hele tal

Læs mere

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive

Læs mere

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe. 0.1: Ringe 1. Definition: Ring En algebraisk struktur (R, +,, 0,, 1) kaldes en ring hvis (R, +,, 0) er en kommutativ gruppe og (R,, 1) er en monoide og hvis er såvel venstre som højredistributiv mht +.

Læs mere

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde.

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Disposition 1 PKI - Public Key Infrastructure Symmetrisk kryptografi Asymmetrisk kryptografi 2 Regning med rester Indbyrdes primiske tal

Læs mere

Mordell s Sætning. Henrik Christensen og Michael Pedersen. 17. december 2003

Mordell s Sætning. Henrik Christensen og Michael Pedersen. 17. december 2003 Mordell s Sætning Henrik Christensen og Michael Pedersen 17. december 2003 Mordells sætning siger at gruppen C(Q) af rationale punkter over en ellipse C er en endeligt frembragt abelsk gruppe. Elliptiske

Læs mere

Kryptering kan vinde over kvante-computere

Kryptering kan vinde over kvante-computere Regional kursus i matematik i Aabenraa Institut for Matematik Aarhus Universitet matjph@math.au.dk 15. februar 2016 Oversigt 1 Offentlig-privat nøgle kryptering 2 3 4 Offentlig-privat nøgle kryptering

Læs mere

2. Gruppen af primiske restklasser.

2. Gruppen af primiske restklasser. Primiske restklasser 2.1 2. Gruppen af primiske restklasser. (2.1) Setup. I det følgende betegner n et naturligt tal større end 1. Den additive gruppe af restklasser modulo n betegnes Z/n, og den multiplikative

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

Kryptologi 101 (og lidt om PGP)

Kryptologi 101 (og lidt om PGP) Kryptologi 101 (og lidt om PGP) @jchillerup #cryptopartycph, 25. januar 2015 1 / 27 Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over

Læs mere

De rigtige reelle tal

De rigtige reelle tal De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Integer Factorization

Integer Factorization Integer Factorization Per Leslie Jensen DIKU 2/12-2005 kl. 10:15 Overblik 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder

Læs mere

Elliptiske kurver. kryptering, digital signatur og det diskrete logaritmeproblem. Bachelorprojekt i matematik Tobias Ansbak Louv

Elliptiske kurver. kryptering, digital signatur og det diskrete logaritmeproblem. Bachelorprojekt i matematik Tobias Ansbak Louv Elliptiske kurver kryptering, digital signatur og det diskrete logaritmeproblem Bachelorprojekt i matematik Tobias Ansbak Louv 20107914 Vejleder: Jørgen Brandt 7. oktober 2013 Institut for Matematiske

Læs mere

Algebra - Teori og problemløsning

Algebra - Teori og problemløsning Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.

Læs mere

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Projekt 7.9 Euklids algoritme, primtal og primiske tal Projekter: Kapitel 7 Projekt 79 Euklids algoritme, primtal og primiske tal Projekt 79 Euklids algoritme, primtal og primiske tal Projektet giver et kig ind i metodee i modee talteori Det kan udbygges med

Læs mere

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur 6. december Talteoretiske algoritmer, RSA kryptosystemet, Primtalstest Motivation Definitioner Euclids algoritme Udvidet Euclid RSA kryptosystemet Randominserede algoritmer Rabin-Miller primtalstest Svært

Læs mere

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer

Læs mere

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 2015 Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 8. Juni 05 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en

Læs mere

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert

Læs mere

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Johan P. Hansen 18. april 2013 Indhold 1 Indbyrdes primiske hele tal 1 2 Regning med rester 3 3 Kryptering

Læs mere

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter Konfidentialitet og kryptografi 31. januar, 2009 Jakob I. Pagter Oversigt Kryptografi autenticitet vs. fortrolighed ubetinget vs. beregningsmæssig sikkerhed Secret-key fortrolighed Public-key fortrolighed

Læs mere

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag

Læs mere

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard RSA-kryptosystemet RSA-kryptosystemet Erik Vestergaard Erik Vestergaard www.matematikfysik.dk Erik Vestergaard, 007. Billeder: Forside: istock.com/demo10 Erik Vestergaard www.matematikfysik.dk 3 1. Indledning

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

Assembly Voting ApS. Kompagnistræde 6, København K CVR:

Assembly Voting ApS. Kompagnistræde 6, København K CVR: Assembly Voting ApS Kompagnistræde 6, 2. 1208 København K CVR: 25600665 Afstemningssystem, Systembeskrivelse Assembly Votings systemer og hostingmiljøer er designet til at imødekomme såvel lovkrav som

Læs mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1 Københavns Universitet, Det naturvidenskabelige Fakultet 1 Lineær Algebra (LinAlg) Afleveringsopgave 1 Eventuelle besvarelser laves i grupper af - 3 personer og afleveres i to eksemplarer med 3 udfyldte

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

Læs mere

Matematik og IT Anton Vilhelm Wiinstedt Clausen 3.b Studieretningsprojekt Numeriske metoder Frederiksberg Tekniske gymnasium 13/12 2010

Matematik og IT Anton Vilhelm Wiinstedt Clausen 3.b Studieretningsprojekt Numeriske metoder Frederiksberg Tekniske gymnasium 13/12 2010 Indholdsfortegnelse Abstract...2 Indledning...3 Konvergens...3 Konvergenskriterier...3 Konvergensorden...3 Fejlestimater...3 Stopkriterier...4 Taylor's Theorem...4 Numeriske metoder...4 Newtonsmetode...4

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Fejlkorrigerende koder, secret sharing (og kryptografi)

Fejlkorrigerende koder, secret sharing (og kryptografi) Fejlkorrigerende koder, secret sharing (og kryptografi) Olav Geil Afdeling for Matematiske Fag Aalborg Universitet Møde for Matematiklærere i Viborg og Ringkøbing amter 7. november, 2006 Oversigt Fejlkorrigerende

Læs mere

Indhold. 1 Indledning 2 1.1 Baggrund... 2

Indhold. 1 Indledning 2 1.1 Baggrund... 2 Indhold 1 Indledning 2 1.1 Baggrund.................................. 2 2 Elliptisk kurve 3 2.1 Gruppeoperationen på E.......................... 4 2.1.1 sjove punkter på E........................ 8 2.2

Læs mere

Kvadratiske matricer. enote Kvadratiske matricer

Kvadratiske matricer. enote Kvadratiske matricer enote enote Kvadratiske matricer I denne enote undersøges grundlæggende egenskaber ved mængden af kvadratiske matricer herunder indførelse af en invers matrix for visse kvadratiske matricer. Det forudsættes,

Læs mere

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008 Moderne kryptografi Olav Geil Institut for Matematiske Fag Aalborg Universitet Elektronik og IT-Gruppen 24. april 2008 Matematik og ingeniørvidenskab Uden ingeniørvidenskab var komplekse tal blot en kuriøsitet

Læs mere

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014 Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 204 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over

Læs mere

Besvarelser til Lineær Algebra Ordinær Eksamen - 5. Januar 2018

Besvarelser til Lineær Algebra Ordinær Eksamen - 5. Januar 2018 Besvarelser til Lineær Algebra Ordinær Eksamen - 5. Januar 08 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal

Læs mere

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Talteoriopgaver Træningsophold ved Sorø Akademi 2007 Talteoriopgaver Træningsophold ved Sorø Akademi 2007 18. juli 2007 Opgave 1. Vis at når a, b og c er positive heltal, er et sammensat tal. Løsningsforslag: a 4 + b 4 + 4c 4 + 4a 3 b + 4ab 3 + 6a 2 b 2

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Teoretiske Øvelsesopgaver:

Teoretiske Øvelsesopgaver: Teoretiske Øvelsesopgaver: TØ-Opgave 1 Subtraktion division i legemer: Er subtraktion division med elementer 0 i legemer veldefinerede, eller kan et element b have mere end ét modsat element -b eller mere

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.

Læs mere

Noter om komplekse tal

Noter om komplekse tal Noter om komplekse tal Preben Alsholm Januar 008 1 Den komplekse eksponentialfunktion Vi erindrer først om den sædvanlige og velkendte reelle eksponentialfunktion. Vi skal undertiden nde det nyttigt, at

Læs mere

Algebra2 Obligatorisk opgave

Algebra2 Obligatorisk opgave Algebra2 Obligatorisk opgave Anders Bongo Bjerg Pedersen, 070183 Eksamensnummer 45 23. maj 2005 Opgave 1 Vi har: σ = σ 6 5 = (σ 3 ) 2 (σ 5 ) 1 = (1 3 5 2 4)(8 7 6). b) Ordnen af en p-cykel er (jfr. 2.18)

Læs mere

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Definition: Et primtal er et naturligt tal større end 1, som kun 1 og tallet selv går op i. Eksempel 1: Tallet 1 ikke et primtal fordi det ikke

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så Introduktion 1) Hvad er Taleteori? Læren om de hele tal Primtal 2) Formalistisk struktur Definition Lemma Divisorer Definition (Divisor) Lad d og n være hele tal Hvis der findes et helt tal q så d q =

Læs mere

Fredag 12. januar David Pisinger

Fredag 12. januar David Pisinger Videregående Algoritmik, DIKU 2006/07 Fredag 2. januar David Pisinger Kryptering Spartanere (500 f.kr.) strimmelrulle viklet omkring cylinder Julius Cæsar: substituering af bogstaver [frekvensanalyse]

Læs mere

Affine - et krypteringssystem

Affine - et krypteringssystem Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på

Læs mere

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering.

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering. Krav til autentificering Vi kan acceptere, at modtager (og måske afsender) skal bruge hemmelig nøgle Krav til metode: må ikke kunne brydes på anden måde end ved udtømmende søgning længde af nøgler/hemmeligheder/hashkoder

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2 Oversigt [LA] 9 Nøgleord og begreber Helt simple determinanter Determinant defineret Effektive regneregler Genkend determinant nul Test determinant nul Produktreglen Inversreglen Test inversregel og produktregel

Læs mere

Hyperelliptisk kurve kryptografi

Hyperelliptisk kurve kryptografi Christian Robenhagen Ravnshøj NKS November 2007 Elliptiske kurver Gruppelov på elliptisk kurve R P Q P Q R = 0. Elliptiske kurver Elliptisk kurve kryptografi Gruppelov giver krypto baseret på elliptisk

Læs mere

Elliptisk Kurve Kryptografi. Jonas F. Jensen

Elliptisk Kurve Kryptografi. Jonas F. Jensen Elliptisk Kurve Kryptografi Jonas F. Jensen December 2007 Abstract Today we re using cryptography everytime whenever we re doing transactions online. Some have even adopted cryptography to sign their emails

Læs mere

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, oktober 2008, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

Besvarelser til Lineær Algebra Ordinær Eksamen Juni 2017

Besvarelser til Lineær Algebra Ordinær Eksamen Juni 2017 Besvarelser til Lineær Algebra Ordinær Eksamen - 12. Juni 2017 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

Hvordan kryptering af chat, mail og i cloud services og social networks virker

Hvordan kryptering af chat, mail og i cloud services og social networks virker Hvordan kryptering af chat, mail og i cloud services og social networks virker Alexandra Instituttet Morten V. Christiansen Kryptering Skjuler data for alle, som ikke kender en bestemt hemmelighed (en

Læs mere

Introduktion til Kryptologi

Introduktion til Kryptologi Introduktion til Kryptologi September 22, 2014 Kryptologi Datasikkerhed Sikker kommunikation over usikre kanaler Kryptografi: Bygge systemer Kryptoanalyse: Bryde systemer Avancerede Protokoller Data er

Læs mere

Noget om en symmetrisk random walks tilbagevenden til udgangspunktet

Noget om en symmetrisk random walks tilbagevenden til udgangspunktet Random Walk-kursus 2014 Jørgen Larsen 14. oktober 2014 Noget om en symmetrisk random walks tilbagevenden til udgangspunktet Dette notat giver et bevis for at en symmetrisk random walk på Z eller Z 2 og

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

Simpel opsætning og brug af Sikker Mail.

Simpel opsætning og brug af Sikker Mail. Greve Juli 2018 Simpel opsætning og brug af Sikker Mail. Version 1.1 - Dansk ApS Korskildeeng 5 2670 Greve Telefon: +45 82 307 308 Email: lars@primero.dk www.primero.dk Indledning: Efter lovgivningen omkring

Læs mere

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36 Slide 1/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 2/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 3/36 1) Hvad er Taleteori? sfaktorisering Slide 4/36 sfaktorisering 1) Hvad er

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. API for sekventiel tilgang (API = Application

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.

Læs mere

Videregående Algoritmik. Version med vejledende løsninger indsat!

Videregående Algoritmik. Version med vejledende løsninger indsat! Videregående Algoritmik DIKU, timers skriftlig eksamen, 1. april 009 Nils Andersen og Pawel Winter Alle hjælpemidler må benyttes, dog ikke lommeregner, computer eller mobiltelefon. Opgavesættet består

Læs mere

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4 Indhold 1 Vindermængde og tabermængde 2 2 Kopier modpartens træk 4 3 Udnyt modpartens træk 5 4 Strategityveri 6 5 Løsningsskitser 7 Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende

Læs mere

Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016

Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016 Besvarelser til Lineær Algebra Ordinær eksamen - 6. Juni 2016 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n Side af sider Opgave (%) Ja Nej n er O( n )? n er O(log n)? n er O(n )? n + er O(0n)? nlogn er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: nlogn logn

Læs mere

Besvarelser til Calculus Ordinær Eksamen - 5. Januar 2018

Besvarelser til Calculus Ordinær Eksamen - 5. Januar 2018 Besvarelser til Calculus Ordinær Eksamen - 5. Januar 18 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

1 Om funktioner. 1.1 Hvad er en funktion?

1 Om funktioner. 1.1 Hvad er en funktion? 1 Om funktioner 1.1 Hvad er en funktion? Man lærer allerede om funktioner i folkeskolen, hvor funktioner typisk bliver introduceret som maskiner, der tager et tal ind, og spytter et tal ud. Dette er også

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Analyse 2. Gennemgå bevis for Sætning Supplerende opgave 1. Øvelser. Sætning 1. For alle mængder X gælder #X < #P(X).

Analyse 2. Gennemgå bevis for Sætning Supplerende opgave 1. Øvelser. Sætning 1. For alle mængder X gælder #X < #P(X). Analyse 2 Øvelser Rasmus Sylvester Bryder 3. og 6. september 2013 Gennemgå bevis for Sætning 2.10 Sætning 1. For alle mængder X gælder #X < #P(X). Bevis. Der findes en injektion X P(X), fx givet ved x

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Denne note er skrevet med udgangspunkt i [, p 24-243, 249 Et videre studium kan eksempelvis tage udgangspunkt i [2 Eventuelle kommentarer kan sendes til olav@mathaaudk

Læs mere

Noter til kursusgang 8, IMAT og IMATØ

Noter til kursusgang 8, IMAT og IMATØ Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =

Læs mere

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 http://home.imf.au.dk/matjph/haderslev.pdf Johan P. Hansen, matjph@imf.au.dk Matematisk Institut, Aarhus

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2 Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket

Læs mere

1 Sælgeroplysningsskema Bygningssagkyndig udfylder...2

1 Sælgeroplysningsskema Bygningssagkyndig udfylder...2 Vejledning for det elektroniske sælgeroplysningsskema (ver. 1. 01-09-2016) Indholdsfortegnelse 1 Sælgeroplysningsskema... 2 1.1 Bygningssagkyndig udfylder...2 1.1.1 Sælger kan svare på alle spørgsmål...

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Noter til Perspektiver i Matematikken

Noter til Perspektiver i Matematikken Noter til Perspektiver i Matematikken Henrik Stetkær 25. august 2003 1 Indledning I dette kursus (Perspektiver i Matematikken) skal vi studere de hele tal og deres egenskaber. Vi lader Z betegne mængden

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Besvarelser til Calculus Ordinær Eksamen Juni 2018

Besvarelser til Calculus Ordinær Eksamen Juni 2018 Besvarelser til Calculus Ordinær Eksamen - 5. Juni 08 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

6. RSA, og andre public key systemer.

6. RSA, og andre public key systemer. RSA 6.1 6. RSA, og andre public key systemer. (6.1). A skal sende en meddelelse til B. Denne situation forekommer naturligvis utallige gange i vores dagligdag: vi kommunikerer, vi signalerer, vi meddeler

Læs mere