Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens
|
|
- Ursula Maus
- vor 7 Jahren
- Abrufe
Transkript
1 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 dargestellt. Hier soll nur ein kurzer Überblick gegeben werden, damit man die mathematische Durststrecke besser durchhält. Der öffentliche Schlüssel von RSA besteht aus dem Modulus M (einer Binärzahl mit 1024 Stellen) und dem Exponenten e, für den man meist die Zahl verwendet. Die Verschlüsselung geht so vor sich, dass man die Bits des Nachrichtentextes in Blöcke N aufteilt, die genau so lang sind wie der Modulus M. Dann bildet man die modulare Potenz der Nachrichtenblöcke N e mod M = C. Dafür verwendet man ein relativ schnelles Verfahren, die sogenannte schnelle Exponentiation. C ist dann die codierte Nachricht. Für die Entschlüsselung müsste man eigentlich die Umkehrfunktion der Potenzierung, nämlich die e-te Wurzel aus der codierten Nachricht bilden. Dies ist aber anerkanntermaßen mit vertretbarem Aufwand unmöglich, da die Modulusbildung dazu führt, dass die Werte C völlig unregelmäßig im Zahlenbereich verteilt werden.. Der einzige derzeit bekannte Weg besteht darin, alle möglichen Zahlen möglichst systematisch durchzuprobieren, diese zu potenzieren und mit dem gewünschten Ergebnis zu vergleichen. Damit ist der Aufwand für das primitive Brechen des Codes im Mittel um einen Faktor, der der Hälfte der möglichen Zahlen entspricht, aufwändiger als die Verschlüsselung, für die nur eine einzige Potenzierung benötigt wird. Bei der derzeit als Minimum vorgeschlagenen Schlüssellänge von 1024bit ergibt das die unvorstellbar große Zahl von Wenn beispielsweise das Verschlüsseln mit dem öffentlichen Schlüssel eine Mikrosekunde dauern würde, so braucht das Brechen des Codes mit diesem primitiven Verfahren dann etwa Jahre. Die tatsächliche Entschlüsselung funktioniert mit einem Trick, der die Entschlüsselung in etwa der 100fachen Zeit wie die Verschlüsselung ermöglicht. Wenn man bei der Schlüsselerzeugung den Modulus M erzeugt, indem man zwei Primzahlen p und q miteinander multipliziert, so hat schon der Mathematiker Leonhard Euler im 18.Jahrhundert herausgefunden, dass die Zahl (p-1)*(q-1) zur einfachen Entschlüsselung herangezogen werden kann. Der Rechenaufwand für die Entschlüsselung ist bei einer Schlüssellänge von 1024bit etwa 100mal höher als für die Verschlüsselung. Dies ist normalerweise schnell genug, um kleine Datenmengen in akzeptabler Zeit zu entschlüsseln. Allerdings braucht man zum Verschlüsseln gößerer Datenmengen schnellere Verfahren. Dazu bieten sich die im folgenden Kapitel beschriebenen symmetrischen Verfahren an. Die Mathematik von RSA Ganzzahl Arithmetik Die normale Arithmetik mit ganzen Zahlen verwendet einen unendlich großen Zahlenbereich von - bis. Für diese Arithmetik gelten eine Reihe von Gesetzen, über die man meist nicht mehr besonders nachdenkt, da man sie als selbstverständlich ansieht. Dies sind im einzelnen: Kommutativität :a b =b a u n d a b =b a Assoziativität : a b c=a b c u n d a b c=a b c Distributivität :a b c =a b a c Außerdem gibt es ein Null-Element (die 0), dass bei Addition den Wert nicht verändert, und ein 1
2 Eins-Element (die 1), das bei Multiplikation den Wert nicht verändert. Zusätzlich gibt es ein zu jedem Element ein additives Inverses, für das gilt: a a =0 Diese Eigenschaften machen die Menge der ganzen Zahlen zu einem kommunitativen Ring. Modulare Arithmetik Die modulare Arithmetik arbeitet im Gegensatz zur Ganzzahlarithmetik auf einer endlichen Menge von Zahlen, und zwar auf der Menge der ganzen Zahlen von 0 bis zu dem jeweiligen Modulus m. Dabei wird so gerechnet, als rechne man mit ganzen Zahlen. Allerdings wird vom Ergebnis einer Rechnung der Modulus so oft abgezogen oder hinzugezählt, bis das Ergebnis wieder im Bereich von 0 bis m liegt. Das gleiche geschieht, wenn man das Ergebnis der Ganzzahlrechnung durch den Modulus m teilt. Man erhält dann den Rest der Division als Ergebnis der Modular-Rechnung. Ein gutes Beispiel dafür ist eine Uhr: Der zulässige Bereich der Minuten geht von 0 bis 60. Wenn man 20Minuten + 50Minuten rechnet, so ergibt sich ein Zeigerstand bei 10Minuten.Der ist dann natürlich eine Stunde später, aber das interessiert hier nicht. Weitere Beispiele: m o d 6 0=7 0 m o d 6 0= m o d = 7 0m o d = =2 0= m o d m o d 6 0=2 0 0m o d 6 0= m o d m o d 6 0=2 0= m o d 6 0 Anhand der Beispiele kann man schon vermuten, dass es gleichgültig ist, wann man im Verlauf einer Rechnung die Modularisierung durchführt. Tatsächlich ist dies allgemein gültig: a m o d m b m o d m = a b m o d m dabei steht der kleine Kreis für die Operanden + oder *. Da dies für die Multiplikation gilt, gilt es ebenso für eine fortgesetzte Multiplikation, also eine Potenzierung. a b m o d m = 0 b a m o d m = 0 b a m o d m m o d m a 0 =a a 1 =a Diese Tatsache ermöglicht es, die Zwischenergebnisse einer Potenzierung innerhalb des Bereichs von 0 bis m zu halten, indem man nach jeder Multiplikation sofort eine Modulusbildung durchführt. Dies reduziert die Größe der Zahlen und damit die Rechenzeit dramatisch, sobald es sich um Zahlen handelt, die größer sind als die maximal von einer CPU (z.b. 32Bit oder 64 Bit bei gängigen Prozessoren) in einem Schritt zu verarbeitende Zahl. Beispiel: 7 5 m o d 1 0= m o d 1 0=7 alternative R e c h n u n g 7 7=4 9m o d 1 0=9 9 7=6 3m o d 1 0=3 3 7=2 1m o d 1 0=1 1 7 =7 m o d 1 0=7 Die zweite Rechnung kann man sehr schnell mit dem kleinen Einmaleins im Kopf ausführen, während bei der oberen Zeile doch wohl schon eher der Taschenrechner gefragt ist. Wenn man konsequent nach jedem Rechenschritt eine Modulusbildung vornimmt, so kann man damit erreichen, dass wenn man einen Modulus als Binärzahl k Binärstellen betrachtet, das Ergebnis einer Rechenoperation niemals mehr als 2k Stellen umfasst. Ein 2k-stelliges Ergebnis würde nur im ungünstigst möglichen Fall, nämlich der Multiplikation von 2 Zahlen mit je k Stellen auftreten. 2
3 Schnelle Exponentiation Der folgende Algorithmus zur schnellen Exponentiation sorgt jeweils dafür, dass die Zwischenergebnisse klein bleiben und benutzt einen Ansatz, der durch fortgesetztes Quadrieren wenn immer möglich den schon abgearbeiteten Teil des Exponenten verdoppelt, anstatt ihn durch fortgesetztes Mulitiplizieren nur um jeweils 1 zu erhöhen. Dies führt zu einem sehr günstigen Laufzeitverhalten, dass sich am Logarithmus des Exponenten statt am Exponenten selbst orientiert. Für das oben erwähnte Beispiel würde dies bedeuten: B e r e c h n e 7 5 m o d =4 9m o d 1 0=9 = 7 2 m o d =8 1m o d 1 0=1 = 7 4 m o d =7 m o d 1 0=7= 7 5 m o d 1 0 Der folgende Algorithmus berechnet: a e m o d m mults = 1 squares = a togo = e while (togo > 0){ while (togo mod 2 = 0) { //togo is even, we can use a square squares = (squares * squares) mod m togo = togo / 2 } //end togo is even mults = (mults * a) mod m // sorry, togo is odd, we have to multiply togo = togo -1 } return mults Die Variable squares sammelt alle möglichen Quadrierungen. Erst wenn der restliche Exponent togo ungerade ist, wird eine Multiplikation nötig. Daraufhin wird vom noch abzuarbeitenden togo 1 abgezogen. ToGo ist damit wieder gerade, mindestens eine Quadierung ist jetzt möglich. Ganz zum Schluss ergibt sich das Endergebnis aus der Multiplikation der aufgesammelten Quadrierungen und Mutliplikationen. Damit braucht der Algortihmus im ungünstigsten Fall (nämlich wenn der Exponent als Binärzahl lauter 1en enthält) für einen Exponenten mit k Bits genau 2k Multiplikationen und Modularisierungen. Der Entschlüsselungstrick ist leider gar nicht einfach zu verstehen. Die Idee ist folgende: Wenn man eine verschlüsselte Nachricht C = N e mod M weiter mit einem Exponenten d potenziert, so erhält man im Exponenten das Produkt aus e und dem weiteren Exponenten d. C d mod m= N e mod m d =N e d mod m Wenn man d so wählt, dass e d=1 gilt, so hat man es geschafft. Dann gilt nämlich: C d mod m=n e d mod m=n 1 mod m=n man erhält in diesem Falle wieder die ursprüngliche Nachricht. Jetzt braucht man nur noch das 3
4 richtige d zu finden... Der Entschlüsselungsexponent d für die Menge der reellen Zahlen ist es ganz einfach, das gewünschte d zu bestimmen. Es muss gelten: e d =1.0 daraus folgt d=1.0/e d ist also das multiplikative Inverse zu e und lässt sich mit der bei den reellen Zahlen eindeutig möglichen Divisonsoperation beliebig genau berechnen. Damit ein multiplikatives Inverses auch bei der modularen Ganzzahlarithmetik existiert, müssen eine Reihe von Voraussetzungen erfüllt sein. Eindeutigkeit der modularen Multiplikation Zunächst einmal muss das Ergebnis einer Multiplikation eindeutig sein. Das heißt, wenn man eine Zahl a mit einer beliebigen anderen Zahl multipliziert, darf es keine zwei von einander verschiedenen andere Zahlen geben, für die da gleiche Multiplikationsergebnis entstünde. Als Formel sieht das so aus: Wenn 0 i m und 0 j m und i j ist und a den Modulus m nicht teilt ggt a,m =1 so gilt a i mod m a j mod m. Beweis: Wenn die Ergebnisse gleich wären, so müsste gelten: a i a j=a i j =x m wobei x eine ganze Zahl ist. Denn bei der Modulusbildung werden immer ganze m vom Ergebnis abgezogen. Die beiden Produkte könnten sich also nur um ganze Vielfache von m unterscheiden, da die Reste ja gleich sein sollen. Dividiert man durch m, so ergibt sich: a i j = x m Dabei muss x weiterhin eine ganze Zahl sein. Da der größte gemeinsame Teiler von a und m ja 1 sein sollte, also sowohl a/m als auch m/a nicht ganzzahlig sind, folgt daraus, dass i-j durch m teilbar ist. Anderenfalls erhalten wir kein ganzzahliges x. Das (i-j) durch m teilbar ist, ist aber ein Widerspruch zu der Voraussetzung, dass sowohl i als auch j kleiner als m sein sollten. Also ist die Differenz von i und j erst recht kleiner als m und kann natürlich nicht ein ganzzahliges Vielfaches von m sein, was dann die Teilbarkeit ermöglichen würde. Aus diesen Überlegungen folgt auch, dass alle Produkte (a*i) mod m für alle i von 0 bis m-1 unterschiedliche Ergebnisse liefern, die Multiplikation also eindeutig ist. Es gilt für i j : a i mod m a j mod m (q.e.d. siehe oben) Die Existenz eines multiplikativen Inversen Besonders wichtig ist dies für ein Ergebnis mit dem Wert 1. Da ja alle a*i mod m unterschiedliche Ergebnisse liefern, gibt es nur genau einen Wert i, für den gilt a i mod m=1. Es existiert also ein eindeutiges i, für das a*i mod m =1 ist. Dieses i nennt man das multiplikative Inverse zu a. Dieses i entspricht im Bereich der reellen Zahlen dem Wert 1/a oder a -1. Deshalb schreibt man auch in der Modularithmetik a -1 für das multiplikative Inverse. Der große Unterschied zur Arithmetik mit reellen Zahlen ist, dass i=a 1 eine ganze Zahl ist. Allerdings ist, wie aus der Beweisführung oben hervorgeht, die Voraussetzung für die Existenz 4
5 eines multiplikatives Inversen, dass m nicht durch a teilbar ist. Anderenfalls ist die Multiplikation nicht eindeutig. Wenn also m eine Primzahl ist und es deshalb keine Zahl a gibt, durch die m teilbar ist, existiert für jedes a < m ein multiplikatives Inverses. Dies werden wir später noch benutzen. Die von Leonhard Euler beschriebene Funktion m liefert die Anzahl der Zahlen a mit a < m, für die ein multiplikatives Inverses existiert. Diese Zahlenmenge wird auch die reduzierte Menge der Reste modulo m genannt. wenn m eine Primzahl ist, so gilt: m =m 1 m ist prim Der Satz von Euler, der es möglich macht Für ein m und ein beliebiges a, das kleiner als m ist gilt: a m mod m=1 Der Beweis geht folgendermaßen: Wir betrachten die Menge der möglichen Produkte a*r wobei r alle Elemente der reduzierten Menge der Reste modulo m (siehe oben) durchläuft. a r i mod m mit i=1,2,3... m Die Ergebnisse der Multiplikationen a*r ergeben wiederum alle Elemente r der Menge der Reste modulo M. Lediglich die Reihenfolge ist eine völlig andere. Aber das stört für eine Multiplikation ja nicht, da man die Reihenfolge der Faktoren beliebig vertauschen kann. Wir multiplizieren jetzt: m m a m mod m r i = a r i mod m i =1 i=1 Da wie schon weiter oben geschrieben alle Multiplikationen a*r wiederum alle r als Ergebnis haben und die Reihenfolge der Faktoren bei einer Multiplikation keine Rolle spielt gilt: a m mod m i =1 m m r i = i=1 m a r i mod m = i =0 r i mod m Da es für alle r ein multiplikatives Inverses gibt, gibt es natürlich auch für das Produkt p über alle r ein multiplikatives Inverses p 1. Wenn man das Produkt p mit diesem Wert multipliziert ergibt sich definitionsgemäß der Wert 1. Wir tun dies und erhalten den Satz von Euler: m m a m mod m r i p 1 = i =1 i=0 a m mod m = 1 Der RSA Algorithmus r i p 1 mod m Wir wählen zwei Primzahlen p und q und bilden das Produkt p * q = m. Dann ist m = p 1 q 1 da m genau p-1 mal durch q und q-1 mal duch p teilbar ist. Nach dem Satz von Euler gilt für jede Nachricht M mit M < m: M m =M p 1 q 1 =1 natürlich gilt auch weiterhin 1*1 = 1, da 1 ja das neutrale Element der Multiplikation ist. Also gilt auch für beliebige k: M m M m... M m =M k m =1 5
6 Wenn man diese Gleichung genau einmal mit M multipliziert, so erhält man: M k m M =M k m 1 =M Wenn man also eine Nachricht mit einem Exponenten potenziert für den gilt: E=k m 1 was gleichbedeutend ist mit: E mod m =1 so erhält man die originale Nachricht als Ergebnis! Wir können also eine RSA Nachricht wie folgt entschlüsseln: Wir bestimmen das multiplikative Inverse d für den Verschlüsselungsexponenten e mod (p-1) * (q-1) also: d=e 1 mod p 1 q 1 =e 1 mod m Dann gilt: d e mod m =1 d*e ist also der gesuchte Gesamtexponent E, für den die Nachricht wieder in sich selbst abgebildet wird. Also muss man die verschlüsselte Nachricht C noch mit d potenzieren, damit man M wieder erhält. C d =M e d =M k m 1 =M Der Wert von d kann einmalig berechnet und dann als Entschlüsselungs-Schlüssel gespeichert werden. Damit man d berechnen kann, braucht man den Wert von m = p 1 q 1. Bei unbekanntem p und q und bekanntem Modulus M erhält man p und q nur durch Primfaktorzerlegung von M. Diese ist nach heutigem Stand der Algorithmenentwicklung für hinreichend große M unmöglich. 6
4 Kryptologie. Übersicht
4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von
MehrGrundlagen der Arithmetik und Zahlentheorie
Grundlagen der Arithmetik und Zahlentheorie 1.0 Teilbarkeit In diesem Abschnitt werden wir einerseits die ganzen Zahlen an sich studieren und dabei besonders wichtige Zahlen, die Primzahlen, entsprechend
Mehr3 Public-Key-Kryptosysteme
Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.
MehrPraktisch modulo n rechnen
Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet
MehrKanonische Primfaktorzerlegung
Kanonische Primfaktorzerlegung Jede natürliche Zahl Form kann auf eindeutige Weise in der geschrieben werden, wobei, für und Primzahlen sind. Dies ist die kanonische Primfaktorzerlegung von. Mathematik
Mehr3. 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,
MehrPrimzahlen. 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
MehrVorlesung Mathematik 2 für Informatik
Vorlesung Mathematik 2 für Informatik Inhalt: Modulare Arithmetik Lineare Algebra Vektoren und Matrizen Lineare Gleichungssysteme Vektorräume, lineare Abbildungen Orthogonalität Eigenwerte und Eigenvektoren
MehrMathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16
Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen
Mehr1 Der Ring der ganzen Zahlen
1 Der Ring der ganzen Zahlen Letztendlich wird die Addition und Multiplikation in endlichen Körpern auf die Addition und Multiplikation von ganzen Zahlen zurückgeführt. Deswegen müssen wir die an sich
MehrDas RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie
Das RSA-Verfahren - Einsatz von Standardalgorithmen in der Kryptologie 2 Verschlüsseln durch modulares Rechnen modulares Addieren modulares Multiplizieren modulares Potenzieren Verschlüsselung mit öffentl.
MehrInterim. Kapitel Einige formale Definitionen
Kapitel 1 Interim Da ich keine Infos über Titel und Nummerierungen anderer Kapitel dieser Vorlesung habe, nenne ich dies einfach mal Kapitel 1. 17.11.04 1.1 Einige formale Definitionen Wir rekapitulieren
MehrLiteratur. ISM SS 2018 Teil 3/Restklassen
Literatur [3-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [3-2] Schmeh, Klaus: Kryptografie. dpunkt, 5. Auflage, 2013 [3-3] Hoffmann,
Mehr2: Restklassen 2.1: Modulare Arithmetik
2: Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32, 64} Prüfziffern mod 10 oder mod 11... 71 S. Lucks Diskr Strukt.
MehrKanonische Primfaktorzerlegung
Mathematik I für Informatiker Zahlen p. 1 Kanonische Primfaktorzerlegung Jede natürliche Zahl n kann auf eindeutige Weise in der Form n = p α 1 1 pα 2 2... pα k k geschrieben werden, wobei k N 0, α i N
Mehr$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
MehrVorlesung 7. Tilman Bauer. 25. September 2007
Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x
MehrEl. Zahlentheorie I: Der kleine Satz von Fermat
Vorlesung 7 Universität Münster 25. September 2007 El. In Vorlesung 4 haben wir Modulo-Arithmetik behandelt. Definition Sei n N 1. Auf Z ist eine Äquivalenzrelation Kongruenz modulo n definiert durch x
MehrVorlesung 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
MehrZahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2
Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017
Mehrn ϕ 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
MehrLösungen der Aufgaben
Lösungen der Aufgaben Aufgabe 1.3.1 Es gibt 42 mögliche Verschlüsselungen. Aufgabe 2.3.4 Ergebnisse sind 0, 4 und 4 1 = 4. Aufgabe 2.3.6 Da in Z 9 10 = 1 ist, erhalten wir x = c 0 + + c m = c 0 + + c m.
MehrLineare Algebra I 5. Tutorium Die Restklassenringe /n
Lineare Algebra I 5. Tutorium Die Restklassenringe /n Fachbereich Mathematik WS 2010/2011 Prof. Dr. Kollross 19. November 2010 Dr. Le Roux Dipl.-Math. Susanne Kürsten Aufgaben In diesem Tutrorium soll
MehrDiskrete 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,
Mehr1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl
Westfälische Wilhelms-Universität Münster Mathematik Sommersemester 2017 Seminar: Verschlüsselungs- und Codierungstheorie Leitung: Thomas Timmermann 1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl
MehrZahlentheorie für den Landeswettbewerb für Anfängerinnen und Anfänger der Österreichischen Mathematik-Olympiade
Zahlentheorie für den Landeswettbewerb für Anfängerinnen und Anfänger der Österreichischen Mathematik-Olympiade Clemens Heuberger 22. September 2014 Inhaltsverzeichnis 1 Dezimaldarstellung 1 2 Teilbarkeit
MehrKleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA
Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Manfred Gruber http://www.lrz-muenchen.de/~gruber SS 2009, KW 15 Kleiner Fermatscher Satz Satz 1. Sei p prim und a 2 Z p. Dann
MehrVon den ganzen Zahlen zu GF(p)
Endliche Körper p. 1 Von den ganzen Zahlen zu GF(p) Aus dem Ring aller ganzen Zahlen gewinnt man endliche Körper wie folgt: Man führt das Rechnen modulo n ein (modulare Arithmetik) und erhält so endliche
Mehr3.5 Kryptographie - eine Anwendung der Kongruenzrechnung
1 3.5 Kryptographie - eine Anwendung der Kongruenzrechnung Das Wort Kryptographie leitet sich aus der griechischen Sprache ab, nämlich aus den beiden Worten κρυπτ oς(kryptos)=versteckt, geheim und γραϕɛιν(grafein)=schreiben.
MehrSeminar zum Thema Kryptographie
Seminar zum Thema Kryptographie Michael Hampton 11. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 1.1 Konventionen.................................. 3 1.2 Wiederholung.................................. 3
MehrMusterlösung zur Probeklausur zur Angewandten Diskreten Mathematik
UNIVERSITÄT ULM Institut für Zahlentheorie und Wahrscheinlichkeitstheorie Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Prof. Dr. Helmut Maier, Hans- Peter Reck Gesamtpunktzahl: 100
MehrLiteratur. ITSec SS 2017 Teil 7/Restklassen
Literatur [7-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [7-2] Schmeh, Klaus: Kryptografie. dpunkt, 5. Auflage, 2013 [7-3] Hoffmann,
MehrAufgabe der Kryptografie
Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale
Mehr1 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
Mehr9. Musterlösung zu Mathematik für Informatiker I, WS 2003/04
9. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 KATHRIN TOFALL, MICHAEL NÜSKEN Die mit * gekennzeichneten Aufgabenteile und Aufgaben sind freiwillig. Die dort erworbenen Punkte werden als
MehrTeil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.
Teil I Lineare Algebra I Vorlesung Sommersemester 2011 Olga Holtz MA 378 Sprechstunde Fr 14-16 und nv holtz@mathtu-berlinde Sadegh Jokar MA 373 Sprechstunde, Do 12-14 und nv jokar@mathtu-berlinde Kapitel
MehrRegine Schreier
Regine Schreier 20.04.2016 Kryptographie Verschlüsselungsverfahren Private-Key-Verfahren und Public-Key-Verfahren RSA-Verfahren Schlüsselerzeugung Verschlüsselung Entschlüsselung Digitale Signatur mit
MehrKapitel III Ringe und Körper
Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem
MehrIT-Sicherheitsmanagement. Teil 3: Restklassen
IT-Sicherheitsmanagement Teil 3: Restklassen 26.10.18 1 Literatur I [3-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [3-2] Schmeh,
Mehr3 Vom Zählen zur Induktion
7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,
MehrPrimzahlen im Schulunterricht wozu?
Primzahlen im Schulunterricht wozu? Franz Pauer Institut für Fachdidaktik und Institut für Mathematik Universität Innsbruck Tag der Mathematik Graz 6. Februar 2014 Einleitung Eine (positive) Primzahl ist
MehrKapitel 2. Elementare Zahlentheorie Primfaktorzerlegung
Kapitel 2. Elementare Zahlentheorie 2.1. Primfaktorzerlegung Menge der ganzen Zahlen Z = {..., 3, 2, 1, 0, 1, 2, 3,...} Addition Inverse Multiplikation Z Z Z, Z Z, Z Z Z, (a, b) a + b a a (a, b) a b Ausgezeichnete
MehrDiskreter Logarithmus und Primkörper
Diskreter Logarithmus und Primkörper Neben dem RSA-Verfahren ist die ElGamal-Verschlüsselung 8 ein weiteres klassische Public-Key-Verfahren, welches von Taher ElGamal auf der Konferenz CRYPTO 84 vorgestellt
MehrIT-Security. Teil 7: Restklassen
IT-Security Teil 7: Restklassen 20.04.17 1 Literatur [7-1] Beutelspacher, A.; Schwenk, J.; Wolfenstetter, K.-D.: Moderne Verfahren der Kryptographie. 4. Auflage, Vieweg 2001 [7-2] Schmeh, Klaus: Kryptografie.
Mehrggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.
ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. Das heißt, um den ggt von zwei 1000-Bit-Zahlen zu ermitteln,
MehrDer kleine Satz von Fermat
Der kleine Satz von Fermat Luisa-Marie Hartmann 5. Mai 2017 Inhaltsverzeichnis 1 Einleitung 3 2 Hauptteil 4 2.1 Prime Restklassengruppen............................ 4 2.2 Ordnung von Gruppenelementen........................
MehrZahlentheorie. Stefan Takacs Linz, am 2. Juni 2004
Zahlentheorie Anna Rieger 0355556 Stefan Takacs 0356104 Daniela Weberndorfer 0355362 Linz, am 2. Juni 2004 Zusammenfassung Die vorliegende Arbeit über die grundlegenden Sätze der Zahlentheorie beschäftigt
Mehr1 Der Ring der ganzen Zahlen
1 Der Ring der ganzen Zahlen Letztendlich wird die Addition und Multiplikation in endlichen Körpern auf die Addition und Multiplikation von ganzen Zahlen zurückgeführt. Deswegen müssen wir die an sich
MehrKryptographie. Teilnehmer: Gruppenleiter: Humboldt-Universität zu Berlin.
Kryptographie Teilnehmer: Kevin Huber Philippe Gruse Vera Koldewitz Philipp Jakubahs Julian Zimmert Maximilian Werk Hermann-Hesse-Oberschule Heinrich-Hertz-Oberschule Gruppenleiter: Ulf Kühn Humboldt-Universität
MehrKapitel 4. Kapitel 4 Restklassen (die modulo-rechnung)
Restklassen (die modulo-rechnung) Inhalt 4.1 4.1 Was Was sind sind Restklassen? [0], [0],[1], [1],...,...,[n 1] 4.2 4.2 Addition von von Restklassen [5] [5] + [7] [7] = [3] [3] 4.3 4.3 Multiplikation von
MehrTipp: Ab jetzt Taschenrechner oder Scilab einsetzen!
- Übungsblatt 02 Lösungsvorschläge Aufgabe 1 Beweisen Sie, dass 3 eine irrationale Zahl ist, also nicht durch einen Bruch dargestellt werden kann. Annahme: 3 ist eine rationale Zahl 3= m. Der Bruch soll
MehrMathematik: Mag. Schmid Wolfgang Arbeitsblatt 8 2. Semester ARBEITSBLATT 8 DIE REELLEN ZAHLEN
Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 8. Semester ARBEITSBLATT 8 DIE REELLEN ZAHLEN Bisher kennen wir bereits folgende Zahlenbereiche: N Natürliche Zahlen Z Ganze Zahlen Q Rationale Zahlen Bei
MehrMathematische Grundlagen der Kryptografie (1321) SoSe 06
Mathematische Grundlagen der Kryptografie (1321) SoSe 06 Klausur am 19.08.2006: Lösungsvorschläge zu den Aufgaben zu Aufgabe I.1 (a) Das numerische Äquivalent zu KLAUSUR ist die Folge [10, 11, 0, 20, 18,
MehrKryptographie 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
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel
MehrÜbungen zum Vorkurs Mathematik für Studienanfänger 2009 ***
Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2009 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen
MehrMersennesche Primzahlen
Mersennesche Primzahlen Michael E. Pohst Technische Universität Berlin Die Zahlen von Mersenne Zu einer natürlichen Zahl n wird die zugehörige Mersennezahl M n als M n = 2 n 1 definiert. Für n = 2, 3,
Mehra(b + c) = ab + ac und (a, b) (c, d) a + d = b + c definiert. Der Quotientenraum Z := N 2 / ist versehen mit der Addition
4.1 N und Z (8.12.2011) Definition 4.1 (Ring) Eine Menge R, versehen mit zwei Abbildungen + : R R R und R R R heißt Ring, falls folgende Eigenschaften erfüllt sind: 1) (i) Existenz eines neutralen Elementes
MehrFolien der 15. Vorlesungswoche
Folien der 15. Vorlesungswoche Mathematische Analyse von RSA I (1) Wir wählen zwei große Primzahlen p und q (p q) und setzen n = p q. Wir arbeiten von nun an in Z n und berücksichtigen, dass wie später
MehrWiederholungsblatt zur Gruppentheorie
Wiederholungsblatt zur Gruppentheorie von Christian Elsholtz, TU Clausthal, WS 1999/2000 Um Ihnen zu helfen, die Gruppentheorie zu wiederholen, stelle ich hier einige wichtige Beispiele und einige Lösungen
Mehr1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt:
1 Körper Sie kennen bereits 2 Beispiele von Zahlkörpern: (Q, +, ) (R, +, ) die rationalen Zahlen mit ihrer Addition und Multiplikation die reellen Zahlen mit ihrer Addition und Multiplikation Vielleicht
MehrMathematische Strukturen
Mathematische Strukturen Lineare Algebra I Kapitel 3 18. April 2012 Logistik Dozent: Olga Holtz, MA 378, Sprechstunden Freitag 14-16 Webseite: www.math.tu-berlin.de/ holtz Email: holtz@math.tu-berlin.de
Mehr2.4. Kongruenzklassen
DEFINITION 2.4.1. kongruent modulo 2.4. Kongruenzklassen Wikipedia:1707 wurde Euler als der älteste Sohn des Pfarrers Paul Euler geboren. Er besuchte das Gymnasium in Basel und nahm gleichzeitig Privatunterricht
MehrGrundlagen der Mathematik
Universität Hamburg Winter 2016/17 Fachbereich Mathematik Janko Latschev Lösungsskizzen 8 Grundlagen der Mathematik Präsenzaufgaben (P13) Primfaktorzerlegungen Die Primfaktorzerlegungen lauten: a) 66 =
MehrLiteratur und Videos. ISM WS 2017/18 Teil 4/Algebren
Literatur und Videos [4-1] http://www.iti.fh-flensburg.de/lang/krypto [4-2] Forster, Otto: Algorithmische Zahlentheorie. 2. Auflage, Springer, 2015 [4-3] Teschl, Gerald; Teschl, Susanne: Mathematik für
MehrÜbungen zum Vorkurs Mathematik für Studienanfänger Ein leeres Produkt ist gleich 1, eine leere Summe 0. ***
Universität Bonn Mathematisches Institut Dr. Michael Welter Übungen zum Vorkurs Mathematik für Studienanfänger 2010 Einige Zeichen und Konventionen: IN := {1, 2, 3, 4,...} Die Menge der natürlichen Zahlen
MehrIT-Sicherheitsmanagement. Teil 4: Einführung in algebraische Strukturen
IT-Sicherheitsmanagement Teil 4: Einführung in algebraische Strukturen 19.09.18 1 Literatur und Videos [4-1] http://www.iti.fh-flensburg.de/lang/krypto [4-2] Forster, Otto: Algorithmische Zahlentheorie.
MehrErweiterter Euklidischer Algorithmus
Erweiterter Euklidischer Algorithmus Algorithmus ERWEITERTER EUKLIDISCHER ALG. (EEA) EINGABE: a, b N 1 If (b = 0) then return (a, 1, 0); 2 (d, x, y) EEA(b, a mod b); 3 (d, x, y) (d, y, x a b y); AUSGABE:
MehrAsymmetrische Algorithmen
Asymmetrische Algorithmen Abbildung 9. Leonhard Euler Leonhard Euler, geboren am 15. April 1707 in Basel, gestorben am 18. September 1783 in Sankt Petersburg, war einer der produktivsten Mathematiker aller
MehrDie Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n
Definitionen Die Ringe Z n für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: Beispiel n = 15 + n : Z n Z n Z n : (a, b) (a + b) mod n n : Z n Z n Z n : (a, b) (a b) mod n 9 + 15 11 = 5 9 15 11 = 9
MehrKapitel 3 Elementare Zahletheorie
Kapitel 3 Elementare Zahletheorie 89 Kapitel 3.1 Ganze Zahlen, Gruppen und Ringe 90 Die ganzen Zahlen Menge der ganzen Zahlen Z={..., 3, 2, 1,0,1,2,3,...} Es gibt zwei Operationen Addition: Z Z Z, (a,b)
MehrIT-Security. Teil 9: Einführung in algebraische Strukturen
IT-Security Teil 9: Einführung in algebraische Strukturen 08.05.17 1 Literatur und Videos [9-1] http://www.iti.fh-flensburg.de/lang/krypto [9-2] Forster, Otto: Algorithmische Zahlentheorie. 2. Auflage,
MehrDer Lucas Lehmer Test
Michael E. Pohst Der Lucas Lehmer Test Dieser Vortrag wird gehalten am 12. Juni 2004 anläßlich der Langen Nacht der Wissenschaften http://www.math.tu-berlin.de/~kant/mersenne.html
MehrProbestudium Übungsblatt 1 -
Probestudium 018 - Übungsblatt 1 - Prof Dr Werner Bley Dominik Bullach Martin Hofer Pascal Stucky Aufgabe 1 (mittel) Sei m Z Wir definieren für zwei ganze Zahlen a und b a b mod m : m ( a b) Seien a, b,
MehrHast 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
MehrBeispiel für simultane Kongruenz
Beispiel für simultane Kongruenz Jetzt wollen wir das Lemma der letzten Einheit anwenden. Wenn man eine Zahl sucht, die kongruent zu y modulo m und kongruent zu z modulo n ist, so nehme man zam + ybn wobei
MehrVorlesung Diskrete Strukturen Rechnen modulo n
Vorlesung Diskrete Strukturen Rechnen modulo n 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
MehrDiskrete Mathematik Kongruenzen
Diskrete Mathematik Kongruenzen 31. Mai 2006 1 Inhaltsverzeichnis 1. Einleitung 2. Prime Restklassen 3. Die Sätze von Euler und Fermat 4. Lineare Kongruenzen 5. Systeme 2 Einleitung 3 Fragestellung Wie
MehrPrimzahlen im Schulunterricht wozu?
Primzahlen im Schulunterricht wozu? Franz Pauer Institut für Fachdidaktik und Institut für Mathematik Universität Innsbruck Lehrer/innen/fortbildungstag Wien 2013 5. April 2013 Einleitung Eine (positive)
MehrVI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren
VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1
MehrEuklidische Algorithmus, Restklassenringe (Z m,, )
Euklidische Algorithmus, Restklassenringe (Z m,, ) Manfred Gruber http://www.cs.hm.edu/~gruber SS 2008, KW 14 Gröÿter gemeinsamer Teiler Denition 1. [Teiler] Eine Zahl m N ist Teiler von n Z, wenn der
Mehr2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz
Mathematik Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften Definition 0 ist eine natürliche Zahl;
MehrMathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018
Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018 11. Januar 2018 1/32 Erinnerung: Eine Gruppe ist eine algebraische Struktur (G, )
Mehr2 Polynome und rationale Funktionen
Gleichungen spielen auch in der Ingenieurmathematik eine große Rolle. Sie beschreiben zum Beispiel Bedingungen, unter denen Vorgänge ablaufen, Gleichgewichtszustände, Punktmengen. Gleichungen für eine
MehrDiskrete Strukturen. Restklassenringe WS 2013/2014. Vorlesung vom 24. Jänner 2014
Diskrete Strukturen WS 2013/2014 Vorlesung vom 24. Jänner 2014 Thomas Vetterlein Institut für Wissensbasierte Mathematische Systeme Johannes-Kepler-Universität Linz 10.1 Die Modulo-n-Relation Definition
MehrZahlen 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
MehrWiederholung. 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,
Mehr1.2 Eigenschaften der ganzen Zahlen
Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen
MehrExponentiation: das Problem
Problemstellung Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:
Mehr2 ZAHLEN UND VARIABLE
Zahlen und Variable 2 ZAHLEN UND VARIABLE 2.1 Grundlagen der Mengenlehre Unter einer Menge versteht man die Zusammenfassung von unterscheidbaren Objekten zu einem Ganzen. Diese Objekte bezeichnet man als
Mehr11. Das RSA Verfahren
Chr.Nelius: Zahlentheorie (SoSe 2017) 53 11. Das RSA Verfahren Bei einer asymmetrischen Verschlüsselung lässt sich der Schlüssel zum Entschlüsseln nicht aus dem Schlüssel zum Verschlüsseln bestimmen und
MehrProseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren
Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................
MehrKölner Mathematikturnier 2011 Das Turnierlogo
Kölner Mathematikturnier 2011 Das Turnierlogo Was sind denn das für komische Punkte im Turnierlogo?, fragt Ihr Euch sicherlich. Unser Turnierlogo stellt einee Visualisierung der Primzahlen in den Gaußschen
MehrIT-Security. Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen
IT-Security Teil 8b: Rechnen mit beliebiger Genauigkeit Algorithmen 06.06.17 1 Überblick Potenzieren Quadrieren Euklid'scher Algorithmus In den meisten Fällen wird nur mit positiven Werten gerechnet. Bei
MehrSchleifeninvarianten. Dezimal zu Binär
Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann
Mehrmit ganzen Zahlen 1.4 Berechnen Sie: a b c d e
1 Rechnen mit ganzen Zahlen Führen Sie die nachfolgenden Berechnungen aus: 1.1 a. 873 112 1718 157 3461 + b. 1578 9553 7218 212 4139 + 1.3 Berechnen Sie: a. 34 89 b. 67 46 c. 61 93 d. 55 11 e. 78 38 1.2
Mehr