Entwicklung und Implementierung einer ALU für Operationen im endlichen Körper GF(2 m )

Größe: px
Ab Seite anzeigen:

Download "Entwicklung und Implementierung einer ALU für Operationen im endlichen Körper GF(2 m )"

Transkript

1 Entwicklung und Implementierung einer ALU für Operationen im endlichen Körper GF( m ) Bachelorarbeit Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik vorgelegt von cand.ing. Marc-Sebastian Fiedler Rostock, Oktober 00

2 U N I V E R S I T Ä T R O S T O C K FACHBEREICH ELEKTROTECHNIK UND INFORMATIONSTECHNIK Institut für Angewandte Mikroelektronik und Datentechnik Bachelorarbeit für Herrn cand. ing. Marc-Sebastian Fiedler Entwicklung und Implementierung einer ALU für Operationen im endlichen Körper GF( m ) Die Elliptic Curve Cryptography (ECC) setzt sich immer mehr als Nachfolger für Algorithmen basierend auf der Moduloeponentiation, wie z.b. RSA, ElGamal und Diffie-Hellman, durch. Der Grund ist die wesentlich kürzere Schlüssellänge von ECC-Verfahren, dafür ist aber die Berechnung dieser Verfahren aufwendiger. Für eine Hardwarerealisierung eignen sich Elliptische Kurven über endliche Körper GF( m ) am besten. Für die Berechnungen auf der Elliptischen Kurve werden vier Operationen im endlichen Körper benötigt. Dies sind die Addition, Multiplikation, Quadrierung und Invertierung. Die Quadrierung ist eine Sonderform der Multiplikation, die sie sich aber schneller als eine einfache Multiplikation ausführen lässt. Im Rahmen dieser Arbeit ist eine Arithmetisch Logische Einheit (Arithmetic Logic Unit ALU) zu entwickeln, in der diese vier Operationen implementiert werden. Um ein möglichst kleines Design zu erhalten, sind die einzelnen Operationen, bis auf die Addition, seriell zu implementieren. Dabei sind die Schnittstellen für die vier Operationen so zu entwerfen, dass das jeweilige Modul einfach gegen schnellere ausgetauscht werden kann. Um Probleme mit der Invertierung zu vermeiden, ist auf die Ergebnisse ein Null-Vergleich durchzuführen. Des weiteren ist in der ALU eine Registerbank vorzusehen, in der die zu berechenden Werte und Ergebnisse gespeichert werden können. Folgende Aufgaben sind dabei zu lösen: Einarbeitung in die Theorie der endlichen Körper Realisierungsvorschläge und Bewertung Implementierung der ALU in VHDL Simulation und Testen der VHDL-Beschreibung mit einer C-Arithmetik-Bibliothek Synthese auf einem XILINX-FPGA Betreuer: Dipl. Ing. M. Schmalisch Tag der Ausgabe: Tag der Abgabe: Prof. Dr. D. Timmermann Betreuender Hochschullehrer Inst. für Angewandte Mikroelektronik und Datentechnik

3 INHALTSVERZEICHNIS Einleitung Kryptographie Gliederung der Arbeit... 8 Grundlagen Mathematische Grundlagen Ganze Zahlen Modulare Arithmetik Algebraische Strukturen Elliptische Kurven Anwendung der elliptischen Kurven in der Kryptographie.... Zusammenfassung... 4 Entwurf Grundlegender Entwurfsablauf Umsetzung Struktur der ALU Die Registerbank Die Addition Die Multiplikation Die Quadrierung Die Berechnung des multiplikativen Inversen Der Zerotest Das Package Simulation Synthese und Design Flow Synthese Design Flow Ergebnisse Zusammenfassung und Ausblick Zusammenfassung Verbesserungsmöglichkeiten Eidesstattliche Erklärung... 48

4 4 Abbildungsverzeichnis Abbildung. - Ver- und Entschlüsselung mit einem Schlüssel... 6 Abbildung. - Elliptische Kurve y = Abbildung. - Punktaddition... 9 Abbildung. - Elliptische Kurve y = in GF(5)... Abbildung.4 - Berechnungshierarchie der Skalarmultiplikation... Abbildung. - Entwurfsablauf... 6 Abbildung. - Mooreautomat... 7 Abbildung. - Architektur der ALU... 8 Abbildung.4 - Schnittstellen der Komponente RAM6XD... 9 Abbildung.5 - Multiplikation zweier Polynome... Abbildung.6 - Struktur des Multiplizierers... Abbildung.7 - Schema der Quadrierung... 4 Abbildung.8 - Struktur des Quadrierers Variante... 6 Abbildung.9 - Hardwarearchitektur der Berechnung des multiplikativen Inversen... 7 Abbildung.0 - Aufbau der D-Zelle... 8 Abbildung. - Aufbau der M-Zelle... 9 Abbildung 4. - Testbench mit Referenzmodell... 4 Tabellenverzeichnis Tabelle 4. - Große Zahlen... 4 Tabelle 5. - Syntheseergebnisse Tabelle 6. - Syntheseergebnisse... 45

5 5 Abkürzungsverzeichnis AES - Advanced Encryption Standard ALU - Arithmetic Logic Unit ASIC - Application Specific Integrated Circuit DES - Data Encryption Standard DLP - Diskretes Logarithmus Problem EC - Elliptic Curve ECC - Elliptic Curve Cryptography EDIF - Electronic Design Interchange Format FPGA - Field Programmable Gate Array FSM - Finite State Machine GF - Galois Field ggt - größter gemeinsamer Teiler LSB - Least Significant Bit LUT - Look Up Table MSB - Most Significant Bit RSA - asymmetrisches Verschlüsselungsverfahren nach Rivest, Shamir und Adleman RTL - Register Transfer Level VHDL - VHSIC Description Language VHSIC - Very High Speed Integrated Circuit

6 6 EINLEITUNG Heutzutage werden bei immer mehr Anwendungen kryptographische Methoden benutzt, um den unbefugten Zugang zu Informationen zu unterbinden. Es gibt dazu unzählige Beispiele, angefangen bei der Telefonkarte, der Chipkarte, der Wegfahrsperre über verschlüsselte s und gesicherte Internetverbindungen beim Homebanking oder beim Onlinekauf, bis hin zur Absicherung gegen Wirtschaftsspionage. Die Kryptographie zieht mehr und mehr in den Alltag ein. Dabei ist die Verschlüsselung von Informationen schon, seitdem es Zahlen und Buchstaben gibt, bekannt. Aber erst mit der Entstehung der Computer und der Möglichkeit der Analyse von großen Datenmengen in kurzer Zeit, hat das Interesse an der Kryptographie erheblich zugenommen. Im folgenden Abschnitt soll nun ein kleiner Überblick über die Kryptographie gegeben und anschließend eine grobe Gliederung der Arbeit vorgestellt werden.. Kryptographie Unter Kryptographie versteht man das Absichern von Nachrichten, also dem Verschlüsseln von Nachrichten. Diese Nachrichten werden als Klartet bezeichnet. Durch das Verschlüsseln wird daraus Chiffretet, eine für fremde Personen unverständliche Nachricht. Um diese Nachricht lesbar zu machen, benötigt man den richtigen Schlüssel zum Entschlüsseln des Chiffretet in Klartet. Die andere Möglichkeit liegt in der Kryptoanalyse, sie beschäftigt sich mit dem unbefugten Aufbrechen der verschlüsselten Nachrichten. Die Kryptologie ist dabei der mathematische Zweig der die Kryptographie und die Kryptoanalyse umfasst. Das Ver- und Entschlüsseln wird durch einen Schlüssel gelöst. Dieser Zusammenhang ist in Abbildung. noch einmal verdeutlicht. Schlüssel Schlüssel Klartet Verschlüsseln Chiffretet Entschlüsseln Klartet Abbildung. - Ver- und Entschlüsselung mit einem Schlüssel Nun gibt es zwei unterschiedliche Verfahren die auf Schlüssel beruhen, einmal symmetrische Algorithmen und zum anderen asymmetrische Algorithmen. Die symmetrischen Algorithmen

7 7 werden auch Private-Key-Verfahren genannt, bei ihnen gibt es nur einen Schlüssel. Bei Abbildung. handelt es sich also um ein Private-Key-Verfahren, da das Ver- und Entschlüsseln mit nur einem Schlüssel verwirklicht wird. Hierbei steht das sichere Übermitteln des Schlüssels an alle Kommunikationsteilnehmer im Vordergrund. Bei den asymmetrischen Verfahren, welche auch Public-Key-Verfahren genannt werden, eistieren zwei Schlüssel. Ein öffentlicher (Public) und ein privater (Private) Schlüssel. Wie der Name schon sagt, ist dabei der öffentliche Schlüssel für alle frei zugänglich. Angenommen Alice möchte nun an Bob eine geheime Nachricht senden, verschlüsselt sie ihre Nachricht mit Bob's öffentlichem Schlüssel. Diese Nachricht kann nur Bob mit seinem privaten Schlüssel entschlüsseln. Bei den Public-Key-Verfahren ist der Schlüsselaustausch also wesentlich unproblematischer als bei den Private-Key-Verfahren. Aber auch das Public-Key-Verfahren hat einen entscheidenen Nachteil. Es benötigt etwa das 00 bis 000 -fache an Rechenzeit der Private-Key-Verfahren. Oft werden sie aus diesem Grund nur für den Schlüsselaustausch eines symmetrischen Schlüssels benutzt. Die größere Rechenzeit von Public-Key-Verfahren hängt sehr von der benötigten Schlüssellänge ab. Für das RSA-Verfahren gilt derzeit eine Schlüssellänge von 04 Bit als sicher. Hierbei kommt das noch recht neue ECC-Verfahren zum Einsatz. 986 schlugen N. Koblitz und V. Miller unabhängig voneinander die Nutzung von Elliptischen Kurven für die Kryptographie vor. Dieses ECC-Verfahren besitzt den Vorteil, dass es mit einem kürzerem Schlüssel auskommt. Für die gleiche Sicherheit wie beim RSA-Verfahren beträgt die Schlüssellänge für das ECC-Verfahren nur 9 Bit. Dadurch können die Berechnungen schneller erfolgen, wodurch das ECC-Verfahren einen bedeutenden Platz bei den Public-Key-Verfahren einnimmt.

8 8. Gliederung der Arbeit Diese Arbeit ist in insgesamt 6 Kapitel gegliedert. Dazu gehören. Einleitung, hier wird eine Einführung in die Kryptographie und die Aufgabe dieser Arbeit gegeben.. In den Grundlagen werden die mathematischen Notwendigkeiten ausgearbeitet und anhand von Beispielen dargestellt.. Beim Entwurf wird die Umsetzung der Aufgabenstellung in eine VHDL-Beschreibung auf Register Transfer Ebene veranschaulicht. 4. Bei der Simulation wird die Funktionsweise und die Ergebnisse geschildert. 5. Bei der Synthese und dem Design Flow erfolgt eine Beschreibung der Synthese der ALU auf einem FPGA 6. Zusammenfassung, hier wird ein knapper Überblick der gesamten Arbeit dargelegt.

9 9 GRUNDLAGEN In diesem Kapitel werden die mathematischen Grundlagen behandelt, um das nötige Verständnis dieser Arbeit zu erlangen bzw. aufzufrischen.. Mathematische Grundlagen.. Ganze Zahlen Beginnen wir mit unseren Betrachtungen bei den ganzen Zahlen. Für die Menge der natürlichen Zahlen schreiben wir = { 0,,,, 4,... } und für die Menge der ganzen Zahlen = {..., -, -, -, 0,,,, 4,... }. Die rationalen, reellen und kompleen Zahlen bezeichnen wir mit, und. Eine natürliche Zahl p wird als Primzahl bezeichnet, wenn sie nur durch und durch sich selbst teilbar ist, d.h. sie ist durch keine andere ganze Zahl ohne Rest teilbar. Zum Beispiel ist eine Primzahl, da durch keine der Zahlen,,..., 0 teilbar ist. 5 ist keine Primzahl, denn man kann sie durch 5 und durch teilen. Eine wichtige Eigenschaft der ganzen Zahlen ist die Division mit Rest, wobei gilt: Seien a und b ganze Zahlen, gibt es eine eindeutig bestimmte ganze Zahl q und r, wonach sich a schreiben lässt als a = qb + r. Wobei die Zahl r zwischen 0 und b liegt und als Rest der Division von a durch b bezeichnet wird. Da eine ganze Zahl nur endlich viele Teiler hat, haben zwei ganze Zahlen a, b einen größten gemeinsamen Teiler d = ggt(a, b)

10 0 wobei d die größte ganze Zahl ist die sowohl a als auch b teilt. Wenn ggt(a, b) = ist, werden a und b als teilerfremd bezeichnet, da sie außer den trivialen gemeinsamen Teilern und - keine weiteren gemeinsamen Teiler besitzen. Die Berechnung des größten gemeinsamen Teilers erfolgt in der Regel durch den Euklidischen Algorithmus. Dabei seien a und b zwei ganze Zahlen ungleich 0. Wenn b Teiler von a ist, ergibt sich daraus für d = b, wenn nicht, ergibt sich d = ggt(a, b) als der letzte nicht verschwindende Rest r n des folgenden Schemas von Divisionen mit Rest: a = q b + r b = q r + r r = q r + r r n- = q n r n- + r n r n- = q n+ r n Zum Beispiel ist ggt(88,68) = 4, denn nach diesem Schema gilt: 88 = = = = 4.. Modulare Arithmetik Hierbei werden in der sogenannten Modulo Rechnung nicht alle natürlichen Zahlen, wie es sonst üblich ist, verwendet, sondern nur ein bestimmter Teil von natürlichen Zahlen bis zu einer Grenze n. Oft wird n auch Modul genannt. Zahlen die größer als das Modul n sind eistieren hier nicht. Wenn Ergebnisse von Berechnungen dabei größer als n werden, müssen die Ergebnisse noch modular reduziert werden. Modulo Rechnung bedeutet demnach Restrechnung, denn man kann sich vorstellen, dass b der Rest ist, der bei der Division von a durch n übrigbleibt. Dabei entspricht a : n = Rest b a mod n = b oder a b (mod n).

11 b wird dann Residuum von a modulo n genannt, wobei dann die Menge der ganzen Zahlen von 0 bis (n-) als vollständige Residuenmenge modulo n bezeichnet wird. Man kann auch sagen a sei kongruent zu b modulo n, wobei für Kongruenz steht. Zum Beispiel ist : = 4 Rest das Gleiche wie mod =. Diese Operation heißt modulare Reduktion. Genauso wie die normale Arithmetik verhält sich auch die modulare Arithmetik, sie ist kommutativ, assoziativ und distributiv. Weiterhin ist es möglich, alle Zwischenergebnisse entweder einzeln modulo n zu reduzieren oder erst am Ende der ganzen Rechnung die modulare Reduktion durchzuführen. (a + b) mod n = ((a mod n) + (b mod n)) mod n (a - b) mod n = ((a mod n) - (b mod n)) mod n ( a b ) mod n = ((a mod n ) ( b mod n)) mod n ( a ( b + c) ) mod n = ((( a b ) mod n) + (( a c ) mod n)) mod n Modulo-Addition und -Subtraktion Um eine Modulo-Addition bzw. -Subtraktion zu erreichen, verhält man sich wie beim herkömmlichen Addieren bzw. Subtrahieren, nur mit dem Unterschied, dass am Ende noch eine modulare Reduktion durchgeführt wird. Wenn bei der Addition das Ergebnis größer oder gleich n ist, wird dem Ergebnis das Modul n abgezogen. Bei der Subtraktion wird n dazugezählt, wenn das Ergebnis negativ ist. Zur Unterscheidung der Modulo Rechenarten von den bisher bekannten, wird am Ende der jeweiligen Gleichung (mod n) angefügt. Beispiele: + 5 = (mod 7) denn es gilt + 5 = 8 und 8 mod 7 = - 6 = 6 (mod 9) denn es gilt - 6 = - und - mod 9 = 6 Modulo-Multiplikation Bei der Modulo-Multiplikation werden die beiden Faktoren multipliziert und dem Ergebnis wird so lange das Modul n abgezogen, bis das Ergebnis zwischen 0 und (n-) liegt. Beispiel: 4 5 = = 6 (mod 7)

12 Modulo-Division In der Schulmathematik kann man das Dividieren auch durch Multiplizieren mit dem Kehrwert lösen. ¼ ist z.b. der Kehrwert von 4, da 4 ¼ = ist. Bei der Modulo-Division ist es etwas komplizierter, dort wird für die Division das multiplikative Inverse benötigt. Für dessen Berechnung eistieren verschiedene Verfahren. Ein Verfahren verwendet dabei den erweiterten euklidischen Algorithmus, welcher den größten gemeinsamen Teiler von zwei Zahlen in linearer Darstellung berechnen kann. n u + v (mod n) Dabei ist die zu invertierende Zahl und n das Modul. Der Algorithmus berechnet die Variablen u und v, wobei n u (mod n) immer 0 ist. Dadurch verkürzt sich die Gleichung zu: v (mod n) Hieraus wird ersichtlich, dass v das multiplikative Inverse zu ist. Es gilt also: v (mod n) Diese Gleichung ist immer dann lösbar, wenn und n teilerfremd sind. Sind sie es nicht, besitzt die Gleichung keine Lösung. Ist n eine Primzahl, so ist jede Zahl der vollständigen Residuenmenge teilerfremd zu n und besitzt damit genau ein multiplikatives Inverses in dieser Menge. Um das Inverse zu berechnen kann der erweiterte Euklidische Algorithmus in der folgenden Form verwendet werden: S : = n; V := 0; R : = ; U := ; repeat until R = 0; Q : = S d ivr ; tmp : = S Q R; S : = R; R : = tmp; tmp : = V Q U; V : = U; U : = tmp; return : = V

13 .. Algebraische Strukturen In diesem Abschnitt wollen wir uns algebraischen Strukturen, wie Gruppen und Körpern, bis hin zu den Galois-Feldern widmen. Gruppen Eine Menge G, mit einer Verknüpfung, wird als Gruppe bezeichnet, wenn - diese Verknüpfung assoziativ ist, d.h. wenn a ( b c) = ( a b) c a, b, c G gilt, - die Menge ein neutrales Element e G mit der Eigenschaft a e = a a G besitzt, - und zu jedem Element a G ein inverses Element a G mit a a = e eistiert. Ist eine Gruppe, wie sie zuvor beschrieben wurde, zusätzlich kommutativ, d.h. es gilt a, b G a b = b a, so wird sie als abelsche Gruppe bezeichnet. Die Ordnung einer Gruppe entspricht dabei der Anzahl der enthaltenen Elemente in der Menge G. Ein Beispiel ist (Z, +) also die Menge der ganzen Zahlen, die bezüglich der Addition verknüpft sind. Die Menge ist assoziativ, da ( + ) + = + ( + ) gilt. Das neutrale Element ist die Null und das inverse Element von a ist -a und stellt damit eine Gruppe dar. Sie ist zusätzlich kommutativ, da + = + gilt. Somit bildet sie eine abelsche Gruppe. Ein weiteres Beispiel für eine abelsche Gruppe, ist die Menge der reellen Zahlen ohne die 0, zusammen mit der Multiplikation als Verknüpfung. Dabei ist das neutrale Element und a das inverse Element zu a. Ringe Eine Menge R zusammen mit zwei Verknüpfungen (Addition und Multiplikation) wird Ring genannt, wenn folgende Aiome erfüllt sind: - (R,+) einer abelsche Gruppe ist, deren neutrales Element 0 ist, - die Multiplikation assoziativ ist, d.h. für a, b, c R gilt a ( b c) = ( a b) c, - das neutrale Element bezüglich der Multiplikation ist, es gilt für a R a = a = a,

14 4 - und die Distributivgesetze gelten, d.h. für a, b, c R a ( b + c) = a b + a c und ( b + c) a = b a + c a. Wenn zudem für a, b R a b = b a gilt, wird R als kommutativer Ring bezeichnet. Als Beispiel sei hier der kommutative Ring der ganzen Zahlen mit der gewöhnlichen Multiplikation und Addition gewählt. Körper Ein Körper ist ein kommutativer Ring (R, +, ) mit mindestens Elementen und dem Einselement, wenn jedes von Null verschiedene Element in (R, +, ) ein multiplikatives Inverses in R besitzt. Ein Körper ist also eine algebraische Struktur mit zwei Verknüpfungen (K,, ) und den folgende Eigenschaften: - die Menge K besteht aus mindestens zwei Elementen, - (K, ) ist eine abelsche Gruppe mit dem neutralen Element 0, - (K\{0}, ) ist eine abelsche Gruppe mit dem neutralen Element, - es gelte das Distributivgesetz: a ( b c) = ( a b) ( a c) a, b, c K. Beispiele für Körper sind, und mit der gewöhnlichen Addition und Multiplikation. und sind keine Körper, da kein inverses Element bezüglich der Multiplikation eistiert. Galois-Felder Ist nun die Anzahl der Elemente in einem Körper beschränkt, handelt es sich um einen endlichen Körper. Dabei wird die Anzahl der Elemente als Ordnung des Körpers bezeichnet. Für jede Primzahl p und jede natürliche Zahl m gibt es einen Körper der Ordnung Körper nennt man auch Galois Field und schreibt dafür GF(. Diesen ). Ihren Namen haben die Galois-Felder von dem französischen Mathematiker Évariste Galois, der Anfang des 9. Jahrhunderts lebte und sich intensiv mit endlichen Körpern beschäftigte. p entspricht dabei der Charakteristik des Körpers und m gibt an, wie viele Tupel ein Element dieses Körpers besitzt. Ist die Charakteristik vom Galois-Feld Null, erhält man wieder die Körper m p m p, und. In Galois-Feldern eistieren die Addition mit dem neutralen Element 0, die Subtraktion, die Multiplikation mit dem neutralen Element und die Division. Weiterhin sind die Rechnungen kommutativ, assoziativ und distributiv. Da p eine Primzahl ist, besitzt jedes Element ungleich Null genau ein multiplikatives Inverses. Die Berechnungen in Galois-Feldern werden modulo

15 5 p() durchgeführt. Unter p() versteht man ein irreduzibles Polynom vom Grad m, welches nicht in ein Produkt zweier anderer Polynome zerlegt werden kann. Der Grad entspricht dabei der höchsten Potenz des Polynoms. Zum Beispiel ist Grad 4, da es nicht zerlegbar ist, aber ( + )( + ) + + ein irreduzibles Polynom vom ist keins, denn es kann durch dargestellt werden. Für die in dieser Arbeit entworfene ALU wurde das irre m duzible Polynom + + gewählt. Für GF( p ) gibt es zwei, für die Kryptographie interessante, Spezialfälle. Einmal ist m =, wodurch GF(p) entsteht. Der endliche Körper GF(p) besteht aus den Zahlen 0 bis (p-), hier kann die schon bekannte Modulo Rechnung ange- m wandt werden. Im anderen Fall ist die Charakteristik p =, dabei erhält man GF( ), in welchem die Berechnung etwas anders erfolgt, als bei der Modulo Rechnung. Die Elemente in m GF( ) werden nicht als natürliche Zahl dargestellt, sondern durch ein Polynom mit den Koeffizienten 0 und realisiert. Dieses Polynom kann auch durch eine Bitfolge dargestellt wer- den. Dazu als Beispiel die Elemente von GF( ) als Bitfolge und in der Koeffizientenschreibweise: Der Körper GF( m ) hat einige Besonderheiten, wodurch er sich sehr für eine Hardwarerealisierung eignet. Dies ist zum einen bei der Addition zweier gleicher Komponenten a, wodurch ein Faktor entsteht, der Fall. Da es nur die Elemente 0 und gibt, wird die dann zu 0 (mod ) reduziert. Dazu ein Beispiel für die Addition in GF(): a + a = a = 0a = 0 a GF( ) m und für die Addition in GF( ): ( a,..., a0 ) + ( am,..., a0 ) = (am,...,a0 ) = (0am,...,0a0 ) m = a GF( m ) 0 Hiermit sind positive und negative Zahlen identisch, wodurch - = gilt. Damit ist auch eine Unterscheidung zwischen Addition und Subtraktion nicht mehr nötig.

16 6 m Zum anderen ist die Addition in GF( ) durch komponentenweise Eklusiv-Oder-Verknüpfung realisierbar. Dabei fallen die zeitaufwendigen Additionsüberläufe der einzelnen Stellen weg, wodurch die Addition sehr schnell implementierbar ist. 4 Hierzu ein paar Beispiele für GF( ): 00 + = 00 ( + ) + ( ) = = = 000 ( + ) + ( + + ) = + + = = 00 ( ) + () = + + m Die Multiplikation in GF( ) wird als Polynommultiplikation durchgeführt, wobei das Ergebnis modulo dem irreduziblem Polynom vom Grad m gerechnet werden muß. Die Reduktion mit dem irreduziblem Polynom funktioniert dabei wie folgt. Solange der Grad des Ergebnisses größer ist als der Grad des irreduziblem Polynoms, muss das Ergebnis reduziert werden. Dazu wird das irreduzible Polynom mit hoch der Differenz der Grade multipliziert. Damit haben beide Polynome den gleichen Grad. Dann werden sie addiert, wodurch der 4 höchste Koeffizient des Ergebnisses 0 wird. Sehen wir uns dazu ein Beispiel für GF( ) mit als irreduzibles Polynom an: ( + ) ( + + ) = = Der Grad des Ergebnisses ist 6, der des irreduziblen Polynoms beträgt 4, woraus sich die Differenz ergibt. Das irreduzible Polynom muss also mit Grade gleich groß werden, um dann das Ergebnis zu reduzieren. multipliziert werden, damit beide 4 6 ( ) ( + + ) = + + Jetzt werden beide Polynom addiert: ( + + ) + ( ) = = Der Grad des Ergebnisses ist nun kleiner als der Grad des irreduziblen Polynoms. Damit ist die Multiplikation beendet, das Ergebnis ist. Als Bitfolge sieht es wie folgt aus:

17 = 000 m Eine weitere Besonderheit in GF( ) ist die Quadrierung. Es gilt ( a + b + b) = a + ab + b = a + 0ab + b = a. Es wird also jeder Koeffizient einzeln quadriert, wodurch im Ergebnis nur Koeffizienten mit geradzahligen Potenzen entstehen können. Die Koeffizienten mit ungeradzahligen Potenzen sind hier immer 0. Diese Eigenschaft lässt sich gut an dem nächsten Beispiel erkennen. (0) 6 = 0000 ( + + ) = ( ) + ( ) + () = Anschließend muss, auch wie bei der Multiplikation, das Ergebnis modulo dem irreduziblem 4 Polynom gerechnet werden. Angenommen auch hier sei das irreduzible Polynom + +, dann erhält man als Ergebnis: ( 0) = Bei diesem Beispiel wird, wie nachgerechnet werden kann, das Ergebnis zweimal reduziert, damit ist der Grad des Ergebnisses kleiner dem Grad das irreduziblen Polynoms...4 Elliptische Kurven Bei einer Elliptischen Kurve handelt es sich um eine Menge von Punkten in einer Ebene, deren Koordinaten durch eine bestimmte Gleichung erfüllt werden. E + : y + ay + a y = + a + a4 a6 Diese Gleichung wird auch als allgemeine Weierstraß-Normalform bezeichnet. Durch die Anwendung der Elliptischen Kurve auf den endlichen Körpers GF( Charakteristik p und kann die Gleichung zu E + : y = + a4 a6 m p ) mit der

18 8 vereinfacht werden. Wenn die Charakteristik hingegen p = ist, wird die Weierstraß-Normalform zu E + + oder E : y + a y = + a + a. : y y = + a a6 4 6 Zu dieser Menge von Punkten wird noch der Punkt 0, der im Unendlichen liegt, dazugenommen. Dieser hat aber nichts mit dem Koordinatenursprung zu tun. Damit Elliptische Kurven für Kryptographische Zwecke eingesetzt werden können, muss sichergestellt sein, dass es sich um eine nichtsinguläre Kurve handelt. Darunter versteht man eine Kurve, welche keine Knickpunkte, keine Schnittpunkte mit sich selbst und keine isolierten Punkte aufweist, also eine Kurve, die an jedem Punkt eine eindeutig bestimmte Tangente besitzt. Diese Eigenschaft besteht, wenn die Diskriminante 0 ist. Die Diskriminante wird für die beiden Fälle der Anwendung auf Galois-Felder auf unterschiedliche Weise berechnet. Für die Charakteristik p und errechnet sich die Diskriminante durch = a 4 + 7a 6. Bei einer Charakteristik von ergibt sich bei der Kurve E die Diskriminante aus = a 4 = a 6 und für die Kurve E aus. Wie wir bereits wissen, sind die reellen Zahlen ein Beispiel für einen endlichen Körper mit der Charakteristik von 0. Dadurch ist die Möglichkeit gegeben eine Elliptische Kurve als kontinuierliche Kurve darzustellen. In Abbildung. ist die Elliptische Kurve y = über den reellen Zahlen dargestellt. Abbildung. - Elliptische Kurve y = 4 + 4

19 9 Elliptische Kurven besitzen folgende Eigenschaft. Wenn eine Gerade eine Elliptische Kurve schneidet entstehen immer genau Schnittpunkte. Dabei muss man zwischen verschiedenen Fällen unterscheiden : - eine Gerade die parallel zur y-achse liegt, hat einen Schnittpunkt im Punkt 0, - wenn eine Gerade die Kurve berührt, wird dieser Punkt als doppelter Schnittpunkt gezählt, - bei Geraden die anders verlaufen, ist es offensichtlich, dass Schnittpunkte eistieren. Es ist möglich, mit der Punktmenge der Kurve E mathematische Operationen durchzuführen. Betrachten wir hier die Addition von zwei Punkten P und R. Wie wir bereits wissen, schneidet die Gerade, die durch die zwei Punkte P und R läuft, die Kurve E ein drittes Mal. Der dritte Schnittpunkt -Q ist das inverse Ergebnis der Addition P + R. Um nun den Punkt Q zu erhalten, muss der Punkt -Q an der -Achse gespiegelt werden. Abbildung. - Punktaddition Die Punkte P =, y ) und R =, ) y sind Elemente der Kurve K. Die Gerade L, die durch ( ( die beiden Punkte verläuft, kann durch die Gleichung L : y = λ +ν dargestellt werden. Wenn die beiden Punkte P und R identisch sind, wird L als Tangente im Punkt P an E gelegt. Es müssen jetzt Fälle für die Berechnung der Steigung λ berücksichtigt werden:

20 0. P R und, daraus folgt, dass λ die Steigung der Sekante durch die beiden Punkte ist. Es gilt also λ = y y. P = R und y 0, woraus folgt, dass λ die Steigung der Tangente ist, welche an dem Punkt P anliegt. Den Anstieg und damit auch die Steigung der Tangente erhält man durch die erste Ableitung von der Elliptischen Kurve K im Punkt P. λ = y + a4 Hieraus ist der Unterschied zwischen Punktaddition und Punktverdopplung ersichtlich. Für die beiden Fälle berechnet sich die Steigung der Geraden unterschiedlich. Die Gleichung für eine Elliptische Kurve K kann auch als Polynom geschrieben werden F (, y) = + a4 + a6 y. Wird in dieses Polynom für y jetzt die Geradengleichung L eingesetzt, bekommt man ein neues Polynom: F (, λ + ν ) = λ + ( a λν ) + ( a ν ). 4 6 Wie in Abbildung. ersichtlich ist, liegen die Punkte P, R und -Q auf der Elliptischen Kurve K und auf der Geraden L, damit sind, und die Nullstellen des Polynoms F (, λ + ν ). Dieses Polynom kann in seine Linearfaktoren zerlegt werden, womit man durch Koeffizientenvergleich der Glieder die Koordinaten des Punktes Q =, y ) ( y = λ ( y = λ ) erhält. Hiermit ist die Addition zweier Punkte auf einer Elliptischen Kurve abgeschlossen. Nun können Elliptische Kurven auch auf endlichen Körpern dargestellt werden. Hier ist die Anzahl der Elemente beschränkt, wodurch nun keine kontinuierliche Kurve mehr gezeichnet

21 werden kann. Im Koordinatensystem erscheinen jetzt nur einzelne Punkte, deren Anzahl durch den endlichen Körper eindeutig begrenzt ist. Ein Beispiel dafür soll die Kurve 4, die ja schon im Bereich der reellen Zahlen dargestellt wurde, in GF(5) sein. 4 + = y 0 4 Nullpunkt im Unendlichen Abbildung. - Elliptische Kurve in GF(5) = y Auch für die Addition auf einer Elliptischen Kurve über einem endlichen Körper GF(p) gilt das zuvor erklärte Prinzip, hinzu kommt jedoch die Reduktion des Ergebnisses modulo p. Bei einer Addition von zwei Punkten einer Elliptischen Kurve über dem Galois-Feld GF( ) sind die Formeln für die Koordinaten des Punktes Q etwas kompleer. m p Ich möchte die Berechungsformeln für die Körper der Charakteristik hier trotzdem angeben, da später auf der entworfenen ALU mit diesen endlichen Körpern gerechnet werden soll. Für die Kurve E ergeben sich und durch: y R P R P a a y y y y = =,, 6 ( ) R P R P y y y y y = =,, Für die Koordinaten von Q auf der Kurve E sei hier auf die Literatur verwiesen. ), ( y = In der Kryptographie wird die eben beschriebene Addition eher für eine Addition eines Punktes zu sich selbst, als für eine Addition zweier unterschiedlicher Punkte benutzt. Dazu ein Beispiel:

22 P + P P + P = k P Darunter versteht man auch die Skalarmultiplikation bei Elliptischen Kurven. Da es sich hier nicht um eine gewöhnliche Addition handelt, ist die herkömmliche Multiplikation des Punktes P mit k nicht möglich. Dadurch kann man die Multiplikation auch nicht mit der Skalarmultiplikation eines Vektors mit einem Skalar vergleichen. Die beschriebene Addition muss also schrittweise durchgeführt werden. Je größer k wird, um so größer wird auch der Rechenaufwand. Es gibt aber eine Vereinfachung, um den Rechenaufwand in Grenzen zu halten. Als Beispiel soll hierfür k = 7 sein. Um 7 P zu berechnen, wird nicht P 6-mal einzeln addiert, sondern wie folgt vorgegangen: P + P = P P + P = 4P 4P + 4P = 8P 8P + 8P = 6P 6P + P = 7P Punktverdopplung Punktverdopplung Punktverdopplung Punktverdopplung Punktaddition Um eine Skalarmultiplikation eines Punktes P mit k durchzuführen, greift man auf die Punktaddition und die Punktverdopplung auf Elliptischen Kurven zurück. Welche wiederum auf Operation im endlichen Körper beruhen. Diese Zusammenhänge sollen in Abbildung.4 noch einmal verdeutlicht werden. Skalarmultiplikation k * P Skalarmultiplikation Punktaddition P + R = Q Punktverdopplung P = Q Berechnungen auf der elliptischen Kurve Addition + y = z Multiplikation * y = z Quadrierung = z multiplikatives Inverses - = z Operationen im Galois-Feld Abbildung.4 - Berechnungshierarchie der Skalarmultiplikation

23 . Anwendung der Elliptischen Kurven in der Kryptographie Wie werden jetzt die Elliptischen Kurven für die Kryptographie angewandt? Aufschluss soll dazu ein Beispiel für einen Diffie-Hellman-Schlüsselaustausch geben: Dazu sei angenommen, dass sich Alice und Bob eine Nachricht schicken wollen. Als Erstes einigen sich die beiden auf eine Elliptische Kurve K und auf einen festen Punkt F, welcher auf der Kurve K liegt. Diese Informationen sind nicht geheim und sind für jeden zugänglich. Danach wählt Alice eine geheime ganze Zahl a, als ihren privaten Schlüssel und berechnet damit den Punkt PA = a * F. Anschließend veröffentlicht sie den Punkt PA als ihren öffentlichen Schlüssel. Bob verhält sich genauso wie Alice, er sucht sich eine geheime ganze Zahl b, als seinen privaten Schlüssel aus und berechnet den Punkt PB = b * F. Welchen er ebenfalls als seinen öffentlichen Schlüssel publiziert. Damit Alice nun eine Nachricht an Bob senden kann, multipliziert sie ihre geheime Zahl a mit dem öffentlichen Schlüssel PB von Bob a * PB. Als Ergebnis bekommt sie einen geheimen Schlüssel, der für alltägliche symmetrische Kryptographieverfahren, wie z.b. AES, DES, benutzt werden kann. Bob kann denselben geheimen Schlüssel mit b * PA berechnen, denn es gilt: b * PA = b * (a * F) = b * (F * a) = (b * F) * a = a * (b * F) = a * PB. Nun stellt sich die Frage, warum es schwierig ist, die geheimen Zahlen a und b aus den öffentlichen Schlüsseln und dem Punkt F zu berechnen. Die Skalarmultiplikation a * F ist, wie bereits erwähnt, keine übliche Multiplikation. Sie könnte genauso gut den Namen Potenzfunktion tragen. Um jetzt die geheime Zahl a zu berechnen, benötigt man die Umkehrfunktion, welche bekanntlich als Logarithmusfunktion bezeichnet wird. Haben wir eine Elliptische Kurve E über einen endlichen Körper und sind P und Q Punkte auf dieser Kurve mit Q = a * P, dann wird a als der diskrete Logarithmus von Q zur Basis P bezeichnet. Wir haben es hier mit einem Diskreten Logarithmus Problem (DLP) auf Basis Elliptischer Kurven zu tun, wenn wir die Zahl a berechnen wollen. Es eistieren verschiedene Verfahren, um den diesen diskreten Logarithmus zu lösen, wie zum Beispiel der Babystep-Giantstep-Algorithmus oder das Pohlig-Hellman-Verfahren. Für weitere Ausführungen möchte ich an dieser Stelle auf die Literatur verweisen. Der herkömmliche Diffie-Hellman-Schlüsselaustausch beruht auf dem normalen Diskreten Logarithmus Problem. Bei einer Bitbreite von 08 Bit wurde mit 9500 Computern in einem Zeitraum von 4 Monaten bereits das DLP gelöst. Das Diskrete Logarithmus Problem auf Basis Elliptischer Kurven ist schwieriger zu berechnen als das normale

24 4 Diskrete Logarithmus Problem. Aus diesem Grund wird für die gleiche Sicherheit bei der Elliptic Curve Cryptography (ECC) ein deutlich kleinerer Schlüssel benötigt. Was derzeit mit 04 Bit beim RSA-Verfahren als sicher gilt, kann beim ECC-Verfahren mit 9 Bit erreicht werden. Soll eine Information bis ins Jahr 050 sicher sein, so muß für das RSA-Verfahren eine Schlüssellänge von 4047 und beim ECC-Verfahren von 7 benutzt werden. Eine naive Möglichkeit, a aus den Punkten F und PA zu bestimmen, besteht darin, den Punkt F solange zu sich selbst zu addieren, bis man als Ergebnis den Punkt PA erhält. a ergibt sich dann aus der Anzahl der Additionen, die für die Berechnung nötig waren. Natürlich dauert diese Berechnung sehr viel länger als die Bestimmung von PA = a * F, wenn mit großen Zahlen gerechnet wird. Das vorgestellte Verfahren hat einen großen Vorteil gegenüber dem RSA-Verfahren. Beim RSA-Verfahren ist die Berechnung der Schlüssel sehr aufwendig und wird deshalb nicht bei jeder Kommunikation neu berechnet. Wird beim RSA einmal ein Schlüssel geknackt, so lassen sich damit gleich mehrere Nachrichten entschlüsseln. Bei dem ECC-Verfahren wird bei jeder Kommunikation der Schlüssel neu berechnet, indem eine neue Kurve K, ein neuer Punkt F oder eine neue geheime Zahl gewählt wird. Natürlich kann auch alles neu gewählt werden. Das hat den Vorteil, falls es doch mal gelingen sollte, einen Schlüssel zu berechnen, dass damit nur eine einzelne Nachricht entschlüsselt werden kann. Dadurch steigt die Sicherheit beim ECC-Verfahren deutlich an.. Zusammenfassung Im. Kapitel wurden die mathematischen Grundlagen behandelt, um die eigentliche Aufgabe dieser Arbeit verstehen zu können. Begonnen wurde mit den ganzen Zahlen und der modularen Arithmetik. Dann wurden über die algebraischen Strukturen die Galois-Felder eingeführt. Es wurde gezeigt, dass die Arithmetik in GF( ) einige Vorteile mit sich bringt. Negative und positive Zahlen sind identisch, wodurch die Subtraktion eingespart werden kann. Die Addition kann ohne Übertrag erfolgen, wodurch geringe Laufzeiten möglich sind. Anschließend wurden die Elliptischen Kurven eingeführt und erklärt, wie die Skalarmultiplikation auf Punktoperationen und diese auf Operationen in GF( ) abgebildet werden können. Die m Quadrierung in GF( ) ist dabei eine Sonderform der Multiplikation. Da sie aber schneller durchführbar ist, wurde sie ebenfalls mit implementiert. Abschließend wurde ein Anwendungsbeispiel für die Elliptic Curve Cryptography vorgestellt. m m

25 5 ENTWURF Nachdem im vorherigen Kapitel die benötigten Grundlagen behandelt wurden, beschäftigt sich dieses Kapitel mit der Umsetzung der mathematischen Eigenheiten der Galois-Felder in eine synthesefähige VHDL-Beschreibung. Ziel dieser Arbeit bestand darin, eine Arithmetisch Logische Einheit (ALU - Arithmetic Logic Unit) zu entwerfen, die es ermöglicht, vier Operationen in Galois-Feldern durchzuführen. Die vier Operationen sind die Addition, die Multiplikation, die Quadrierung und die Invertierung. Wie gezeigt wurde sind sie für die Punktoperationen auf Elliptischen Kurven notwendig, um darauf eine Skalarmultiplikation durchführen zu können.. Grundlegender Entwurfsablauf Hier soll kurz der grundlegende VHDL-gestützte Entwurfsablauf für FPGA's (Field Programmable Gate Array) dargestellt werden. VHDL ist eine Hardwarebeschreibungssprache für die abstrakte Modellierung digitaler Schaltungen. Die Abkürzung steht dabei für Very High Speed Integrated Circuit Hardware Description Language. Zur funktionalen Modellierung synchroner, digitaler Schaltungen sind VHDL-Beschreibungen auf Register-Transfer- Ebene (RTL - Register-Transfer-Level) bestens geeignet. Bei der RTL handelt es sich um eine Beschreibung der Schaltungsstruktur, in welcher die zeitlichen Abläufe der Operationen schon vorgegeben sind. Der erste Schritt beim Entwurf besteht darin, aus der Aufgabenstellung eine Schaltungsstruktur zu entwerfen und diese in ein VHDL-Modell auf Register- Transfer-Ebene zu überführen. Danach folgt schon die erste Kontrolle der Schaltung, die funktionelle Simulation. Es lässt sich hiermit nur die logische Funktionalität der Schaltung überprüfen, es wird also das reale Zeitverhalten der Schaltung noch nicht mit berücksichtigt. Wenn die Schaltung die Simulation besteht, wird die VHDL-RTL-Beschreibung anschließend synthetisiert. Unter Synthese versteht man den Übergang von der VHDL-Verhaltensbeschreibung zu einer dieses Verhalten realisierenden technologieabhängigen Struktur. Als Ergebnis der Synthese erhält man die Netzliste, die dann durch herstellerspezifische Software für den FPGA folgende Arbeitsschritte durchläuft: Map, Place und Route. Wie FPGA's intern aufgebaut sind und was man unter den einzelnen Schritten versteht wird später noch erläutert. Man erhält jetzt ein Bitfile, welches downloadfähig ist. Außerdem stehen jetzt alle Verzögerungszeiten im FPGA, welche durch die Logik und die Leitungen

26 6 zustande kommen, der Schaltung fest. Aus diesem Grunde lässt sich jetzt mit dem reellen Zeitverhalten der Schaltung eine Timingsimulation durchführen. Ist diese Simulation erfolgreich, ist der Entwurf der Schaltung fertig. Sie kann jetzt auf ein FPGA runtergeladen werden. Diese einzelnen Schritte sind in Abbildung. noch einmal grafisch dargestellt. Aufgabenstellung, Spezifikation Verhaltensbeschreibung auf Register-Transfer-Ebene z.b. Blockschaltbild VHDL Beschreibung Funktionelle Simulation nicht okay okay Synthese Design Flow Timing Simulation nicht okay okay Download auf ein FPGA Abbildung. - Entwurfsablauf

27 7. Umsetzung In diesem Abschnitt möchte ich auf die einzelnen Operationen der ALU eingehen. Anfangs werden dazu, für jede Operation, Blockschaltbilder in Register-Transfer-Ebene entwickelt und bewertet. Davon ausgehend wurden einzelne VHDL-Beschreibungen angefertigt. Dabei wurde auf eine serielle Implementierung, um die Schaltung möglichst klein zu halten, großen Wert gelegt... Struktur der ALU Die ALU gliedert sich in drei große Bereiche. Zum ersten Bereich zählen die vier einzelnen Module, welche die Berechnungen in den Galois-Feldern ermöglichen. Dazu gehört die Addition, die Multiplikation, die Quadrierung und die Invertierung. Der zweite Bereich ist für die Speicherung der Daten verantwortlich. Er enthält eine Registerbank mit 6 Speicherplätzen, in der die Eingangsdaten und die berechneten Werte abgelegt werden können. Der letzte Bereich ist die Steuerlogik für die ALU. Sie besteht aus einem endlichen Zustandsautomaten (FSM - Finite State Machine), wobei zwischen einem Moore- und Mealyautomaten unterschieden werden kann. Diese Automaten bestehen aus einem Zustandsspeicher, einer Übergangs- und Ausgangslogik. Die Übergangslogik berechnet dabei aus dem aktuellen Zustand und den Eingangswerten den Folgezustand. Der Unterschied zwischen Moore- und Mealyautomat liegt jetzt in der Ausgangslogik. Beim Mooreautomaten werden die Ausgangswerte ausschließlich aus dem aktuellen Zustand berechnet, wobei sich beim Mealyautomaten die Ausgangswerte aus dem aktuellen Zustand und aus den Eingangswerten ergeben. Der Nachteil des Mealyautomaten ist zweifellos der, dass instabile Werte am Eingang nicht abgetaktet werden, sondern sich direkt auf die Ausgangssignale auswirken. Aus diesem Grund wird in der Regel der Moore- dem Mealyautomat vorgezogen. In der ALU wurde die Steuerung auch einem Mooreautomaten überlassen. Eingänge Übergangslogik Zustandsspeicher Folgezustände Zustände Ausgangslogik Ausgänge Abbildung. - Mooreautomat

28 8 Angesteuert wird die ALU durch ein 5 Bit Steuerwort, welches sich aus einem Bit breiten Operationscode und drei 4 Bit breiten Adressbussen zusammensetzt. Mit den drei Adressbussen werden die Speicherplätze aus der Registerbank ausgewählt. Dabei sind zwei Adressbusse für die Auswahl der Operanden zuständig, von diesen Adressen kann also nur gelesen werden. Der dritte Adressbus wählt das entsprechende Zielregister in der Registerbank aus, damit kann auf die Zieladresse also nur geschrieben werden. Da die Bitbreiten der Datenbusse für die Ein- und Ausgangswerte der ALU mit 67 Bit ziemlich groß sind, wurde jeweils nur ein Datenbus für das Ein- und Auslesen der Daten verwirklicht. Dies hat zur Folge, dass Operanden nicht parallel in die ALU geladen werden können. Da die Berechnung des multiplikativen Inversen von Null nicht möglich ist, war es notwendig, einen Zerotest zu implementieren. Dabei wurde jedes Ergebnis überprüft, ob es nur Nullen enthält oder nicht. Das Resultat des Tests wurde mit in das Flagregister aufgenommen, was außerdem ein weiteres Bit enthält, welches anzeigt, ob die ALU gerade beschäftigt ist oder ob sie sich im Ruhezustand befindet. Andere Flags, wie z.b. das Carry- oder Overflowflag, wurden nicht benötigt, da bei Berechnungen im endlichen Körper GF( ) weder Überträge, noch Überläufe auftreten können. m Auch ein Vorzeichenflag ist nicht notwendig, da eine Unterscheidung zwischen positiven und negativen Zahlen in GF( m ) nicht eistiert. Des Weiteren erzeugt die Steuerlogik für jede Berechnung ein Startsignal und wartet bei der Berechnung auf das Fertigsignal des jeweiligen Moduls. Während die ALU sich im Zustand warten befindet kann keine andere Operation durchgeführt werden. Es ist also nur eine serielle Abfolge der einzelnen Operationen realisiert worden. In Abbildung. ist die Architektur der ALU grafisch dargestellt. Damit die Zeichnung nicht zu unübersichtlich wird, wurden die Takt- und Resetsignale nicht mit dargestellt. Dateneingang Registerbank 6 67 Bit Operand B 67 Operand A 67 Datenausgang Operationscode Start Addition Multiplikation Quadrierung multiplikatives Inverses Operandenadresse A Fertig Operandenadresse B Steuerlogik Zieladresse 67 Bit Ergebnisregister Flagregister Ergebnis 67 Zerotest Abbildung. - Architektur der ALU

29 9.. Die Registerbank Die Registerbank stellt das Gedächtnis der ALU dar. In ihr sollen 6 mal 67 Bit große Zahlen abgespeichert werden können. Bei einer Implementierung auf einem FPGA eistieren spezielle Komponenten, für die keine synthesefähigen VHDL-Beschreibungen vorliegt. Hierzu zählen unter anderem auch RAM-(Random Access Memory) und ROM-(Read Only Memory)Zellen. Diese Komponenten werden von den FPGA-Herstellern als Bibliothekselemente geliefert, damit die VHDL-Synthesewerkzeuge optimale Syntheseergebnisse in Bezug auf Fläche und Geschwindigkeit erzielen können. In VHDL-Strukturmodellen können diese Komponenten als Bibliothekselemente deklariert und instanziiert werden. Für diese Registerbank wurde aus der Xilin Bibliothek die Komponente RAM6XD gewählt, welche ein 6 Bit dual port RAM mit synchroner Schreibmöglichkeit implementiert. Dieses Element besitzt zwei separate Adressbusse, einen zum Lesen (DPRA... DPRA0) und einen zum Schreiben und Lesen (A... A0), womit die 6 Speicherplätze angesprochen werden können. Die Leseadresse wählt dabei den Ort, dessen Inhalt auf den Ausgang (DPO) gegeben wird. Die Schreib-Leseadresse bestimmt das Ziel auf der die Daten, des Einganges (D), geschrieben werden können, wenn das Write-Enable-Signal (WE) = ist und eine positive Taktflanke des Taktsignals (WCLK) vorliegt. Außerdem wird der Inhalt dieser Adresse immer auf den Ausgang (SPO) gelegt. Damit kann man also gleichzeitig Daten von unterschiedlichen Adressen lesen und schreiben, was mit der Bezeichnung dual port ausgedrückt wird. D WCLK WE A0 A A A DPRA0 DPRA DPRA DPRA RAM6XD SPO DPO Abbildung.4 - Schnittstellen der Komponente RAM6XD Um die gewünschte Datenbreite von 67 Bit zu erreichen, wurden demnach 67 einzelne RAM6XD Komponenten parallel eingebunden und entsprechend mit den Datenleitungen verknüpft. Der Datenausgang SPO geht dabei auf den Operanden A und der Ausgang DPO

30 0 auf den Operanden B. Die Adressleitungen und das Write-Enable-Signal wurden mit der Steuerlogik verbunden. Damit ist eine 6 67 Bit große RAM-Zelle realisiert worden... Die Addition Wie bereits schon in Kapitel gezeigt wurde, entsteht bei der Addition im endlichen Körper m GF( ) kein Übertrag. Dadurch kann die Addition durch eine komponentenweise Eklusiv-Oder-Verknüpfung realisiert werden. Sie ist im Vergleich zur herkömmlichen Addition deutlich schneller und kleiner zu implementieren. Sie enthält nur 67 parallel liegende XOR-Verknüpfungen. Und da kein Übertrag durchgereicht werden muss, kann sie in nur einem Takt durchgeführt werden. Der langen Rede kurzer Sinn, hier kann wohl kaum etwas verbessert werden. Es gibt dennoch einen Nachteil und zwar wird eine Änderung am Eingang nahezu sofort an den Ausgang durchgegeben. Während der ganzen Addition müssen die beiden Operanden A und B auf den Datenbus geschaltet werden, dies geschieht durch die Leseund die Schreib-Lese-Adresse, die an die Registerbank angelegt werden. Wenn die Berechnung beendet ist, muss das Ergebnis in die Registerbank geschrieben werden. Da jetzt die Auswahl des Zielregisters auch durch die Schreib-Lese-Adresse realisiert wird, gibt es zwei Varianten:. Der Operand aus der Schreib-Lese-Adresse wird nach der Addition überschrieben. D.h. das Ergebnis kann nicht auf eine beliebige Adresse, sondern nur auf die Adresse von Operand A geschrieben werden.. Die Schreib-Lese-Adresse kann ein anderes Register als Ziel auswählen, dadurch liegt beim Auswählen des Registers der Inhalt dieses Registers am Operand A an. Mit diesem Wert wird jetzt eine neue Addition durchgeführt. Da die Addition sehr schnell abläuft, besteht die Möglichkeit, dass die Register beim Speichern des gewünschten Additionsergebnisses durch die neu berechneten Werte gestört oder die Additionswerte sogar wieder überschrieben werden. Ich halte es für vorteilhafter, wenn die Möglichkeit der Wahl des Zielregisters bestehen bleibt, da sonst ein Wert der Addition immer überschrieben wird. Wie in den mathematischen Grundlagen bei der Berechnung von den Koordinaten des Punktes Q =, y ) für Körper der ( Charakteristik gezeigt wurde, werden die Koordinaten oft mehrmals in einer Formel benötigt. Damit nicht ständig die Koordinaten von außen neu in die Registerbank nachgeladen

31 werden müssen, wurde das Ergebnisregister in die ALU eingefügt. Dadurch ist das Problem der. Variante behoben worden. Das Ergebnis wird erst in das Ergebnisregister geladen, wonach mit der Schreib-Lese-Adresse ein beliebiges Zielregister ausgewählt werden kann. Damit benötigt das Ergebnis bis es wieder in der Registerbank steht einen Takt mehr, kann dafür aber in jedes beliebige Zielregister geschrieben werden...4 Die Multiplikation Im Kapitel wurde schon am Beispiel gezeigt, wie auf dem Papier eine Multiplikation im m endlichen Körper GF( ) durchgeführt wird. Dabei wurden zuerst die beiden m Bit breiten Polynome miteinander multipliziert, wodurch sich ein m- Bit breites Ergebnis ergab, denn bei der Addition treten, wie wir bereits wissen, keine Überträge auf. ( )( + + ) = = [4 Bit] * [4 Bit] = [7 Bit] Da die endlichen Körper GF( m ) begrenzt sind, wird anschließend solange eine Reduktion durchgeführt, bis der Grad vom Ergebnis kleiner als der Grad des irreduziblen Polynoms ist. Es wäre möglich, diese beiden Schritte auch in Hardware hintereinander berechnen zu lassen. Dabei tritt aber ein Zwischenergebnis auf, welches doppelt so groß ist, wie das reduzierte Ergebnis. Das kann vermieden werden, indem man die Multiplikation mit der Reduktion von vornherein zusammenfasst. Beginnen wir aber erst einmal nur mit der Multiplikation, wobei wir von der normalen schriftlichen Multiplikation ausgehen. Es muss dabei der Unterschied, dass hier bei der Addition modulo gerechnet werden muss, weil im endlichen Körper m GF( ) ja nur die und 0 eistieren, beachtet werden. Hierzu soll das oben schon gerechnete Beispiel noch einmal mit der Schulmethode berechnet werden: 0 0 * 0 A B = ( + )( + + ) A b A b A b 0 0 A b i A b mod = Abbildung.5 - Multiplikation zweier Polynome i

32 Es werden also die einzelnen Partialprodukte A b i i berechnet und dann modulo aufaddiert. Dabei wird A als Multiplikand und B als Multiplikator bezeichnet. Dieser Algorithmus lässt sich gut in Hardware umsetzen, wobei die Partialprodukte mit jedem Takt etappenweise aufsummiert werden. Dazu wird der Multiplikator B in ein Rechtsschieberegister geladen, es wird also immer das jeweilige LSB (Least Significant Bit) b 0 ausgegeben. Immer wenn b 0 = ist, wird der Multiplikand A zu dem Wert im Zwischenregister modulo addiert. Wenn b 0 = 0 ist, bleibt der Wert im Zwischenregister unverändert. Das Zwischenregister ist durch ein Rechtsschieberegister mit einer Breite von Bit realisiert. Darin wird das aktuelle aufsummierte Partialprodukt gespeichert. In jedem Takt wird nun um eine Stelle geschoben, der Multiplikand evtl. aufaddiert und das Ergebnis ins Zwischenregister geschrieben. Dieser Algorithmus wird auch Shift und Add -Methode genannt. Die Addition modulo ist auch hier durch bitweise XOR-Verknüpfung realisiert. Damit ist die einzelne Multiplikation beendet. Bei dieser Möglichkeit müsste nun noch die Reduzierung des Ergebnisses folgen. In dieser Arbeit wurde die eben vorgestellte Multiplikation modifiziert und mit der Reduktion zusammengefasst. Das bringt den Vorteil mit, dass das Zwischenergebnis nicht größer als 68 Bit werden kann und das für die Reduktion keine zusätzlichen Taktzyklen benötigt werden. Dazu wird die eben besprochene Multiplikation mit Linksschieberegistern realisiert. Dadurch wird vom Multiplikator B immer das MSB (Most Significant Bit) b zur Entscheidung, ob der Multiplikand A zum Wert des Zwischenregisters dazuaddiert wird oder nicht, ausgegeben. Da das Zwischenregister jetzt ein Linksschieberegister ist, wird das Ergebnis der Addition immer gleich um eine Stelle nach links, also zum MSB hin, geschoben. Die Koeffizienten des Polynoms dürfen nicht größer werden als. Da das MSB genau diesem Koeffizient entspricht, muss immer wenn das MSB = ist, eine Reduktion modulo dem irreduziblen Polynom durchgeführt werden. Es ist jetzt auch nicht mehr nötig, das irreduzible Polynom mit einer Potenz von zu multiplizieren, wie es noch in den mathematischen Grundlagen erklärt wurde. Denn es kann bei einer Reduktion kein Koeffizient größer als werden. Die eigentliche Reduktion wird, da sie auch eine Addition ist, durch eine XOR-Verknüpfung des irreduziblen Polynoms mit dem im Zwischenregister gespeicherten Partialprodukt realisiert. Durch die Steuerlogik werden die Register am Anfang resetet und vorgeladen. Da die Multiplikation in m = 67 Takten durchgeführt wird, enthält die Steuerlogik zusätzlich einen Zähler, um die Anzahl der Durchläufe zu erkennen. Des Weiteren gibt die Steuerlogik ein Fertigsignal aus, wenn die Multiplikation beendet ist. Zur besseren Übersicht ist der Aufbau des Multiplizierers noch einmal grafisch dargestellt worden

Technikseminar SS2012

Technikseminar SS2012 Technikseminar SS2012 ECC - Elliptic Curve Cryptography Kryptosysteme basierend auf elliptischen Kurven 11.06.2012 Gliederung Was ist ECC? ECC und andere Verfahren Diffie-Hellman-Schlüsselaustausch Funktionsweise

Mehr

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015

Vorkurs für. Studierende in Mathematik und Physik. Einführung in Kryptographie Kurzskript 2015 Vorkurs für Studierende in Mathematik und Physik Einführung in Kryptographie Kurzskript 2015 Felix Fontein Institut für Mathematik Universität Zürich Winterthurerstrasse 190 8057 Zürich 11. September 2015

Mehr

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Krytographie Techniken Symmetrische Verschlüsselung( One-time Pad,

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in

Mehr

Asymmetrische Kryptographie u

Asymmetrische Kryptographie u Asymmetrische Kryptographie u23 2015 Simon, Florob e.v. https://koeln.ccc.de Cologne 2015-10-05 1 Zahlentheorie Modulare Arithmetik Algebraische Strukturen Referenzprobleme 2 Diffie-Hellman Diffie-Hellman-Schlüsselaustausch

Mehr

n ϕ n

n ϕ n 1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker

Mehr

Public-Key-Kryptographie

Public-Key-Kryptographie Kapitel 2 Public-Key-Kryptographie In diesem Kapitel soll eine kurze Einführung in die Kryptographie des 20. Jahrhunderts und die damit verbundene Entstehung von Public-Key Verfahren gegeben werden. Es

Mehr

Galoiskörper GF(2 n ) (Teschl/Teschl 4)

Galoiskörper GF(2 n ) (Teschl/Teschl 4) Galoiskörper GF(2 n ) (Teschl/Teschl 4) auch Galois-Felder (englisch Galois elds), benannt nach Evariste Galois (18111832). Körper (in der Mathematik) allgemein: Zahlenbereich, in dem die vier Grundrechenarten

Mehr

Public-Key-Verschlüsselung und Diskrete Logarithmen

Public-Key-Verschlüsselung und Diskrete Logarithmen Public-Key-Verschlüsselung und Diskrete Logarithmen Carsten Baum Institut für Informatik Universität Potsdam 10. Juni 2009 1 / 30 Inhaltsverzeichnis 1 Mathematische Grundlagen Gruppen, Ordnung, Primitivwurzeln

Mehr

AES und Public-Key-Kryptographie

AES und Public-Key-Kryptographie Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 22. Juni 2009 Beschreibung des Algorithmus Angriffe gegen AES Wichtige Algorithmen im 20. Jahrhundert

Mehr

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen

Mehr

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES

Wiederholung. Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Wiederholung Symmetrische Verfahren: klassische Verfahren / grundlegende Prinzipien: Substitution, Transposition, One-Time-Pad DES AES Mathematische Grundlagen: algebraische Strukturen: Halbgruppe, Monoid,

Mehr

Kongruenzen und Restklassenringe. 2. Kongruenzen und Restklassenringe

Kongruenzen und Restklassenringe. 2. Kongruenzen und Restklassenringe 2. Kongruenzen und Restklassenringe Kongruenzen Definition: Wir sagen a ist kongruent zu b modulo m schreiben a b mod m, wenn m die Differenz b-a te Beispiel: Es gilt 2 19 mod 21, 10 0 mod 2. Reflexivität:

Mehr

Verschlüsselung mit elliptischen Kurven

Verschlüsselung mit elliptischen Kurven Bernd Banzhaf / Reinhard Schmidt Verschlüsselung mit elliptischen Kurven Als eine neue Methode für eine asymmetrische Verschlüsselung bietet sich die Verschlüsselung mittels elliptischer Kurven an. Elliptische

Mehr

Das RSA Kryptosystem

Das RSA Kryptosystem Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

A2.3 Lineare Gleichungssysteme

A2.3 Lineare Gleichungssysteme A2.3 Lineare Gleichungssysteme Schnittpunkte von Graphen Bereits weiter oben wurden die Schnittpunkte von Funktionsgraphen mit den Koordinatenachsen besprochen. Wenn sich zwei Geraden schneiden, dann müssen

Mehr

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie Prof. Dr. Sebastian Iwanowski DM4 Folie 1 Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 4: Zahlentheorie Beutelspacher 5 Lang 7, Biggs 20, 22, 23 (jeweils teilweise,

Mehr

Computeralgebra in der Lehre am Beispiel Kryptografie

Computeralgebra in der Lehre am Beispiel Kryptografie Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit

Mehr

Axiomatische Beschreibung der ganzen Zahlen

Axiomatische Beschreibung der ganzen Zahlen Axiomatische Beschreibung der ganzen Zahlen Peter Feigl JKU Linz peter.feigl@students.jku.at 0055282 Claudia Hemmelmeir JKU Linz darja@gmx.at 0355147 Zusammenfassung Wir möchten in diesem Artikel die ganzen

Mehr

31 Polynomringe Motivation Definition: Polynomringe

31 Polynomringe Motivation Definition: Polynomringe 31 Polynomringe 31.1 Motivation Polynome spielen eine wichtige Rolle in vielen Berechnungen, einerseits weil oftmals funktionale Zusammenhänge durch Polynome beschrieben werden, andererseits weil Polynome

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2,..., die ganzen Zahlen Z, die rationalen Zahlen (Brüche

Mehr

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt. 1 1 Funktionen 1.1 Grundlegende Zahlenmengen Georg Cantor (1845-1918) hat den Begriff der Menge eingeführt. Man versteht darunter die Zusammenfassung einzelner Dinge, welche Elemente genannt werden, zu

Mehr

Zahlen und elementares Rechnen

Zahlen und elementares Rechnen und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3

Mehr

1 Algebraische Strukturen

1 Algebraische Strukturen Prof. Dr. Rolf Socher, FB Technik 1 1 Algebraische Strukturen In der Mathematik beschäftigt man sich oft mit Mengen, auf denen bestimmte Operationen definiert sind. Es kommt oft vor, dass diese Operationen

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

Algebraische Kurven. Holger Grzeschik

Algebraische Kurven. Holger Grzeschik Algebraische Kurven Holger Grzeschik 29.04.2004 Inhaltsübersicht 1.Einführung in die Theorie algebraischer Kurven 2.Mathematische Wiederholung Gruppen, Ringe, Körper 3.Allgemeine affine Kurven 4.Singuläre

Mehr

Kryptographie mit elliptischen Kurven

Kryptographie mit elliptischen Kurven Kryptographie mit elliptischen Kurven Gabor Wiese Universität Regensburg Kryptographie mit elliptischen Kurven p. 1 Problemstellung Kryptographie mit elliptischen Kurven p. 2 Problemstellung Caesar Kryptographie

Mehr

Eine Menge K, auf der eine Addition. + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1

Eine Menge K, auf der eine Addition. + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1 Körper Eine Menge K, auf der eine Addition + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1 Körper Eine Menge K, auf der eine Addition +

Mehr

4: Algebraische Strukturen / Gruppen

4: Algebraische Strukturen / Gruppen Stefan Lucks Diskrete Strukturen (WS 2009/10) 120 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion : G G G bezeichnen wir als Verknüpfung auf G. Das Paar (G,

Mehr

Kryptographie Reine Mathematik in den Geheimdiensten

Kryptographie Reine Mathematik in den Geheimdiensten Kryptographie Reine Mathematik in den Geheimdiensten Priska Jahnke 10. Juli 2006 Kryptographie Reine Mathematik in den Geheimdiensten Kryptographie (Kryptologie) = Lehre von den Geheimschriften Kaufleute,

Mehr

Aufstellen einer Funktionsgleichung nach vorgegebenen Eigenschaften

Aufstellen einer Funktionsgleichung nach vorgegebenen Eigenschaften Aufstellen einer Funktionsgleichung nach vorgegebenen Eigenschaften W. Kippels 10. April 2016 Inhaltsverzeichnis 1 Grundlagen 2 1.1 Prinzipielle Vorgehensweise.......................... 2 1.2 Lösungsrezepte................................

Mehr

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen. Kapitel 4 Der RSA-Algorithmus Der RSA-Algorithmus ist das heute bekannteste Verfahren aus der Familie der Public-Key-Kryptosysteme. Es wurde 1978 der Öffentlichkeit vorgestellt und gilt bis heute als der

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

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen Algebra und Diskrete Mathematik, PS3 Sommersemester 2016 Prüfungsfragen Erläutern Sie die Sätze über die Division mit Rest für ganze Zahlen und für Polynome (mit Koeffizienten in einem Körper). Wodurch

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

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

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

Charles Babbage. Vortrag für das Oberseminar Geschichte der Informatik

Charles Babbage. Vortrag für das Oberseminar Geschichte der Informatik Charles Babbage Vortrag für das Oberseminar Geschichte der Informatik Übersicht Kurzer Überblick über das Leben und Wirken von Charles Babbage Die großen Erfindungen von Charles Babbage: Difference Engine

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

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

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

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Einführung in die linearen Funktionen. Autor: Benedikt Menne Einführung in die linearen Funktionen Autor: Benedikt Menne Inhaltsverzeichnis Vorwort... 3 Allgemeine Definition... 3 3 Bestimmung der Steigung einer linearen Funktion... 4 3. Bestimmung der Steigung

Mehr

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

Mehr

Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens

Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens Das RSA Verfahren Das RSA-Verfahren beruht auf Modulo-Arithmetik mit riesigen ganzen Zahlen und der Berechnung modularer Potenzen bei der Verschlüsselung. Die genaue Mathematik wird in den folgenden Kapiteln

Mehr

Das große All-in-All CPLD/FPGA Tutorial

Das große All-in-All CPLD/FPGA Tutorial Das große All-in-All CPLD/FPGA Tutorial Mit diesem Tutorial sollen die ersten Schritte in die Welt der programmierbaren Logik vereinfacht werden. Es werden sowohl die Grundlagen der Logik, die benötigte

Mehr

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren Mathias Schmalisch Hagen Ploog Dirk Timmermann Universität Rostock Übersicht Motivation Arithmetik Implementierung

Mehr

Definition 153 Sei n eine fest gewählte ganze Zahl 0. Für jedes l Z heißt die Menge

Definition 153 Sei n eine fest gewählte ganze Zahl 0. Für jedes l Z heißt die Menge 3.6 Restklassen in Polynomringen 3.6.1 Einführung und Definitionen Der Begriff der Restklasse stammt ursprünglich aus der Teilbarkeitslehre in Z; (Z = Z, +, ist ein kommutativer Ring). Definition 153 Sei

Mehr

1 Random Access Maschine

1 Random Access Maschine 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,

Mehr

Public-Key-Algorithmen WS2015/2016

Public-Key-Algorithmen WS2015/2016 Public-Key-Algorithmen WS2015/2016 Lernkontrollfragen Michael Braun Was bedeuten die kryptographischen Schutzziele Vertraulichkeit, Integrität, Nachrichtenauthentizität, Teilnehmerauthentizität, Verbindlichkeit?

Mehr

Division mit Rest - der heimliche Hauptsatz der Algebra

Division mit Rest - der heimliche Hauptsatz der Algebra Division mit Rest - der heimliche Hauptsatz der Algebra Franz Pauer Institut für Mathematik, Universität Innsbruck, Technikerstr. 25, A-6020 Innsbruck, Österreich. Franz.Pauer@uibk.ac.at 3. Juni 2004 Einleitung

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

Endliche Körper Seminar: Diskrete Mathematik Leitung: Prof. Dr. Rainer Lang Von: Steffen Lohrke (ii5105) SS2005

Endliche Körper Seminar: Diskrete Mathematik Leitung: Prof. Dr. Rainer Lang Von: Steffen Lohrke (ii5105) SS2005 Endliche Körper Seminar: Diskrete Mathematik Leitung: Prof. Dr. Rainer Lang Von: Steffen Lohrke (ii5105) SS2005 Inhaltsverzeichnis Abelsche Gruppe 3 Kommutativer Ring 5 Körper 6 Endliche Körper 7 Endliche

Mehr

1. Gruppen. 1. Gruppen 7

1. Gruppen. 1. Gruppen 7 1. Gruppen 7 1. Gruppen Wie schon in der Einleitung erläutert wollen wir uns in dieser Vorlesung mit Mengen beschäftigen, auf denen algebraische Verknüpfungen mit gewissen Eigenschaften definiert sind.

Mehr

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch

Einführung in die Kryptographie. 20.6.2011, www.privacyfoundation.ch Einführung in die Kryptographie 20.6.2011, www.privacyfoundation.ch Kryptographie Name kryptós: verborgen, geheim gráphein: schreiben Verschlüsselung Text so umwandeln, dass man ihn nur noch entziffern/lesen

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

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC) Übungen zu Architektur Eingebetteter Systeme Blatt 4 22.05.2009 Teil 1: Grundlagen 1.1: Grundlagen des Cyclic redundancy code (CRC) Im Gegensatz zum Parity-Check, der nur einfache Bit-Fehler erkennen kann,

Mehr

Faktorisierung bei Brüchen und Bruchtermen

Faktorisierung bei Brüchen und Bruchtermen Faktorisierung bei Brüchen und Bruchtermen Rainer Hauser Mai 2016 1 Einleitung 1.1 Rationale Zahlen Teilt man einen Gegenstand in eine Anzahl gleich grosse Stücke, so bekommt man gebrochene Zahlen, die

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

Rechnergestützter VLSI-Entwurf

Rechnergestützter VLSI-Entwurf Schaltungssynthese Dipl.-Ing. e-mail: rgerndt@iam.de Seite SYN/1 Motivation Vereinfachung des Systementwurfes Weniger Fehler durch abstrakte Beschreibung Portierbarkeit der Schaltung (PLD, CPLD, FPGA,

Mehr

5 Grundlagen der Zahlentheorie

5 Grundlagen der Zahlentheorie 5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk

Mehr

Outline. 1 Vektoren im Raum. 2 Komponenten und Koordinaten. 3 Skalarprodukt. 4 Vektorprodukt. 5 Analytische Geometrie. 6 Lineare Räume, Gruppentheorie

Outline. 1 Vektoren im Raum. 2 Komponenten und Koordinaten. 3 Skalarprodukt. 4 Vektorprodukt. 5 Analytische Geometrie. 6 Lineare Räume, Gruppentheorie Outline 1 Vektoren im Raum 2 Komponenten und Koordinaten 3 Skalarprodukt 4 Vektorprodukt 5 Analytische Geometrie 6 Lineare Räume, Gruppentheorie Roman Wienands (Universität zu Köln) Mathematik II für Studierende

Mehr

KRYPTOSYSTEME & RSA IM SPEZIELLEN

KRYPTOSYSTEME & RSA IM SPEZIELLEN KRYPTOSYSTEME & RSA IM SPEZIELLEN Kryptosysteme allgemein Ein Kryptosystem ist eine Vorrichtung oder ein Verfahren, bei dem ein Klartext mithilfe eines Schlüssels in einen Geheimtext umgewandelt wird (Verschlüsselung)

Mehr

5. Gruppen, Ringe, Körper

5. Gruppen, Ringe, Körper 5. Gruppen, Ringe, Körper 5.1. Gruppen Die Gruppentheorie, als mathematische Disziplin im 19. Jahrhundert entstanden, ist ein Wegbereiter der modernen Mathematik. Beispielsweise folgt die Gruppe, die aus

Mehr

Ganzzahlige Division mit Rest

Ganzzahlige Division mit Rest Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in

Mehr

WIEDERHOLUNG (BIS ZU BLATT 7)

WIEDERHOLUNG (BIS ZU BLATT 7) Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber

Mehr

IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung

IT-Sicherheitsmanagement. Teil 12: Asymmetrische Verschlüsselung IT-Sicherheitsmanagement Teil 12: Asymmetrische Verschlüsselung 10.12.15 1 Literatur [12-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg

Mehr

Die Quadratische Gleichung (Gleichung 2. Grades)

Die Quadratische Gleichung (Gleichung 2. Grades) - 1 - VB 003 Die Quadratische Gleichung (Gleichung. Grades) Inhaltsverzeichnis Die Quadratische Gleichung (Gleichung. Grades)... 1 Inhaltsverzeichnis... 1 1. Die Quadratische Gleichung (Gleichung. Grades)....

Mehr

3.6 Einführung in die Vektorrechnung

3.6 Einführung in die Vektorrechnung 3.6 Einführung in die Vektorrechnung Inhaltsverzeichnis Definition des Vektors 2 2 Skalare Multiplikation und Kehrvektor 4 3 Addition und Subtraktion von Vektoren 5 3. Addition von zwei Vektoren..................................

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

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust! Chr.Nelius: Zahlentheorie (SoSe 2016) 1 14. Aufgabenblatt ZAHLENTHEORIE (für Master G und HRG) Lösungen Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor

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

U. Rausch, 2010 Ganze Zahlen 1

U. Rausch, 2010 Ganze Zahlen 1 U. Rausch, 2010 Ganze Zahlen 1 Ganze Zahlen 1 Einleitung Als ganze Zahlen bezeichnet man die natürlichen Zahlen 1, 2,, 4,..., die Null 0 und die negativen ganzen Zahlen 1, 2,, 4,... Wir verabreden die

Mehr

Netzwerktechnologien 3 VO

Netzwerktechnologien 3 VO Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 8 - Netzwerksicherheit 8.1 Was ist

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Einführung in die Zahlentheorie

Einführung in die Zahlentheorie Einführung in die Zahlentheorie von Peter Hellekalek Institut für Mathematik Universität Salzburg Hellbrunner Straße 34 A-5020 Salzburg, Austria Tel: +43-(0)662-8044-5310 Fax: +43-(0)662-8044-137 e-mail:

Mehr

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke

bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke Rechnerarithmetik Rechnerarithmetik 22 Prof. Dr. Rainer Manthey Informatik II Übersicht bereits in A,3 und A.4: Betrachtung von Addierschaltungen als Beispiele für Schaltnetze und Schaltwerke in diesem

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

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

Gleichungen und Ungleichungen

Gleichungen und Ungleichungen Gleichung Eine Gleichung erhalten wir durch Gleichsetzen zweier Terme. Kapitel 3 Gleichungen und Ungleichungen linke Seite = rechte Seite Grundmenge: Menge aller Zahlen, die wir als Lösung der Gleichung

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Einführung in die Kryptographie

Einführung in die Kryptographie Ä Johannes Buchmann Einführung in die Kryptographie Dritte, erweiterte Auflage Inhaltsverzeichnis 1. Einleitung 1 2. Ganze Zahlen 3 2.1 Grundlagen 3 2.2 Teilbarkeit 4 2.3 Darstellung ganzer Zahlen 5 2.4

Mehr

Inhaltsverzeichnis Mathematik

Inhaltsverzeichnis Mathematik 1. Mengenlehre 1.1 Begriff der Menge 1.2 Beziehungen zwischen Mengen 1.3 Verknüpfungen von Mengen (Mengenoperationen) 1.4 Übungen 1.5 Übungen (alte BM-Prüfungen) 1.6 Zahlenmengen 1.7 Grundmenge (Bezugsmenge)

Mehr

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

1 Das RSA-Verfahren und seine algorithmischen Grundlagen 1 Das RSA-Verfahren und seine algorithmischen Grundlagen Das wichtigste d. h., am weitesten verbreitete und am meisten analysierte asymmetrische Verfahren ist das RSA-Verfahren, benannt nach seinen Erfindern

Mehr

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik Übersicht Zwecke der Kryptographie Techniken Symmetrische Verschlüsselung (One-time Pad,

Mehr

Zahlen und elementares Rechnen (Teil 1)

Zahlen und elementares Rechnen (Teil 1) und elementares Rechnen (Teil 1) Dr. Christian Serpé Universität Münster 6. September 2010 Dr. Christian Serpé (Universität Münster) und elementares Rechnen (Teil 1) 6. September 2010 1 / 40 Gliederung

Mehr

Prof. S. Krauter Endliche Geometrie. SS 05. Blatt Wiederholen Sie die Abschnitte zum Rechnen mit Restklassen aus der Einführungsveranstaltung.

Prof. S. Krauter Endliche Geometrie. SS 05. Blatt Wiederholen Sie die Abschnitte zum Rechnen mit Restklassen aus der Einführungsveranstaltung. Prof. S. Krauter Endliche Geometrie. SS 05. Blatt03 1. Wiederholen Sie die Abschnitte zum Rechnen mit Restklassen aus der Einführungsveranstaltung. 2. Die zahlentheoretische Kongruenz ist folgendermaßen

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Poelchau-Oberschule Berlin A. Mentzendorff September 2007 Lineare Gleichungssysteme Inhaltsverzeichnis 1 Grundlagen 2 2 Das Lösungsverfahren von Gauß 4 3 Kurzschreibweise und Zeilensummenkontrolle 6 4

Mehr

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln 27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln Autor Dirk Bongartz, RWTH Aachen Walter Unger, RWTH Aachen Wer wollte nicht schon mal eine Geheimnachricht übermitteln?

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

Kommunikationsalgorithmus RSA

Kommunikationsalgorithmus RSA Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren

Mehr

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79

Multiplikation. Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation Grundlagen der Rechnerarchitektur Logik und Arithmetik 79 Multiplikation nach der Schulmethode Gegeben seien die Binärzahlen A und B. Was ist a * b? Beispiel: Multiplikand A: 1 1 0 1 0 Multiplikator

Mehr

Neben der Addition tritt nun die Multiplikation als weitere Struktureigenschaft

Neben der Addition tritt nun die Multiplikation als weitere Struktureigenschaft Kapitel 3 Rationale Zahlen 31 Die rationalen Zahlen (Körper, Abzählbarkeit) Was ist mit der Gleichung z q = w in Z? Für gegebene z, w Z ist diese Gleichung in der Menge der ganzen Zahlen im Allgemeinen

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr