Studienarbeit. Ein Überblick zum Einsatz von ECC über endliche Körper vom Grad 2 n und p n

Größe: px
Ab Seite anzeigen:

Download "Studienarbeit. Ein Überblick zum Einsatz von ECC über endliche Körper vom Grad 2 n und p n"

Transkript

1 Studienarbeit Ein Überblick zum Einsatz von ECC über endliche Körper vom Grad n und p n von Mahin Olaie Referent: Prof. Dr. H. Vollmer Betreuer: Dr. M. Bauland Institut für Theoretische Informatik Leibniz Universität Hannover Juni 007

2 Inhaltsverzeichnis Einleitung Elliptische Kurven. Vereinfachung der langen Weierstrass-Gleichung 3. Additive Gruppe auf der Elliptischen Kurve 4.. Formeln für Punktaddition und Punktverdopplung 5.3 Repräsentation und Arithmetik von Elementen 6 m.3. Binäre Körper F 6.3. Prime Körper F p 6 n.3.3 OEF F p 6 3 Kryptographie mit Elliptischen Kurven 6 3. ECDH 7 3. Public-Key-Verfahren Unterschriften 9 4 Effiziente Implementierung der Punktmultiplikation auf Elliptischen Kurven 9 4. Verschiedene Koordinatendarstellung Projektive Koordinaten Standard projektive Koordinaten P Jakobische projektive Koordinaten J Chudnovsky Jakobische Koordinaten J c López-Dahab projektive Koordinaten LD Vergleich der Darstellungen 0 5 Vergleich der Implementierungen von verschiedenen Artikeln 6 Zusammenfassung 7 7 Literaturverzeichnis 8

3 Einleitung Elliptische Kurven Kryptographie (ECC) wurde erstmals von Koblitz [Kob87] und Miller [Mil86] vorgeschlagen. Vor Koblitz und Miller lag das Interesse für elliptische Kurven nur in der Mathematik. Doch längst ist durch das Interesse an ihnen in der Kryptographie die Entwicklung von kryptographischen Primitiven und Protokollen auf Basis elliptischer Kurven vorangeschritten. Die Elliptische Kurven Kryptographie hat den Vorteil, dass sie mit nur 70 bzw. 33 Bit Schlüssellänge die gleiche Sicherheit bietet wie beispielsweise RSA mit 04 bzw. 048 Bit Schlüssellänge. Zahlreiche Artikel über ECC behandeln Implementierungsdetails und Optimierungsmöglichkeiten auf den unterschiedlichsten Systemen mit verschiedenen Grundkörpern. Binäre Grundkörper wurden vor allem für Hardwareimplementierungen untersucht, da sich die binäre Repräsentation der Elemente einfach in Hardware gießen lässt. Ein häufig verwendeter Grundkörper ist primer Grundkörper F p mit großer Primzahl. Die sind vorzuziehen, wenn das Zielsystem eine Arithmetikeinheit hat, die eine effiziente Multiplikation und Division unterstützt. Neben den bekannten und oft verwendeten Primfeldern und binären Feldern existiert ein interessanter Grundkörper GF(p n ), Optimal Extension Fields (OEF), die erstmals von Bailey und Paar [BP98] vorgeschlagen. Obwohl sie sehr jung sind, ist ihr Einsatz gerade für Embedded Systems sehr interessant. Die Idee ist es, die Multiplikationseinheit eines RISC- Prozessors voll auszunützen, deshalb wird die Primzahl p so gewählt, dass sie in die Prozessor-Word-Size passt. Diese Arbeit liefert ein Überblick über verschiedene Artikel, die unterschiedliche Systeme und Grundkörper benutz haben und miteinander verglichen werden.

4 Elliptische Kurven Eine elliptische Kurve wird im Allgemeinen durch die Weierstrass-Gleichung definiert. Definition.. Eine Elliptische Kurve über einem Körper K ist eine ebene, reguläre, projektive Kurve E vom Grad 3 über K, die durch die homogene Weierstrass-Gleichung der Form F : Y Z + a XYZ + a 3 YZ = X 3 + a X Z + a 4 XZ + a 6 Z 3 (.) mit Koeffizienten a, a, a 3, a 4, a 6 K gegeben ist. Für die affine Darstellung der homogenen Weierstrass-Gleichung setzt man x = Z X, y = Z Y und Z = und erhält damit dann die Form f : y + a xy + a 3 y = x 3 + a x + a 4 x + a 6 (.) Es gibt genau einen rationalen Punkt Ơ mit Z = 0, also Ơ = (0: : 0), der als der unendliche Punkt bezeichnet. Unabhängig von den Koeffizienten a i ist Ơ immer ein regulärer Punkt auf der Elliptischen Kurve E. D.h. es werden nicht gleichzeitig alle drei partiellen Ableitungen verschwinden. Um zu bestimmen, ob eine Kurve regulär oder singulär ist, muss die Diskriminante der Weierstrass-Gleichung berechnet werden: b = a + 4a b 4 = a 4 + a a 3 b 6 = a 3 + 4a 6 b 8 = a a 6 + 4a a 6 a a 3 a 4 + a a 3 a 4 c 4 = b 4b 4 c 6 = b b b 4 6b 6 = b b 8 8b 4 3 7b 6 + 9b b 4 b 6, j = c 4 3 / Für eine Kurve E in der Weierstrassform nach (.) gilt: E ist regulär (E) 0. Der Beweis kann in [Sil86, Kapitel 3.] oder [Wer0, Kapitel ] nachgelesen werden. Abbildung.: Beispiele für singuläre Kurven

5 . Vereinfachung der langen Weierstrass-Gleichung Sei char(k) =, dann lässt sich die Weierstrass-Gleichung (.) durch Koordinatentransformation in eine speziellere Form bringen. Dazu muss man die zwei Fälle a 0 und a = 0 unterscheiden: Bei dem für die Kryptographie wesentlich wichtigeren Fall a 0 führt die Transformation x a x + a 3, y 3 a a4 + a a y + 3 a a ausgehend von der langen affinen Weierstrass-Gleichung (.) (unter Beachtung der Rechenregeln für Charakteristik ) zur folgenden Gleichung: mit den Koeffizienten y + xy = x 3 + ax + b 3 a 3 + aa a = 3 a a a6 + a a3a4 + a a3 a + a a4 + a a3 + a, b = a 4 3. Für den Fall a = 0 führt die Koordinatentransformation x x + a, y y zur folgenden Gleichung y + a 3 y = x 3 + a 4 x + a 6. Diese Form gehört zu einer besonderen Kategorie von elliptischen Kurven, die man allgemein supersingulär nennt. Diese sind für kryptographische Verwendungen uninteressant. Für supersinguläre Kurven existiert die so genannte MOV-Attacke, welche das diskrete Logarithmusproblem in der Punktegruppe einer solchen Kurve auf das diskrete Logarithmusproblem in einem endlichen Körper reduziert. Mehr zu supersingulären Kurven und zur MOV-Attacke findet sich unter anderem in [MOV93], [Wer0] und [BSS99]. Sei char(k), dann kann die Weierstrassform durch die Substitution y /(y a x a 3 ) zu f : y = 4x 3 + b x + b 4 x + b 6 mit den oben definierten Koeffizienten vereinfacht werden. x 3b Sei char(k), 3, dann lässt sich durch die Substitution x y und y Term bei x eliminieren und man erhält die einfachere Gleichung für E, also: der f : y = x 3 7c 4 x 54c 6.

6 . Additive Gruppe auf der Elliptischen Kurve Durch die unten definierte Punktaddition bilden die Punkte der Elliptischen Kurve zusammen mit dieser Addition eine abelsche Gruppe. Mit Hilfe der Sekanten-Tangenten-Methode wird eine Addition auf die Menge der Punkte einer Elliptischen Kurve E definiert. Dies folgt daraus, dass eine projektive Grade eine projektive Kurve vom Grad 3 immer in genau drei Punkten schneidet, wenn man die Schnittmultiplizitäten mitzählt. Definition.. Sei E eine durch die Weierstrass-Gleichung gegebene Elliptische Kurve und Ơ E der unendliche Punkt. Seien weiter P, Q E und L eine Grade durch P und Q (wenn P = Q ist L die Tangente an E in P). Der dritte Schnittpunkt von L E sei S E und sei weiter L eine Grade durch S und Ơ. Man nennt den dritten Schnittpunkt von L E dann R = P Q. Abbildung.: Punktaddition über R Für die Punktaddition gilt das folgende Lemma: Lemma.3. Seien P, Q und S die drei Schnittpunkte beim Schnitt einer Graden L mit einer Elliptischen Kurve E, die nicht notwendigerweise verschieden sein müssen. Es gilt: ( P Q) S = Ơ Satz.4. Es sei E eine Elliptische Kurve, Ơ E der unendliche Punkt und die in Definition. definierte Punktaddition. Es gilt (E, ) ist eine abelsche Gruppe mit neutralem Element Ơ. Folgende Eigenschaften gelten: I. P Ơ = P für alle P E (Neutrales Element) II. P Q = Q P für alle P, Q E (Kommutativität) III. Für alle P E gibt es einen Punkt P E so dass gilt: (Inverses Element) IV. Sei P, Q, R E. Es gilt: P ( P) = Ơ (Assoziativität) ( P Q ) R = P ( Q R) Den Beweis hierzu kann man in [Sil86, Kapitel III] oder [Was03, Kapitel ] finden.

7 Definition.5. Da die Punktmenge von E eine Additive Gruppe bildet, lässt sich eine Multiplikation nur als fortgesetzte Addition berechnen. Die k-fache Addition eines Punktes P, also 4 P + 4P P, wird mit kp abgekürzt. k Definition.6. Wenn P und Q gleiche Punkte auf der Elliptischen Kurve E sind und P P, dann wird die Addition von P und Q Punktverdopplung genannt: P + Q = P = R, während R das Additive Inverse von S ist, welche der dritte Schnittpunkt der Tangente im Punkt P mit der Elliptische Kurve E ist. Punktsubtraktion ist eine hilfreiche Operation in manchen Algorithmen. Diese Operation kann durch Punkaddition- oder Punktverdopplungsformeln mithilfe der Additiven Inversen des entsprechenden Punktes ausgedrückt werden. Also kann die Punktsubtraktion P Q wie folgt mit Punktaddition definiert werden: P Q = P + ( Q)... Formeln für Punktaddition und Punktverdopplung Wir betrachten die Elliptische Kurve E in affinen Koordinaten. Sei char(k) > 3 und E eine Elliptische Kurve definiert durch y = x 3 + ax + b mit 4a 3 +7b 0 für P = (x, y) E ist P = (x, y). Sei P = P = (x, y ) dann berechnet sich P 3 = P durch (Additive Inverse) (Punktverdopplung) 3x + a x 3 = x y 3x + a y 3 = ( x x 3 ) y y Sei P P, dann berechnet sich P 3 = P + P durch (Punktaddition) x 3 = y 3 = y x y x y x y x x x ( x x 3 ) y Sei char(k) = und E eine Elliptische Kurve definiert durch y + xy = x 3 + ax + b mit b 0 Sei P = (x, y) E, dann ist P = (x, x + y) Seien P = (x, y ) und P = (x, y ) E mit P P Falls x x, dann berechnet sich der Punkt P 3 = P + P durch (Additive Inverse) (Punktaddition) y x 3 = x + + y x y y 3 = x + + y + y + + x + x + a x + x y x ( x + x 3 ) + x 3 + y

8 Falls x = x 0, dann berechnet sich der Punkt P 3 = P durch (Punktverdopplung) x 3 = x y + + y x x + + a x y y 3 = x + ( x + x 3 ) + x 3 + y x Für einen Beweis wird auf [Wer0], [Sil86] und [Was03] verwiesen..3 Repräsentation und Arithmetik von Elementen.3. Binäre Körper F m Die Elemente in einem binären Körper F m sind Bit-Strings der Länge m. Die Elemente können auch als Polynome mit einem Grad kleiner m und Koeffizienten aus F (Unterkörper) betrachtet werden. Die Regeln der Addition und Subtraktion sind analog der Polynomaddition bzw. Polynomsubtraktion so, dass keine Überträge existiert. Die Multiplikation kann mit Polynommultiplikation durch Schieben und Addieren relativ einfach durchgeführt werden, da keine Überträge existieren. Zur Quadrierung muss zwischen allen binären Ziffern des Ausgangselements eine 0 eingeschoben werden..3. Prime Körper F p Das Feld F p umfasst die Zahlen 0 bis p-, jede Berechnung in diesem Feld endet mit der Restbildung der Division durch p (modulo p). Die Regeln der Arithmetik in F p sind eigentlich genau gleich wie in den reellen Zahlen, mit der Ausnahme, dass Berechnungen immer modulo p durchgeführt werden..3.3 OEF F p n Die Elemente können auch als Polynome mit einem Grad kleiner n und Koeffizienten aus F p (Unterkörper) betrachtet werden. Die Regeln der Addition und Subtraktion sind analog der Polynomaddition bzw. Polynomsubtraktion. Erweiterte Körpermultiplikation wird durch Polynommultiplikation über F p und eine Modularreduktion durchgeführt. 3 Kryptographie mit Elliptischen Kurven EC-Kryptographie basiert darauf, was als ECDLP bekannt ist und eine direkte Analogie zum DLP aufweist. ECDLP kann wie folgt erklärt werden: Gegeben sei eine Elliptische Kurve E und zwei Punkte P und Q E, wobei Q = kp. Dann ist das Berechnen von k sehr schwierig, besonders wenn Parameter sehr sorgfähig gewählt wurden. Es gibt verschiedene Algorithmen um den diskreten Logarithmus zu berechnen. Zu nennen sind der Baby-step giant-step algorithm, der Pohling-Hellman algorithm, der Pollard-Rho algorithm und der Index-calculus algorithm [MvV97, Kapitel. 3.6]. Im Gegensatz zu den Kryptographieverfahren, die auf dem DLP über Z * p basieren, ist bisher aber keine Algorithmus bekannt, der in subexponentieller Laufzeit das ECDLP für nicht-

9 singuläre Kurven lösen kann (siehe [MvV97, Kapitel 3.]). Daher sind die Schlüssellängen in den ECC viel kürzer als bei den Verfahren über Z * p. Abbildung 3.: Vergleich des Aufwandes um RSA/ECC zu berechen (Quelle: [CeSec]) 3. ECDH Um über eine unsichere Verbindung einen gemeinsamen Schlüssel für eine symmetrische Verschlüsselung zu erzeugen, wurde auch für EC-Kryptosysteme ein Diffie-Hellman- Verfahren entworfen, das allgemein als ECDH bekannt ist. ECDH funktioniert wie der Schlüsselaustausch nach Diffie-Hellman, was im Folgenden beschrieben wird: Zwei Kommunikationspartner werden mit Hilfe des DH-Schlüsselaustauschs einen geheimen Schlüssel vereinbaren. Die Kommunikationspartner seien Alice und Bob: Alice und Bob einigen sich zunächst auf eine Primzahl p und eine Primitivwurzel g mod p mit g p. Diese Parameter müssen nicht geheim bleiben. Alice und Bob ermitteln jeweils einen zufälligen, geheim zu haltenden Wert a bzw. b. a und b bleiben dem jeweiligen Kommunikationspartner und auch potenziellen Lauschern unbekannt. Alice berechnet A = g a mod p und sendet das Ergebnis an Bob. Bob berechnet B = g b mod p und sendet dies an Alice. A und B werden über die unsichere Verbindung übertragen. Alice berechnet s = B a = g ba mod p und Bob berechnet s = A b = g ab mod p. Also erhalten beide Seiten dadurch den identischen Wert s, der als Schlüssel für die weitere Kommunikation verwendet werden kann. Die Analogie dazu mit Elliptischen Kurven ist nun als Elliptic Curve Diffie-Hellman (ECDH) definiert: Alice und Bob einigen sich zunächst auf eine geeignete Elliptische Kurve E und einen Basispunkt P E. Diese Parameter müssen nicht geheim bleiben.

10 Alice und Bob ermitteln jeweils einen zufälligen, geheim zu haltenden Wert a bzw. b. a und b bleiben dem jeweiligen Kommunikationspartner und auch potenziellen Lauschern unbekannt. Alice berechnet Q A = ap und sendet das Ergebnis an Bob. Bob berechnet Q B = bp und sendet dies an Alice. Q A und Q B werden über die unsichere Verbindung übertragen. Alice berechnet S = aq B = abp und Bob berechnet S = bq A = bap. Also erhalten beide Seiten dadurch den identischen Punkt S E, dessen X-Koordinate (nach [X9-63]) zur Schlüsselgenerierung für eine symmetrische Verschlüsselung verwendet werden kann. 3. Public-Key-Verfahren Man hat darauf verzichtet ein RSA-ähnliches Verfahren auch mit Elliptischen Kurven zu definieren, weil diese wie RSA auf IFP (Integer Factorization Problem) aufbauen und keine erweiterte Sicherheit bieten würden. Eine Variante von ElGamal-Schemas auf Elliptischen Kurven wäre theoretisch machbar gewesen, bis heute aber ist ECIES das einzige standardisierte Public-Key-Verfahren für Elliptischen Kurven. ECIES steht für Integrated Encryption Scheme version Elliptic Curve. ECIES baut eigentlich direkt auf ECDH auf. Der einzige Unterschied ist, dass eine Seite als Public-Key einen fixen Punkt hat. Zum Public-Key gehört auch noch die verwendete Kurve und der Generator-Punkt. Der entsprechende Private-Key wäre dann der diskrete Logarithmus dieses fixen Punktes. Alice : wählt oder generiert eine Kurve E, deren Anzahl von Punkten durch eine möglichst große Primzahl q teilbar sein sollte. wählt einen Punkt P auf E. wählt eine zufällige Zahl a und berechnet Q A = ap. Ihre Schlüsselpaar ist dann: Public-Key = (E, q, P, Q A ), Private-Key = (a ) Wenn nun Bob eine sichere Nachricht M an Alice schicken möchte, generiert er mit Hilfe des Public-Keys von Alice seinerseits ein temporäres Schlüsselpaar. D.h. Bob wird auf seiner Seite den ECDH-Key-Exchange durchführen und danach die Nachricht symmetrisch chiffrieren und an Alice schicken. Bob: wählt eine zufällige Zahl b und berechnet Q B = bp. berechnet bq A = bap = (x, y). berechnet einen symmetrische Schlüssel S aus x-koordinate von (x, y). Verschlüsselt die Nachricht M mit der vereinbarten Chiffre mithilfe des Schlüssel S. sendet Q B und Chiffre (M, S) an Alice. Alice kann den Schlüsselaustausch durchführen und die symmetrisch verschlüsselte Nachricht dechiffrieren: Alice: berechnet aq B = abp = (x, y). berechnet einen symmetrische Schlüssel S aus x-koordinate von (x, y). entschlüsselt die Nachricht mithilfe der vereinbarten Chiffre.

11 3.3 Unterschriften Der auf elliptischen Kurven basierende Signaturalgorithmus ECDSA, Digital Signatur Algorithm for Elliptic Curves, basiert auf den Arbeiten von [Mil86], [Kob87] und [Kra93] und ist in [X9-6] spezifiziert. ECDSA wird zum digitalen Signieren und Verifizieren verwendet. Bei der Verifikation werden weder die Nachricht selbst noch deren Hashwert wieder hergestellt, sondern es wird nur bestimmt, ob die Signatur korrekt oder gefälscht ist. Angenommen Alice möchte eine Nachricht signieren und an Bob schicken. Dazu sollte wie bei ECIES ein Schlüsselpaar generiert werden. Also sei ihr Schlüsselpaar Public-Key = (E, q, P, Q A ) und Private-Key = (a). Mit diesem Schlüsselpaar wird dann eine Signatur erzeugt: Alice: wählt eine zufällige Zahl k. berechnet kp = (x, y ) und r = x mod q. Bei r= 0 fängt beim ersten Schritt wieder an. berechnet Hashwert von M, also e = SHA (M). berechnet s = k - (e + ar) mod q. Bei s = 0 fängt beim ersten Schritt wieder an, da kein s - existiert. Die Signatur für M ist (r, s). Damit Bob die Nachricht verifizieren kann, benötigt er wieder den Public-Key von Alice. Bob: erhält den Public-Key von Alice (Signierer). überprüft, dass r und s in [, q - ] sind. berechnet w = s - mod q und e = SHA-(M). berechnet u = ew mod q und u = rw mod q. berechnet u P + u Q A = (x 0, y 0 ). berechnet v = x 0 mod q und falls v = r ist, wird Signatur akzeptiert. 4 Effiziente Implementierung der Punktmultiplikation auf Elliptischen Kurven Bei auf Elliptischen Kurven basierenden Kryptographiesystemen ist vor allem die effiziente Berechnung von Vielfachen eines Punktes mp = Q, die so genannte Punktmultiplikation, sehr wichtig. Die verwendeten Methoden in Algorithmen für die Punktmultiplikation sind den Methoden für schnelles Potenzieren einer Zahl, square and multiply, sehr ähnlich und werden als double and add Verfahren bezeichnet. Aus diesem Grund muss effiziente Punktverdopplung und Punktaddition untersucht werden. 4. Verschiedene Koordinatendarstellungen Der Hauptunterschied der vorgeschlagenen Algorithmen liegt in den verwendeten Koordinaten, was sich in der effizient der Algorithmen bemerkbar macht. Zur Darstellung der Punkte gibt es affine und projektive Koordinaten. Wenn affine Koordinaten verwendet werden, müssen multiplikative Inverse eines Elements berechnet werden. Diese Berechnung kann im Vergleich zu den anderen Körperoperationen (Multiplikation, Addition, Subtraktion) sehr zeitintensiv sein. Deshalb benutzt man die projektiven Koordinaten, um auf die kostspielige Operation der Invertierung eines Körperelements verzichten zu können. Weil bei projektiven Koordinaten im Gegensatz zu affinen mehr Multiplikationen von Körperelementen notwendig sind, hängt die Wahl von Koordinaten zur schnelleren Berechnung vom Verhältnis zwischen Invertierung und Multiplikation ab.

12 4.. Projektive Koordinaten In diesem Kapitel werden vier verschiedene projektive Koordinatendarstellungen kurz vorgestellt und die Umrechnung von einem affinen Punkt in entsprechende Koordinaten und umgekehrt erklärt und verglichen. Zu den Herleitungen sowie Beweisen sei auf [Lan04], [LD99b], [HMV04, Kapitel 3], [CF05] und [BSS99] verwiesen Standard projektive Koordinaten P A P (x, y) [X : Y : ] X Y, Z Z [X : Y : Z], Z Jakobische projektive Koordinaten J A J (x, y) [X : Y : ] X Y Z Z 3 [X : Y : Z] Chudnovsky Jakobische Koordinaten J c Hier wird die Jakobische Punkt [X: Y: Z] durch (X: Y: Z: Z : Z 3 ) dargestellt. In Jakobischen Koordinaten ist Punktverdopplung schneller als Punktaddition. Diese Darstellung ist nützlich in manchen Punktmultiplikationsmethoden, die ihre Punktaddition in projektiven Koordinaten durchführen López-Dahab projektive Koordinaten LD Diese Form der projektiven Koordinaten wurde in einer Arbeit von López und Dahab [LD99b] vorgestellt. In [Lan04] wurde eine neue Formel für Punktverdopplung vorgeschlagen. A LD (x, y) [X : Y : ] X Z, Z Y [X : Y : Z] 4.. Vergleich der Darstellungen Hier werden die Körperoperationen für Punktaddition und Punktverdopplung in verschiedenen Koordinaten gerechnet und in zwei Tabellen 4. und 4. zusammengefasst. Die einzelnen Algorithmen, sowie die verschiedenen Koordinatendarstellungen werden durch die Anzahl der Körperoperationen verglichen. Dabei wird eine Multiplikation mit M, eine Invertierung durch I und eine Quadrierung mit S abgekürzt. Es ist meistens sinnvoll gemischte Koordinaten zu benutzen. Der Ausdruck K + K K 3 bezeichnet Punktaddition von einem Punkt in K -Koordinaten und einem Punkt in K -Koordinaten mit dem Resultat in K 3 -Koordinaten.

13 Der Ausdruck K K bezeichnet Punktverdoppelung eines Punktes in K -Koordinaten mit dem Resultat in K -Koordinaten. Wie man aus Tabelle 4. und 4. erkennen kann, werden für die affine Berechnung des neues Punktes deutlich weniger Körperoperationen als für das projektive Äquivalent benötigt. Aber die Berechnung des Inversen eines Elements ist eine relativ teuere Operation. Es gibt auch noch andere Bemerkungen, die zur Optimierung der Wahl der Koordinatensysteme beachtet werden müssen. Mehr dazu kann man in [Hen03, Kapitel 6.4] und [Esc05] lesen. A + A A P + P P J + J J J c + J c J c Punktaddition Punktverdopplung Gemischte Koordinaten I + M + S M + S M + 4S M + 3S A A P P J J J J (a klein) J J (a -3) J c J c I + M + S 7M + 5S 4M + 6S 3M + 6S 4M + 4S 5M + 6S A + A J c A + A J J + A J A + A P P + A P J c + A J c J c + J c J J c + J J A P A J c A J 5M + 3S 4M + S 8M + 3S 5M + S 0M + S 8M + 3S 0M + S M + 3S 5M + 4S 3M + 5S M + 4S Tabelle 4. Der Vergleich des Bedarfs von Körperoperationen für Addition und Verdopplung von Punkten der Kurven auf GF(P) (P > 3) in verschiedenen Koordinatensystemen Punktaddition Punktverdopplung Gemischte Koordinaten I + M + S A A I + M + S 5M + S P P 7M + 4S 5M + 5S J J 5M + 5S 4M + 4S LD LD 4M + 4S 3M + 4S A + A A P + P P J + J J J + J J (a=0) LD + LD LD A + A J A + A LD A + LD LD A + J J A + J J(a=0) P + A P A P A J A LD 4M + S 5M + S 8M + 5S M + 3S 0M + 3S M + S 5M + S M + S M + 3S Tabelle 4. Der Vergleich des Bedarfs von Körperoperationen für Addition und Verdopplung von Punkten der Kurven auf GF( n ) in verschiedenen Koordinatensystemen 5 Vergleich der Implementierungen von verschiedenen Artikeln In [Esc05] wurde der Speicherbedarf und die Laufzeit der ECC Implementierung über binären Körpern auf zwei embedded Systemen C67 und ST30 untersucht und verglichen. Die für die Laufzeit entscheidenden Körperoperationen sind vor allem die Multiplikation sowie die Inversenbildung von Körperelementen. Für die Multiplikation zeigte der Left-to-right comb Window Algorithmus die beste Performanz bei einem Speicherbedarf von 384 Byte für eine Wortbreite von 6 Bit und einer Windowgröße von 4 Bit.

14 Für die Inversenbildung wurden zwei Algorithmen, Erweiterter Euklidischer und Modified Almost Inverse, verglichen. Im allgemeinen Fall ist der Erweiterte Euklidische Algorithmus schneller, aber die zweite Variante erwies sich für spezielle Polynome geeigneter. Für die Quadrierung von Polynomen wurden drei Algorithmen, Quadrieren von Polynomen mit Lookup-Table im RAM (mit Wordlänge 3), Quadrieren von Polynomen ohne Lookup- Table und Quadrieren von Polynomen mit Lookup-Table im ROM, für die verwendeten Prozessoren verglichen. Im Fall des C67 verbessert die Verwendung von Lookup-Table die Laufzeit um ca. 3%. Der Zugriff auf eine im ROM liegende Tabelle bringt nur minimale Vorteile gegenüber der RAM Variante. Im Fall des ST30 kann man feststellen, dass die Verwendung der ROM Methode um den Faktor 5 mal schneller als die RAM Variante ist und der Algorithmus ohne Lookup-Table nur für kleine Grade des irreduziblen Polynoms schneller als die RAM Variante ist. Also kann in allen Fällen die im ROM liegende Tabelle das Quadrieren beschleunigen. Für die Reduktion der Multiplikationsergebnisse wurden allgemeine Varianten (Reduce-, Reduce ohne Lookup-Algorithmus) mit einer auf ein bestimmtes Polynom angepassten Version (Reduce für NIST-Algorithmus) verglichen. Für den C67 weisen die Reducevarianten mit Lookup-Tabelle eine Verbesserung um den Faktor 38 auf und für den ST30 um einen deutlich größeren aber variierenden Faktor. Für die weiteren Punktoperationen auf Elliptischen Kurven wurden die beiden NIST-Kurven B-63 und B-33 ausgewählt, für welche zunächst unter Verwendung eines speziellen Reduce-Algorithmus und als Vergleich dazu für die Kurve B-33 unter Verwendung eines allgemeinen Reduce-Algorithmus die Messwerte aufgeführt sind. Nach dem Vergleich verschiedener Koordinatendarstellungen für die Addition und Verdopplung von Punkten wurde eine Form von gemischten Koordinaten aus affinen und López-Dahab-Koordinaten verwendet. Für die Punktmultiplikationen wurden Right-to-left A, Right-to-left binary Methode LD, Left-to-Right binary Method LD-A, Right-to-left NAF LD-A, Left-to-Right NAF LD-A, Modified B-ary LD, Modified B-ary LD-A und der Montgomery Algorithm auf einem C67 (6Bit) und ST30 (3Bit) Mikroprozessor implementiert, getestet und verglichen. Alle Algorithmen wurden jeweils in einer 8 Bit, 6 Bit und 3 Bit Version kompiliert und deren Laufzeit auf den einzelnen Prozessoren gemessen. Im Bezug auf die Laufzeit sind alle Implementierungen, welche die native Prozessorbreite nutzen, d.h. für C67 6 Bit und für ST30 3 Bit, die günstigsten und es zeigt sich damit, dass solche Anpassung an die spezifischen Eigenschaften eines Prozessor sehr große Einflüsse auf die Performanz der implementierten Algorithmen nehmen kann. Die Messungen zeigen auch deutliche Zeitvorteile der Algorithmen mit projektiven oder gemischten Koordinaten gegenüber der affinen Variante bis zu 80%. Die Verwendung eines speziellen Reduce- Algorithmus führt zu sehr großen Performanzunterschieden. Z.B. für den Montgomery Algotithmus implementiert auf C67 ergibt sich sogar ein Zeitvorteil von ca. 80%, wenn man anstatt einer allgemeinen Reduce-Routine die speziell angepasste verwendet. Wird ein allgemeiner Reduce-Algorithmus verwendet, verlängern sich die Laufzeiten der Algorithmen, vor allem der Algorithmen, die projektive oder gemischte Koordinaten verwenden, und damit liegen alle implementierten Algorithmen auf einem ähnlichen Level ohne großen Unterschied. Die besten Timing-Werte auf beiden Prozessoren erreichte jeweils der Montgomery Algorithmus. Die Modified B-ary sowie die Left-to-right NAF Variante mit jeweils gemischten LD-A Koordinaten waren etwas langsamer. Im Bezug auf den Speicherbedarf hat der Montgomery Algorithmus den niedrigsten RAM Speicherbedarf (69 Byte temporärer Speicher für die in [Esc05] beschriebenen Variante für die NIST-Kurve B-33 und einer Registerbreite von 6 Bit). Der relativ hohe ROM Bedarf des Montgomery Algorithmus lässt sich durch verschiedene Optimierungen in der Implementierung auf ein wohl akzeptables Maß reduzieren.

15 Trotz guter Timingswerte der beiden Algorithmen Modified B-ary und Left-to-right NAF mit 64 Byte bzw. 000 Byte ist der RAM-Bedarf dafür deutlich höher. In dieser Arbeit wurde Left-to-right NAF LD-A trotz zusätzlicher Berechnung der NAF (Non- Adjacent Form) des Faktors k als der wohl beste Kompromiss zwischen Speicherbedarf und Laufzeit empfohlen, was aber nicht für embedded Systeme gilt. Als nächstes betrachten wir die Artikel [HHM0] und [BHLM0], wo die Implementierungen auf einem Pentium II 400 MHz für die NIST-Kurven über binären bzw. primen Grundkörpern durchgeführt wurden. Mithilfe eines Timingvergleiches kann man feststellen, dass die Anwendung von primen Grundkörpern effizienter ist. Im Artikel [HHM0] wurden zunächst Algorithmen zu Körperoperationen vorgestellt und danach ihr Zeitbedarf auf drei binären Körpern F 63, F 33 und F 83 verglichen. Für die Reduktion stellte sich heraus, dass der Modular reduction (one word at a time) Algorithmus gegenüber dem Modular reduction (one bit at a time) Algorithmus eine schnellere Variante ist. Für die Multiplikation war der Left-to-right comb with Windows of size 4 Algorithmus im Vergleich mit Shift-and-add, Right-to-left comb, Left-to-right comb und Karatsuba Algorithmen der schnellste Multiplikationsalgorithmus mit relativ hohem Speicherbedarf (z.b 336 Bytes für 4 Polynoms in Fall m = 63). Für die Invertierung wurden die drei Algorithmen Extended Euklidean, Almost Inverse und Modified Almost Inverse verglichen und im Gegensatz zu den Ergebnissen aus [WMPW98] und [SOOS95] wurde der Extended Euklidean Algorithmus als schnellster deklariert (z.b µs in Fall m = 63). Für die Punktmultiplikation wurden zwei Fälle, zufällige Kurven und Koblitz Kurven, betrachtet. Für zufällige Kurven wurden die Algorithmen Left-to-right binary, Binary NAF, Window NAF, Montgomery, Fixed-base windowing und Fixed-base comb für die Punktmultiplikation vorgestellt. Für Koblitz Kurven, die auf F definiert sind und deren Hauptvorteil Punktmultiplikation ohne Berechnung jeder Punktverdopplung ist, wurden die Algorithmen TNAF, Window TNAF und Fixed-base window TNAF für die Punktmultiplikation verglichen. Nach einer Punktmultiplikation für m = 63 zeigten der Fixed-base comb Algorithmus für einen Aufwand der Größenordnung 54 für zufällige Kurven und Fixed-base window TNAF für einen Aufwand der Größenordnung 9 für Koblitz Kurven mit projektive Koordinaten die besten Ergebnisse. Es wurde ein Timingvergleich für die oben genannten Algorithmen für die NIST-Kurven B-63, B-33, B-83, K-63, K-33 und K-83 durchgeführt. Als Ergebnis zeigte der Fixedbase comb Algorithmus mit w = 4 mit z.b. 683 µs für B-63 im Vergleich zum nächst besten Algorithmus Montgomery mit 340 µs einen deutlichen Zeitvorteil für zufällige Kurven. Für Koblitz Kurven war der Fixed-base window TNAF Algorithmus mit w = 6 mit z.b. 76 µs für K-63 die schnellste Berechnung. In ECDSA gibt es zwei verschiedene Punktmultiplikation, kp mit festem Punkt P und kp + lq mit feste Punkt P und vorher unbekannte Punkt Q. Für die Berechnung kp mit festem Punkt P war Fixed-base comb (w = 4) für zufällige Kurven und Fixed-base window TNAF (w = 6) für Koblitz Kurven mit extra Speicher effizient und bei beschränktem Speicher waren Montgomery für zufällige Kurven und TNAF für Koblitz Kurven die nächst besten Algorithmen. Für eine schnellere Berechnung von kp + lq wurde ein Algorithmus mit simultaner Punktmultiplikation vorgestellt, der für zufällige Kurven mit extra Speicher das beste Ergebnis zeigte (z.b 4969 µs für B-63). Für beschränkte Speicher ist hier immer noch Montgomery mit 6564 µs für B-63 die beste Variante, wenn Kurven zufällig gewählt werden. Für Koblitz Kurven ist TNAF (wenn der Speicher beschränkt ist) mit z.b. 397 µs für K-63 der effizientere Algorithmus sonst Window TNAF (w = 5) und Fixed-base window TNAF

16 (w = 6) mit 70 µs für K-63 (wenn extra Speicher zu Verfügung stehen) die schnellsten Algorithmen. Aus den Ergebnissen ist sichtbar, dass die Punktmultiplikation für Koblitz Kurven schneller als bei zufälligen Kurven ist und damit eine schnellere Implementierung für die Kryptographie bedeutet. Im Artikel [BHLM0] wurde die Implementierung auf die fünf NIST-Kurven über prime Körper F P für p 9 = 9 64, p 4 = , p 56 = , p 384 = und p 5 = 5 - betrachtet. Hier wurde die beste Laufzeit (mit meistens in Assembler-Code geschriebener Algorithmen) für Körperoperationen auf NIST prime Körper verglichen. Für Fp 9 wurde zusätzlich die Laufzeit in C ohne die Hilfe der in Assembler-Code geschriebenen Variante angegeben. Für die Addition wurde der Algorithmus Modular addition, für Subtraktion der Modular subtraction Algorithmus, für die Multiplikation die Klassische und Karatsuba Methode, für Quadrierung auch die Klassische und modifizierte Variante, für Reduktion die Barrett reduction und Fast reduction Algorithmen und für die Invertierung der Binary inversion Algorithmus vorgeschlagen und miteinander verglichen. Man kann schnell feststellen, dass die mit Hilfe des Assembler-Codes geschriebene Implementierung weniger Laufzeit als nur mit C hat. Insbesonders der Gewinn der Performanz bei der Klassische Multiplikation kommt durch einfachen und beschränkten Einsatz von Assembler-Code. Bei Quadrierung zeigte die Klassische Variante in allen Fällen die besseren Ergebnisse. Wie erwartet war bei Reduktion der fast reduction Algorithmus für prime NIST-Kurven viel schneller als der Barett Algorithmus. Für die Punktmultiplikation wurden zwei Fälle, unbekannter und fester Punkt, betrachtet. Für die Punktmultiplikation mit unbekanntem Punkt wurden die Algorithmen Left-to-right binary, Binary NAF und Window NAF vorgeschlagen. Wenn der Punkt P fest ist und etwas Speicher zur Verfügung steht, kann die Punktmultiplikation mit vorausgehender Berechnung mancher Daten, die nur von Punkt P abhängen, beschleunigt werden. Dazu wurden zwei Algorithmen Fixed-base windowing method und Fixed-base comb method with two table implementiert. Nach einem Zeitvergleich der beiden Algorithmen in Bezug auf Punktmultiplikation, bei denen die Körperoperationen größtenteils in Assembler und die Kurvenoperationen in C implementiert sind, merkt man den ca. 50% positiven Einfluss von Assembler-Code auf die Performanz. Bei unbekanntem Punkt P zeigte der Window NAF Algorithmus die besten Ergebnisse (z.b. für p 9 mit w = 5 und Jakobisch-Chudnovsky Koordinaten 96 µs, mit w = 4 und Jakobisch- Affine Koordinaten 03 µs) und danach kommt der Binary NAF (44 µs für p 9 ) und Binary (443 µs für p 9 ) mit Jakobisch- Affinen Koordinaten. Die gute Wahl der Koordinaten hat starken Einfluss auf die Laufzeit, weil z.b Binary NAF mit Affinen Koordinaten die Laufzeit 8306 µs hat, die ca. um den Faktor 9 verlängert wurde. Wenn der Punkt fest ist, verringert sich die Laufzeit (z.b. für p 9 Fixed-base comb Algorithmus mit w = 4 und Jakobisch-Affine Koordinaten 68 µs und Fixed-base window Algorithmus mit w = 5 und Chudnovsky-Affine und Jakobisch-Chudnovsky Koordinaten 8 µs). In ECDSA gibt es zwei verschiedene Punktmultiplikationen: kp mit festem Punkt P und kp + lq mit festem Punkt P und unbekanntem Punkt Q, wofür im Artikel der Simultane Algorithmus implementiert wurde. In einer Tabelle wurden die effizientesten Algorithmen zur Berechnung von kp mit festem Punkt P für alle NIST-Kurven mit Laufzeit aufgelistet. Für nicht so stark beschränkte Speicher ist Fixed-base comb und für beschränkte Speicher ist Binary NAF Jacobian der effizienteste Algorithmus für prime NIST-Kurven. Im Vergleich aller NIST-Kurven, sind die Algorithmen bei Koblitz-Kurven und primen NIST-Kurven schneller als bei zufälligen binären NIST- Kurven.

17 Die Ergebnisse für die Berechnung von kp + lq zeigen auch, dass die Punktmultiplikation bei primen NIST-Kurven etwas schneller als bei Koblitz-Kurven und beide schneller als bei zufälligen binären NIST-Kurven ist. In [BC98] wurde eine andere Familie von endlichem Körper OEF (Optimal Extension Field), welche schnelle Körperarithmetik mit sich bringt, vorgestellt. Bis dahin waren alle vorherigen Arbeiten auf diesem Gebiet auf zwei Typen von endlichen Körpern GF( m ) und GF(P) konzentriert. GF( m ) ist besonders geeignet für Hardware-Implementierung, weil die Elementen von GF() durch die logischen Signale 0 und dargestellt werden können. Dennoch hat GF( m ) keinen analogen Rechenvorteil in der Software-Implementatierung und für große m ist die Multiplikation in GF( m ) sehr langsam. In ähnlicher Weise haben prime Körper GF(P) auch Rechenproblem auf normalen Computern. Diese Repräsentation hat zwei Nachteile: Die Übertragung zwischen Wörter muss angepasst werden und p-modulare Reduktion muss mit den Operanden, die mehr Maschinenwörter besitzen, durchgeführt werden. Die Motivation dieser Arbeit war, die sehr hohe Performanz, die modernen RISC Prozessoren bzgl. Integerarithmetik auf einzelne Wörter haben, zu nutzen. Um die Arithmetik in GF(p m ) zu optimieren, wurden folgende Eigenschaften für die Wahl von p und m vorausgesetzt:. p muss kleiner aber trotzdem nahe der Wortlänge im Prozessor gewählt werden, sodass alle Operationen in GF(p) den Vorteil der schnellen Integerarithmetik des Prozessors nutzen können.. p muss eine pseudo-mersenne Primzahl sein, d.h. von der Form n ± c für log c n/ sein, was effiziente Modulreduktion verursacht. 3. m ist so zu wählen, dass x m w ein irreduzibles Binom ist, damit bei dieser Körpererweiterung die Modulreduktion effizient wird. Der Körper GF(p m ) ist isomorph zu GF(p)[x]/(P(x)), sodass P(x) = x m m + p mit pi GF(p) ein normiertes, irreduzibles Polynom vom Grad m auf GF(p) ist. Also werden die Elemente von GF(p m ) durch die Polynome vom Grad < m identifiziert und können mit m Register repräsentiert werden, wenn p kleiner als die Wortlänge des Prozessors ist. Die Wahl vom Körperpolynom bestimmt die Komplexität der benötigten Operationen für Modul Reduktionen, die für alle Arithmetik gebraucht werden. Die Addition und Subtraktion von zwei Körperelementen wurde durch die Addition und Subtraktion von Koeffizienten ihrer Polynome und ggf. Modulreduktion, d.h. vom Zwischenergebnis wird ein p subtrahiert, implementiert. Bei der Addition in OEF im Gegensatz zu GF(p) für große p wird kein Übertrag zwischen Computerwörter benötigt. Je mehr Koeffizienten ein Körperpolynom hat, desto mehr Unterkörpermultiplikationen sind für die Reduktion notwendig. Daher ist man bestrebt die Anzahl der Koeffizienten gering zu halten. Die Wahl für OEF fällt auf das irreduzible Binom P(x) = x m w als Körperpolynom, weil für die Reduktion eines Polynoms C(x) vom Grad m- nur m- Multiplikationen mit w und m- Additionen, beides Operationen in GF(p), benötigt werden. Multiplikation von Elementen aus dem Körper GF(p m ) wird durch eine schnelle Unterkörpermultiplikation, d.h. indem einer einzigen Multiplikation eine Modulreduktion im Unterkörper folgt, effizient berechnet. Eine schnelle Unterkörperreduktion ist bei einem Modul von der Form n ± c, wobei c eine kleine Integerzahl ist, möglich, da diese Form eine Reduktion ohne Division erlaubt. Definition 5.. Ein OEF ist eine endlicher Körper GF(p m ) mit:. p ist eine pseudo-mersenne Primzahl (eine Primzahl der Form n ± c, log c n/). einem irreduziblen Binom P(x) = x m w GF(p)[x]. i= 0 i i x

18 Hier wird die Methode der Konstruktion von OEFs in drei Schritten beschrieben: Wahl einer pseudo-mersenne Primzahl, Faktorisieren von p, Auswählen von m. Weil die Performanz der Körperarithmetik das wichtigste Kriterium für die Performanz des gesamten Systems bedeutet, wurde in diesem Artikel behauptet, dass OEF schnellere Software Körperarithmetik bietet als jene Varianten, von denen in bisheriger Literatur berichtet wurde. Hier wurde die Laufzeit für die Körpermultiplikation vom OEF GF(( 6 ) 3 ) mit den drei damals als die besten geltenden Varianten verglichen. Folgende Tabelle zeigt die Ergebnisse: Methode Körpergroße Körpertyp Plattform GF Mult. (µs) [WBVGV96] 76 Bits GF(( n ) m ) 33 MHz Pentium 6,7 [GP97] 76 Bits GF(( n ) m ) 75 MHz DEC Alpha 38,6 [SOOS95] 55 Bits GF( m ) 75 MHz DEC Alpha 7, OEF 83 Bits GF(p m ) 50 MHz DEC Alpha 3,3 Tabelle 5.: Vergleich der Performanz der Körpermultiplikation Aus der Tabelle 5. kann man sehen, dass die Körpermultiplikation in OEF mindestens doppelt so schnell wie die beste der drei Alternativen ist. Und das obwohl OEF bzgl. einer größeren Körperordnung und auf einer leistungsschwächeren Plattform getestet wurde, als es bei [SOOS95] der Fall war. Im Artikel [Sma0] hat Herr Smart verschiedene endliche, in ECC verwendete Körper verglichen. Er behauptet, dass es wegen verschiedener technischer Einschränkungen wie z.b. Prozessortyp, Speicherbedarf usw. keine richtige Antwort auf die Frage Welche Körper muss verwendet werden? gibt. Hier wurden vier endliche Körper betrachtet und die Implementierungen wurde in C++ mit wenigen Zeilen in Maschinencode geschrieben. Als 9 Prozessor wurde 3 Bit RISC Prozessor verwendet. Die Körper sind binäre Körper F mit irreduziblen Polynomen P(x) = x 9 + x 9 +, OEF mit P(x) = x 6 und p = 3 9, prime Körper F p mit p = einmal mit Montgomery Implementierung und einmal mit GM-Prime (Generalized Mersenne Prime) Implementierung. Der Autor unterstreicht diesen erstmaligen Vergleich zwischen OEFs und GM-prime Körper, da GM-prime Körper bereits bei verschiedenen Standards z.b. ANSI, NIST, WAP und SECG schön verwendet wurde. Körpertype Addition Multiplikation Quadratisierung Invertierung Montgomery 0,88 (µs) 7,56 (µs) 7,36 (µs) 0,8 (ms) GM-prime 0,9 (µs) 5,48 (µs) 5,44 (µs) 0,0 (ms) OEF,00 (µs) 5,04 (µs) 4,84 (µs) 0,0 (ms) 9 F 0,6 (µs),96 (µs),56 (µs) 0,8 (ms) Tabelle 5.: Vergleich der Performanz der Körperoperationen Man stellt fest, dass Multiplikation in binären Körpern am langsamsten ist und beinahe doppelt so langsam wie die nächst langsamerer Variante, nämlich die Montgomery Darstellung. Aber Quadratisierung in binären Körpern werden fast kostenfrei ausgeführt. Die Multiplikation im Körper OEF ist etwas schneller als in GM-primen Körpern. Auffällig ist die Verbesserung bzgl. des Zeitbedarfs für Invertierung im Körper OEF. Hier wurde das Verhältnis r = I / M vom Zeitbedarf für eine Invertierung zum Zeitbedarf für eine Multiplikation für wichtig gefunden. Besonders wenn r groß ist, werden die gemischten Koordinaten bevorzugt. Smart hat in einem Vergleich von affinen und gemischten Koordinaten für alle Körpertypen gesehen, dass affine Koordinate für OEF und gemischte Koordinate für GM-prime etwas vorteilhafter ist.

19 Am Ende wurde die Laufzeit von drei Basiskryptographieoperationen ECDH, ECDSA, ECMQV gemessen und verglichen: Operation Montgomery GM-prime OEF 9 F ECDSA sign 9 (ms) 7 (ms) 4 (ms) 0 (ms) ECDSA verify 30 (ms) (ms) 7 (ms) 60 (ms) ECDH 30 (ms) (ms) 6 (ms) 63 (ms) ECMQV 4 (ms) 30 (ms) 4 (ms) 84 (ms) Tabelle 5.3: Laufzeitvergleich von drei Basiskryptographieoperationen Hier wurde gezeigt, dass die OEF Körper gewisse Performanzvorteile gegenüber anderen in der ECC verwendeten Körpern haben, welche nicht nur Zeitvorteile, sondern auch Speichervorteile sind. Der Autor ist der Meinung, dass der geringe Performanzunterschied zwischen OEF Körper und GM-prime Körper der Grund war, dass OEF nicht zum Standard wurde. In [GKP04] wurde erstmals die architektonische Unterstützung für die Arithmetik in OEF betrachtet. Hier wurden die vorhandenen Algorithmen für Arithmetik in OEF Körpern etwas modifiziert und analysiert, wie sie auf MIPS3 Prozessor effizient implementiert werden können. Auch wurden verschiedene einfache architektonische Erweiterungen zur Unterstützung für die Arithmetik in OEF Körpern nach einer effizienten Methode gegeben. In [LH04] wurden einige Verbesserungen für Körperarithmetik in GF(p n ) insbesondere für schnelle Körpermultiplikations- und Invertierungsalgorithmen auf den zwei Mikroprozessoren Pentium II und Alpha 64 vorgeschlagen. Die Vergleiche wurde bzgl. der Körper GF(p n ) für verschiedene p und n gemacht und mit dem Körper GF( 6 ) verglichen. Für die Körperoperationen und Kurvenoperationen zeigen GF(p 5 ) mit p = 3 5 und Körperpolynom f(x) = x 5 auf einem Pentium II und GF(p 3 ) mit p = 57 3 und Körperpolynom f(x) = x 3 auf einem Alpha 64 die beste Performanz und beide sind besser als GF( 6 ). In [LKKK06] wurde ein ECC Coprozessor über GF(p n ) auf FPGA vorgeschlagen. Hier wurden vier verschiedene Typen von Modularinvertierungen für den Coprozessor implementiert, d.h. drei Variante vom erweiterten euklidischen Algorithmus und Invertierung mittels Frobenius map. Weil die Invertierung unter den anderen OEF Operationen am meisten Kosten verursacht, ist die Performanz des ECC Coprozessors über OEF stark abhängig von der Performanz der Modularinvertierung. Für eine Hardwareimplementierung von OEF ragt die Invertierung mittels Frobenius map gegenüber den anderen Varianten vom erweiterten euklidischen Algorithmus hervor. 6 Zusammenfassung Die Vergleichbarkeit der Ergebnisse gestaltet sich jedoch nicht einfach, da es vielfältigste Faktoren gibt die Einfluss auf die Laufzeit der verschiedenen Implementierungen nehmen. Nach Betrachtung der ausgeführten Artikel ergibt es sich, zu den vorhandenen Anforderungen (Prozessoren, Speichergröße, gewünschte Sicherheit, usw.) best mögliche Variante auszuwählen. Des Weiteren sollte die Implementierung in Bezug auf Laufzeit und Speicherbedarf optimiert werden.

20 7 Literaturverzeichnis [BHLM0] BRROWN, Michael ; HANKERSON, Darrel ; LÓPEZ, Julio ; MENEZES, Alfred: Software Implementation of the NIST Elliptic Curves Over Prime Fields. In: Lecture Notes in Computer Science 00 (00), S. 50- [BP98] BAILEY, Daniel V. ; PAAR, C.: Optimal extension fields for fast arithmetic in public-key algorithms. In: Advances in Cryptology-CRYPTO 98, vol. 46 of Lecture Notes in Computer Science, pp Springer Verlag, 998. [BSS99] BLAKE, Ian ; SEROUSSI, Gadiel ; SMART, Nigel: Elliptic Curves in Cryptography. Cambridge : cambridge University Press, 999 [Cer00] Certicom, Remarks on the Security of the Elliptic Curve Cryptosystem, Juli 000 [CF05] COHEN, Henri ; FREY, Gerhard: Handbook of Elliptic and Hyperelliptic Curve Cryptography. London : CRC-Press, 005 [Esc05] ESCHERICH, Robert: Kryptographie mit Elliptischen Kurven über Körpern gerader Ordnung für tief eingebettete Systeme. Diplomarbeit : Fachbereich Informatik der Georg- Simon-Ohm Fachhochschule Nürnberg, 005 [GKP04] GROSSSCHÄDL, J. ; KUMAR, S. S. ; PAAR, C.: Proceedings of the 5th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 004), pp. -4. IEEE Computer Society Press, 004. [GP97] GUAJARDO, Jorge ; PAAR, Christof : Efficient algorithms for elliptic curve cryptosystems. In Advances in Cryptology Crypto 97, pages Springer Lecture Notes in Computer Science, August 997. [Hen03] HENHAPL, Birgit : Zur Effizienz von Elliptische Kurven Kryptographie. Dissertation, Fachbereich Informatik der Technischen Universität Darmstadt, 003 [HHM0] HANKERSON, Darrel ; HERNANDEZ, Julio L. ; MENEZES, Alfred: Software Implementation of Elliptic Curve Cryptography over Binary Fields. In: Lecture Notes in Computer Science 965 (00), S. -4 [HMV04] HANKERSON, Darrel ; MENEZES, Aifred ; VANSTONE, Scott: Guide to Elliptic Curve Cryptography. New York : Springer-Verlag, 004 [Kob87] N. Koblitz. Elliptic curve cryptosystems. Mathematics of Computation, 48:03-09, 987. [Kra93] D. W. Kravitz. Digital signature algorithm. U.S. Patent 5, 3, 668, July 993. [Lan04] LANGE, Tanja: A Note on López Dahab coordinates. Ruhr-University of Bochum, 004. Information-Security and Cryptography [LD99b] LÓPEZ, Julio ; DAHAB, Ricardo: Improved Algorithms for Elliptic Curve Arithmetic in F n. In: Selected Areas in Cryptograohy SAC 98, LNCS 556, Springer- Verlag, 999, S. 0-.

Elliptische Kurven in der Kryptographie

Elliptische Kurven in der Kryptographie Elliptische Kurven in der Kryptographie 1 Gliederung Einleitung Elliptische Kurven Elliptische Kurven über Körper Public-Key Verfahren mittels elliptischer Kurven Elliptische Kurven Vergleich ECC und RSA

Mehr

Elliptische Kurven und ihre Anwendungen in der Kryptographie

Elliptische Kurven und ihre Anwendungen in der Kryptographie Elliptische Kurven und ihre Anwendungen in der Kryptographie Heiko Knospe Fachhochschule Köln heiko.knospe@fh-koeln.de 29. März 2014 1 / 25 Weierstraß-Gleichung Elliptische Kurven sind nicht-singuläre

Mehr

IT-Sicherheit Kapitel 3 Public Key Kryptographie

IT-Sicherheit Kapitel 3 Public Key Kryptographie IT-Sicherheit Kapitel 3 Public Key Kryptographie Dr. Christian Rathgeb Sommersemester 2013 1 Einführung In der symmetrischen Kryptographie verwenden Sender und Empfänger den selben Schlüssel die Teilnehmer

Mehr

Einführung in Computer Microsystems

Einführung in Computer Microsystems Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

GF(2 2 ) Beispiel eines Erweiterungskörpers (1)

GF(2 2 ) Beispiel eines Erweiterungskörpers (1) GF(2 2 ) Beispiel eines Erweiterungskörpers (1) Im Kapitel 2.1 wurde bereits gezeigt, dass die endliche Zahlenmenge {0, 1, 2, 3} q = 4 nicht die Eigenschaften eines Galoisfeldes GF(4) erfüllt. Vielmehr

Mehr

Datensicherheit durch Kryptographie

Datensicherheit durch Kryptographie Datensicherheit durch Kryptographie Dr. Michael Hortmann Fachbereich Mathematik, Universität Bremen T-Systems Michael.Hortmann@gmx.de 1 Kryptographie: Klassisch: Wissenschaft und Praxis der Datenverschlüsselung

Mehr

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo Kryptographische Verfahren zur Datenübertragung im Internet Patrick Schmid, Martin Sommer, Elvis Corbo 1. Einführung Übersicht Grundlagen Verschlüsselungsarten Symmetrisch DES, AES Asymmetrisch RSA Hybrid

Mehr

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie IT-Sicherheit: Kryptographie Asymmetrische Kryptographie Fragen zur Übung 5 C oder Java? Ja (gerne auch Python); Tips waren allerdings nur für C Wie ist das mit der nonce? Genau! (Die Erkennung und geeignete

Mehr

Post-quantum cryptography

Post-quantum cryptography Post-quantum cryptography Post-quantum cryptography 1. Komplexität & Quantencomputer 2. Kryptografie in Gittern 3. FHE Eine Revolution im Datenschutz? WIESO? KOMPLEXITÄT Public-Key-Kryptografie Grafiken:

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

MAC Message Authentication Codes

MAC Message Authentication Codes Seminar Kryptographie SoSe 2005 MAC Message Authentication Codes Andrea Schminck, Carolin Lunemann Inhaltsverzeichnis (1) MAC (2) CBC-MAC (3) Nested MAC (4) HMAC (5) Unconditionally secure MAC (6) Strongly

Mehr

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Sophie Friedrich, Nicholas Höllermeier, Martin Schwaighofer 11. Juni 2012 Inhaltsverzeichnis Einleitung Motivation Mathematische Definitionen Wiederholung Gruppe Ring Gruppenhomomorphisums

Mehr

Grundlagen der Kryptographie

Grundlagen der Kryptographie Grundlagen der Kryptographie Seminar zur Diskreten Mathematik SS2005 André Latour a.latour@fz-juelich.de 1 Inhalt Kryptographische Begriffe Primzahlen Sätze von Euler und Fermat RSA 2 Was ist Kryptographie?

Mehr

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Was ist Kryptographie

Was ist Kryptographie Was ist Kryptographie Kryptographie Die Wissenschaft, mit mathematischen Methoden Informationen zu verschlüsseln und zu entschlüsseln. Eine Methode des sicheren Senden von Informationen über unsichere

Mehr

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Das Kryptosystem von McEliece. auf der Basis von linearen Codes Das Kryptosystem von McEliece auf der Basis von linearen Codes Anforderungen Public-Key Kryptosysteme E e (m) = c Verschlüsselung D d (c) = m Entschlüsselung mit Schl. effizient effizient 2/25 Anforderungen

Mehr

Kurze Einführung in kryptographische Grundlagen.

Kurze Einführung in kryptographische Grundlagen. Kurze Einführung in kryptographische Grundlagen. Was ist eigentlich AES,RSA,DH,ELG,DSA,DSS,ECB,CBC Benjamin.Kellermann@gmx.de GPG-Fingerprint: D19E 04A8 8895 020A 8DF6 0092 3501 1A32 491A 3D9C git clone

Mehr

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen Immo FaUl Wehrenberg immo@ctdo.de Chaostreff Dortmund 16. Juli 2009 Immo FaUl Wehrenberg immo@ctdo.de (CTDO) SSL/TLS Sicherheit

Mehr

Probabilistische Primzahlensuche. Marco Berger

Probabilistische Primzahlensuche. Marco Berger Probabilistische Primzahlensuche Marco Berger April 2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 4 1.1 Definition Primzahl................................ 4 1.2 Primzahltest...................................

Mehr

Seminar Kryptographie und Datensicherheit

Seminar Kryptographie und Datensicherheit Andere Protokolle für digitale Unterschriften Wintersemester 2006/2007 Gliederung 1 Provably Secure Signature Schemes Lamport Signature Scheme Full Domain Hash 2 Undeniable Signatures 3 Fail-stop Signature

Mehr

Kap. 2: Fail-Stop Unterschriften

Kap. 2: Fail-Stop Unterschriften Stefan Lucks 2: Fail-Stop Unterschriften 17 Digital Unterschreiben und Bezahlen Kap. 2: Fail-Stop Unterschriften Digitale Unterschriften (Synomym: Digitale Signaturen ): Fälschen mutmaßlich hart (RSA-Wurzeln,

Mehr

Authentikation und digitale Signatur

Authentikation und digitale Signatur TU Graz 23. Jänner 2009 Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Begriffe Alice und

Mehr

Kryptographie. nur mit. Freier Software!

Kryptographie. nur mit. Freier Software! Michael Stehmann Kryptographie nur mit Freier Software! Kurze Einführung in Kryptographie ErsterTeil: Bei der Kryptographie geht es um die Zukunft von Freiheit und Demokratie Artur P. Schmidt, 1997 http://www.heise.de/tp/artikel/1/1357/1.html

Mehr

OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen

OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen OPC UA: Ein kritischer Vergleich der IT-Sicherheitsoptionen Melanie Gallinat 1, Stefan Hausmann 2, Markus Köster 1, Stefan Heiss 2 Weidmüller Gruppe 1 Klingenbergstraße 16 32758 Detmold, Deutschland Hochschule

Mehr

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Kryptographie im Bereich Embedded Systems

Kryptographie im Bereich Embedded Systems Kryptographie im Bereich Embedded Systems Thomas Zeggel cv cryptovision GmbH thomas.zeggel@cryptovision.com 2. SELMA-Workshop, Berlin, 15./16.10.2003 2 Überblick - cv cryptovision GmbH: Schwerpunkte -

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

9 Schlüsseleinigung, Schlüsselaustausch

9 Schlüsseleinigung, Schlüsselaustausch 9 Schlüsseleinigung, Schlüsselaustausch Ziel: Sicherer Austausch von Schlüsseln über einen unsicheren Kanal initiale Schlüsseleinigung für erste sichere Kommunikation Schlüsselerneuerung für weitere Kommunikation

Mehr

Methoden der Kryptographie

Methoden der Kryptographie Methoden der Kryptographie!!Geheime Schlüssel sind die sgrundlage Folien und Inhalte aus II - Der Algorithmus ist bekannt 6. Die - Computer Networking: A Top außer bei security by obscurity Down Approach

Mehr

Einführung in die moderne Kryptographie

Einführung in die moderne Kryptographie c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science

Mehr

Zahlenbereiche. Jörn Loviscach. Versionsstand: 20. Oktober 2009, 17:43

Zahlenbereiche. Jörn Loviscach. Versionsstand: 20. Oktober 2009, 17:43 Zahlenbereiche Jörn Loviscach Versionsstand: 20. Oktober 2009, 17:43 1 Natürliche, ganze und rationale Zahlen Zum Zählen benötigt man die positiven natürlichen Zahlen 1, 2, 3,... In der Informatik zählt

Mehr

Einsatz und Bedeutung Elliptischer Kurven für die elektronische Signatur. Elisabeth.Oswald@iaik.at

Einsatz und Bedeutung Elliptischer Kurven für die elektronische Signatur. Elisabeth.Oswald@iaik.at Einsatz und Bedeutung Elliptischer Kurven für die elektronische Signatur Elisabeth.Oswald@iaik.at Inhaltsverzeichnis 1 Einleitung 3 2 Einsatzmöglichkeiten Elliptischer Kurven in der Public Key Kryptographie

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten

Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten Versuch: Eigenschaften einer Unterhaltung Instant Messaging Unterhalten Sie sich leise mit Ihrem Nachbarn über ein aktuelles Thema. Dauer ca. 2 Minuten welche Rollen gibt es in einem IM-System? Analysieren

Mehr

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Seminararbeit für das SE Reine Mathematik- Graphentheorie Seminararbeit für das SE Reine Mathematik- Graphentheorie Der binäre Rang, der symplektische Graph, die Spektralzerlegung und rationale Funktionen Vortrag am 24.01.2012 Heike Farkas 0410052 Inhaltsverzeichnis

Mehr

Elliptische Kurven Basis für ein alternatives Public Key Kryptosystem

Elliptische Kurven Basis für ein alternatives Public Key Kryptosystem Elliptische Kurven Basis für ein alternatives Public Key Kryptosystem Uwe Krieger, cv cryptovision Im Bereich der Kryptographie sind in letzter Zeit deutliche Veränderungen spürbar: Nicht nur, daß die

Mehr

Primzahlen im Schulunterricht wozu?

Primzahlen im Schulunterricht wozu? Primzahlen im Schulunterricht wozu? FRANZ PAUER, FLORIAN STAMPFER (UNIVERSITÄT INNSBRUCK) 1. Einleitung Eine natürliche Zahl heißt Primzahl, wenn sie genau zwei Teiler hat. Im Lehrplan der Seundarstufe

Mehr

Vortrag Keysigning Party

Vortrag Keysigning Party Vortrag Keysigning Party Benjamin Bratkus Fingerprint: 3F67 365D EA64 7774 EA09 245B 53E8 534B 0BEA 0A13 (Certifcation Key) Fingerprint: A7C3 5294 E25B B860 DD3A B65A DE85 E555 101F 5FB6 (Working Key)

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

Mehr

Zusätzliche Anwendungen mit der Bürgerkarte

Zusätzliche Anwendungen mit der Bürgerkarte Zusätzliche Anwendungen mit der Bürgerkarte ADV Tagung Elektronische Signatur, Elektronische Rechnungslegung und E-Government Wo stehen wir heute? 24.06.2008 Daniel Konrad Zentrum für sichere Informationstechnologie

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

"Practical Cryptography" Kapitel 8, 9, 15, 16 und 22 (Ferguson/Schneider)

Practical Cryptography Kapitel 8, 9, 15, 16 und 22 (Ferguson/Schneider) "Practical Cryptography" Kapitel 8, 9, 15, 16 und 22 (Ferguson/Schneider) Seminar Internetsicherheit TU-Berlin Martin Eismann Martin Eismann Internet-Sicherheit Practical Cryptography Folie 1 Was ist Sicherheit?

Mehr

Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC:

Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC: Effizienten MAC-Konstruktion aus der Praxis: NMAC Idee von NMAC: Hashe m {0, 1} auf einen Hashwert in {0, 1} n. Verwende Π MAC3 für Nachrichten fixer Länge auf dem Hashwert. Wir konstruieren Π MAC3 mittels

Mehr

Secure Socket Layer V.3.0

Secure Socket Layer V.3.0 Konzepte von Betriebssystem-Komponenten Schwerpunkt Internetsicherheit Secure Socket Layer V.3.0 (SSLv3) Zheng Yao 05.07.2004 1 Überblick 1.Was ist SSL? Bestandteile von SSL-Protokoll, Verbindungherstellung

Mehr

Kryptologie und Kodierungstheorie

Kryptologie und Kodierungstheorie Kryptologie und Kodierungstheorie Alexander May Horst Görtz Institut für IT-Sicherheit Ruhr-Universität Bochum Lehrerfortbildung 17.01.2012 Kryptologie Verschlüsselung, Substitution, Permutation 1 / 18

Mehr

Fehler in numerischen Rechnungen

Fehler in numerischen Rechnungen Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler

Mehr

1. Asymmetrische Verschlüsselung einfach erklärt

1. Asymmetrische Verschlüsselung einfach erklärt 1. Asymmetrische Verschlüsselung einfach erklärt Das Prinzip der asymmetrischen Verschlüsselung beruht im Wesentlichen darauf, dass sich jeder Kommunikationspartner jeweils ein Schlüsselpaar (bestehend

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) 1. Einleitung Die Elektronische Unterschrift (EU) dient zur Autorisierung und Integritätsprüfung von

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

8. Von den Grundbausteinen zu sicheren Systemen

8. Von den Grundbausteinen zu sicheren Systemen Stefan Lucks 8. Grundb. sich. Syst. 211 orlesung Kryptographie (SS06) 8. Von den Grundbausteinen zu sicheren Systemen Vorlesung bisher: Bausteine für Kryptosysteme. Dieses Kapitel: Naiver Einsatz der Bausteine

Mehr

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.3 Eigenwerte und Eigenräume, Diagonalisierung 3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.

Mehr

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen Sommersemester 2008 Digitale Unterschriften Unterschrift von Hand : Physikalische Verbindung mit dem unterschriebenen Dokument (beides steht auf dem gleichen Blatt). Fälschen erfordert einiges Geschick

Mehr

Digital Signature and Public Key Infrastructure

Digital Signature and Public Key Infrastructure E-Governement-Seminar am Institut für Informatik an der Universität Freiburg (CH) Unter der Leitung von Prof. Dr. Andreas Meier Digital Signature and Public Key Infrastructure Von Düdingen, im Januar 2004

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Denn es geht um ihr Geld:

Denn es geht um ihr Geld: Denn es geht um ihr Geld: [A]symmetrische Verschlüsselung, Hashing, Zertifikate, SSL/TLS Warum Verschlüsselung? Austausch sensibler Daten über das Netz: Adressen, Passwörter, Bankdaten, PINs,... Gefahr

Mehr

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Digital Rights Management 4FriendsOnly.com Internet Technologies AG Vorlesung im Sommersemester an der Technischen Universität Ilmenau

Mehr

OPERATIONS-RESEARCH (OR)

OPERATIONS-RESEARCH (OR) OPERATIONS-RESEARCH (OR) Man versteht darunter die Anwendung mathematischer Methoden und Modelle zur Vorbereitung optimaler Entscheidungen bei einem Unternehmen. Andere deutsche und englische Bezeichnungen:

Mehr

Kryptographie praktisch erlebt

Kryptographie praktisch erlebt Kryptographie praktisch erlebt Dr. G. Weck INFODAS GmbH Köln Inhalt Klassische Kryptographie Symmetrische Verschlüsselung Asymmetrische Verschlüsselung Digitale Signaturen Erzeugung gemeinsamer Schlüssel

Mehr

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell Kryptographie II Introduction to Modern Cryptography Jonathan Katz & Yehuda Lindell Universität zu Köln, WS 13/14 Medienkulturwissenschaft / Medieninformatik AM2: Humanities Computer Science Aktuelle Probleme

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

Mehr

Kryptographische Verfahren: Empfehlungen und Schlüssellängen

Kryptographische Verfahren: Empfehlungen und Schlüssellängen Technische Richtlinie TR-02102-4 Kryptographische Verfahren: Empfehlungen und Schlüssellängen Teil 4 Verwendung von Secure Shell (SSH) (Version 2015-01) Bundesamt für Sicherheit in der Informationstechnik

Mehr

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus 1 RYPTOSYSTEME 1 ryptosysteme Definition 1.1 Eine ryptosystem (P(A), C(B),, E, D) besteht aus einer Menge P von lartexten (plaintext) über einem lartextalphabet A, einer Menge C von Geheimtexten (ciphertext)

Mehr

Information in einem Computer ist ein

Information in einem Computer ist ein 4 Arithmetik Die in den vorhergehenden Kapiteln vorgestellten Schaltungen haben ausschließlich einfache, Boole sche Signale verarbeitet. In diesem Kapitel wird nun erklärt, wie Prozessoren mit Zahlen umgehen.

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Die Weierstraßsche Funktion

Die Weierstraßsche Funktion Die Weierstraßsche Funktion Nicolas Weisskopf 7. September 0 Zusammenfassung In dieser Arbeit führen wir die Weierstraßsche Funktion ein und untersuchen einige ihrer Eigenschaften. Wir zeigen, dass jede

Mehr

Betriebsarten für Blockchiffren

Betriebsarten für Blockchiffren Betriebsarten für Blockchiffren Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Betriebsarten für Blockchiffren Was ist eine Betriebsart (engl. Mode of Operation )? Blockchiffre wird genutzt, um

Mehr

Hochschule Wismar. Fachbereich Wirtschaft. Semesterarbeit. Public Key Kryptosysteme. Studiengang Wirtschaftsinformatik Matrikel Nr.

Hochschule Wismar. Fachbereich Wirtschaft. Semesterarbeit. Public Key Kryptosysteme. Studiengang Wirtschaftsinformatik Matrikel Nr. Hochschule Wismar Fachbereich Wirtschaft Semesterarbeit Public Key Kryptosysteme eingereicht von: Betreuer: Matthias Koch Studiengang Wirtschaftsinformatik Matrikel Nr. : 100193 Prof. Dr. J. Cleve Copyright

Mehr

Häufig gestellte Fragen: ECC- und DSA-Zertifikate Website-Sicherheitslösungen. Häufig gestellte Fragen

Häufig gestellte Fragen: ECC- und DSA-Zertifikate Website-Sicherheitslösungen. Häufig gestellte Fragen Häufig gestellte Fragen Häufig gestellte Fragen: ECC- und DSA-Zertifikate ECC- und DSA-Zertifikate INHALT F1: Was ist DSA?........................................................ 3 F2: Was ist ECC?........................................................

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine) Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2010 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis Wie Interoperabel ist IPsec? Ein Erfahrungsbericht Arturo Lopez Senior Consultant März 2003 Agenda Internet Protokoll Security (IPsec) implementiert Sicherheit auf Layer 3 in OSI Modell Application Presentation

Mehr

Informationssicherheit - Lösung Blatt 2

Informationssicherheit - Lösung Blatt 2 Informationssicherheit - Lösung Blatt 2 Adam Glodek adam.glodek@gmail.com 13.04.2010 1 1 Aufgabe 1: One Time Pad 1.1 Aufgabenstellung Gegeben ist der folgende Klartext 12Uhr (ASCII). Verschlüsseln Sie

Mehr

Inhalt. Grundlegendes zu Bankkarten. Moduliertes Merkmal. PIN-Sicherheit. Seitenkanalangriffe

Inhalt. Grundlegendes zu Bankkarten. Moduliertes Merkmal. PIN-Sicherheit. Seitenkanalangriffe Inhalt Grundlegendes zu Bankkarten Moduliertes Merkmal PIN-Sicherheit Seitenkanalangriffe Harald Baier Ausgewählte Themen der IT-Sicherheit h_da SS 10 24 PIN-Erzeugung bei Debitkarten 1. Variante: Kartendaten

Mehr

Linux User Group Tübingen

Linux User Group Tübingen theoretische Grundlagen und praktische Anwendung mit GNU Privacy Guard und KDE Übersicht Authentizität öffentlicher GNU Privacy Guard unter KDE graphische Userinterfaces:, Die dahinter

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Zuammenfassung: Reelle Funktionen

Zuammenfassung: Reelle Funktionen Zuammenfassung: Reelle Funktionen 1 Grundlegendes a) Zahlenmengen IN = {1; 2; 3; 4;...} Natürliche Zahlen IN 0 = IN {0} Natürliche Zahlen mit 0 ZZ = {... ; 2; 1; 0; 1; 2;...} Ganze Zahlen Q = { z z ZZ,

Mehr

Secure Shell (ssh) Thorsten Bormer 27.01.2006

Secure Shell (ssh) Thorsten Bormer 27.01.2006 27.01.2006 1 Einführung 2 Theoretischer Hintergrund Verschlüsselung Authentifizierung Datenintegrität 3 Funktionsweise von ssh 4 ssh in der Praxis Syntax der Clients Anwendungsbeispiele Was ist SSH? ssh

Mehr

ESecuremail Die einfache Email verschlüsselung

ESecuremail Die einfache Email verschlüsselung Wie Sie derzeit den Medien entnehmen können, erfassen und speichern die Geheimdienste aller Länder Emails ab, egal ob Sie verdächtig sind oder nicht. Die Inhalte von EMails werden dabei an Knotenpunkten

Mehr

Computerarithmetik (1)

Computerarithmetik (1) Computerarithmetik () Fragen: Wie werden Zahlen repräsentiert und konvertiert? Wie werden negative Zahlen und Brüche repräsentiert? Wie werden die Grundrechenarten ausgeführt? Was ist, wenn das Ergebnis

Mehr

Verschlüsselungsverfahren

Verschlüsselungsverfahren Verschlüsselungsverfahren Herrn Breder hat es nach dem Studium nach München verschlagen. Seine Studienkollegin Frau Ahrend wohnt in Heidelberg. Da beide beruflich sehr stark einspannt sind, gibt es keine

Mehr

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Secure Sockets Layer (SSL) Prof. Dr. P. Trommler Übersicht Internetsicherheit Protokoll Sitzungen Schlüssel und Algorithmen vereinbaren Exportversionen Public Keys Protokollnachrichten 29.10.2003 Prof.

Mehr

IPsec. Vortrag im Rahmen des Seminars Neue Internet Technologien

IPsec. Vortrag im Rahmen des Seminars Neue Internet Technologien IPsec Vortrag im Rahmen des Seminars Neue Internet Technologien Friedrich Schiller Universität Jena Wintersemester 2003/2004 Thomas Heinze, Matrikel xxxxx Gliederung IPsec? - Motivation, Grundbegriffe,

Mehr

2 Informationstheorie

2 Informationstheorie 2 Informationstheorie Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Grundbegriffe Informatik (IT: Information

Mehr

Stammtisch 04.12.2008. Zertifikate

Stammtisch 04.12.2008. Zertifikate Stammtisch Zertifikate Ein Zertifikat ist eine Zusicherung / Bestätigung / Beglaubigung eines Sachverhalts durch eine Institution in einem definierten formalen Rahmen 1 Zertifikate? 2 Digitale X.509 Zertifikate

Mehr

Blockverschlüsselung und AES

Blockverschlüsselung und AES Blockverschlüsselung und AES Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam ein Vortrag von Linda Tschepe Übersicht Allgemeines SPNs (Substitutions- Permutations- Netzwerke)

Mehr

Verschlüsselte E-Mails Wie geht das?

Verschlüsselte E-Mails Wie geht das? Verschlüsselte E-Mails Wie geht das? Ralf Hemmecke Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 08. Mai 2015 Ralf Hemmecke (RISC, JKU Linz) Verschlüsselte E-Mails

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) Aufgabe 3 Bankkonto Schreiben Sie eine Klasse, die ein Bankkonto realisiert. Attribute für das Bankkonto sind der Name und Vorname des Kontoinhabers,

Mehr

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13.

Empfehlungen für den sicheren Einsatz. SSL-verschlüsselter Verbindungen. Dipl.-Inform. Lars Oergel Technische Universität Berlin. 13. Empfehlungen für den sicheren Einsatz SSL-verschlüsselter Verbindungen Dipl.-Inform. Lars Oergel Technische Universität Berlin 13. Januar 2014 1 Motivation Edward Snowden: Encryption works. Properly implemented

Mehr

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik

Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Computergrundlagen Boolesche Logik, Zahlensysteme und Arithmetik Institut für Computerphysik Universität Stuttgart Wintersemester 2012/13 Wie rechnet ein Computer? Ein Mikroprozessor ist ein Netz von Transistoren,

Mehr