Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Schnelle modulare Exponentiation

Schnelle modulare Exponentiation
Über dieses Buch
  • Art: Bachelorarbeit
  • Autor: Uwe Schmidt
  • Abgabedatum: Mai 2005
  • Umfang: 118 Seiten
  • Dateigröße: 1,3 MB
  • Note: 1,3
  • Institution / Hochschule: FernUniversität in Hagen Deutschland
  • ISBN (eBook): 978-3-8324-8925-0
  • ISBN (Paperback) :
    978-3-8324-8925-0 P
  • ISBN (CD) :978-3-8324-8925-0 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Schmidt, Uwe Mai 2005: Schnelle modulare Exponentiation, Hamburg: Diplomica Verlag
  • Schlagworte: Kryptographie, Square and Multiply, Fenstertechnik, Additionskette, Divisionskette

Bachelorarbeit von Uwe Schmidt

Zusammenfassung:

In dieser Arbeit werden Algorithmen dargestellt und analysiert, die die in kryptographischen Verfahren häufig vorkommende modulare Exponentiation a^e mod m möglichst schnell berechnen.

Nach der Einleitung in Kapitel 1 werden in Kapitel 2 einige wichtige mathematische Grundlagen vorgestellt. Dabei handelt es sich um den euklidischen Algorithmus, den erweiterten euklidischen Algorithmus, um die modulare Arithmetik, Primzahlen und die für die Beurteilung der Komplexität von Algorithmen wichtige O-Notation.

In Kapitel 3 werden einige kryptographische Verfahren, in denen die modulare Exponentiation eine große Rolle spielt, beschrieben. Zur Beurteilung der Komplexität wird für jedes Verfahren aufgeführt, wie oft und mit welchen Bitlängen die modulare Exponentiation berechnet wird.

Die modulare Multiplikation ist Thema des Kapitels 4. Algorithmen für die Multiplikation und für die Reduktion nach der „Schulmethode“ werden dargestellt. Es wird gezeigt wie mit einem speziellen Algorithmus für die Quadrierung eine Beschleunigung um ca. 25% erzielt werden kann. Ein rekursiver Multiplikationsalgorithmus, der für sehr große Zahlen schneller als der klassische Algorithmus arbeitet, wird vorgestellt. Den Schluss des Kapitels 4 bildet ein Abschnitt über die Montgomerymultiplikation.

In Kapitel 5 werden Methoden zur modularen Exponentiation behandelt, die ohne Vorberechnungen auskommen. Hierbei handelt es sich um die Binär-Methode, die m-ary-Method und die Fenstertechnik. Neben der Anzahl der Multiplikationen ist auch die Anzahl der während der Berechnung zu speichernden Zwischenergebnisse ein wichtiger Parameter für die Ausführungsgeschwindigkeit. Beide Parameter werden für die jeweiligen Verfahren diskutiert.

Die modulare Exponentiation mit Vorberechnungen wird in Kapitel 6 behandelt. Dort wird zunächst auf die Additionsketten eingegangen. Es wird gezeigt, dass das mathematische Problem des Findens einer möglichst kurzen Additionskette, gleichbedeutend mit dem Finden eines möglichst schnellen Exponentiationsalgorithmus ist. Im Unterabschnitt 6.1.1 wird auf die Möglichkeit eingegangen, durch mehrere parallel arbeitende Multiplizierer die Exponentiation zu beschleunigen. Es folgt ein Abschnitt über Divisionsketten, ein Verfahren, das nicht nur auf die Reduzierung der Multiplikationen abzielt. Durch Verringerung von zu speichernden Zwischenergebnissen werden langsame Speicherzugriffe verhindert und so eine Beschleunigung der Berechnung erzielt. In Abschnitt 6.3 wird ein Algorithmus für die Berechnung modularer Exponentiationen mit fester Basis und variablen Exponenten vorgestellt (BMGW-Algorithmus). Beendet wird Kapitel 6 mit einem Abschnitt über die Exponentiation mit dem chinesischen Restsatz beim RSA-Verfahren.

In Kapitel 7 werden die Ergebnisse der vorangegangenen Kapitel zusammengefasst.

Die Arbeit endet mit Kapitel 8. Hier wird die beispielhafte Implementierung eines Verfahrens zur modularen Exponentiation beschrieben. Implementiert wird das Divisionskettenverfahren.

Inhaltsverzeichnis:

Erklärung III
Inhaltsverzeichnis V
Abbildungsverzeichnis VII
Tabellenverzeichnis IX
Listings X
Symbolverzeichnis XI
Kurzfassung XII
1. Einleitung 1
2. Grundlagen 3
2.1 Euklidischer Algorithmus 3
2.2 Erweiterter euklidischer Algorithmus 3
2.3 Modulare Arithmetik, Restklassen 4
2.3.1 Rechenregeln der modularen Arithmetik 5
2.4 Primzahlen 6
2.5 Chinesischer Restsatz 7
2.6 O-Notation 7
3. Kryptographische Verfahren 8
3.1 Digital Signature Algorithm 9
3.2 ElGamal 10
3.3 Pohlig Hellman 12
3.4 Rabin 12
3.5 RSA 14
3.6 Zusammenfassung 16
4. Modulare Multiplikation 18
4.1 Modulare Multiplikation mit ”Schulmethode“ 18
4.2 Modulare Quadrierung 21
4.3 Rekursiver Multiplikationsalgorithmus 23
4.4 Montgomery-Multiplikation 24
5. Modulare Exponentiation ohne Precalculation 27
5.1 Square and Multiply 27
5.2 Left to Right Binary Method 29
5.3 m-ary Method 31
5.4 Fenstertechnik 36
5.5 Zusammenfassung 40
5.6 Modulare Exponentiation mit der Montgomery-Multiplikation 42
6. Modulare Exponentiation mit Precalculation 45
6.1 Additionsketten 45
6.1.1 Parallelisierung 50
6.2 Divisionsketten 52
6.3 BMGW-Algorithmus 58
6.4 Exponentiation mit chinesischem Restsatz 63
7. Ergebnis 65
8. Implementierung des Divisionskettenverfahrens 68
A. Anhang 73
A.1 Versuchsanordnung Rekursiver Multiplikationsalgorithmus 73
A.2 Tabellierung der Aufwandsfunktionen des BMGW-Algorithmus 81
A.3 Quellcode für die Implementierung des Divisionskettenverfahrens 84
Literaturverzeichnis 104

Automatisiert erstellter Textauszug:

Wie beim m-ary-Verfahren werden auch beim ’Sliding-Window’ zun¨chst die anibi berechnet a und in einer Tabelle gespeichert. Die Anzahl der Multiplikationen f¨r die Berechnung der u nibi a reduziert sich allerdings erheblich. Da die nibi immer ein f¨hrendes Eins-Bit haben, u kann n¨mlich auf die untere H¨lfte der Tabelle verzichtet werden. Um die Tabelle aufzubaua a en, muss a zun¨chst d − 1 mal modular quadriert werden. Dadurch erh¨lt man den ersten a a Tabelleneintrag. Alle weiteren Tabelleneintr¨ge erh¨lt man durch wiederholtes Multiplizieren a a mit a. Vollst¨ndig ist die Tabelle dann nach weiteren 2d−1 − 1 Multiplikationen. Insgesamt a sind f¨r die Berechnung der anibi also d − 1 + 2d−1 − 1 = d − 2 + 2d−1 modulare Multipliu ∗ kationen notwendig. Der Restfaktor anib findet sich eventuell nicht in der Tabelle, da nib∗ k¨rzer als d sein kann. Er muss separat berechnet werden. Erfolgt dies mittels Square and u Multiply, so kann die Berechnung mit der Berechnung der anibi verschr¨nkt werden. Zu den a sowieso ausgef¨hrten Quadrierungen kommen dann nach Abschnitt 5.1 noch durchschnittu [...]

Die Fenstertechnik [3], auch Sliding Window Techniques genannt, basiert auf der m-aryMethode. Auch hier wird der Exponent in gleich große Bl¨cke zerlegt. Allerdings werden o nur Bl¨cke mit f¨hrenden Eins-Bits ausgew¨hlt. Dazu wird ein d-breites ’Fenster’ auf den o u a Exponenten gelegt. Der Fensterinhalt wird dann als Nibble nibi gew¨hlt, wenn das h¨chsta o wertige Bit gleich Eins ist. Anschließend wird das Fenster um d Stellen weiter nach rechts verschoben. Ist das h¨chstwertige Bit wieder Eins, wird erneut ein Nibble gew¨hlt. Wenn o a nicht, wird das Fenster wiederholt um jeweils eine Stelle weiter nach rechts verschoben bis es Eins ist. Betrachtet man Gleichung 5.5, so sieht man, dass f¨hrende Nullbits ubersprungen u ¨ nibi werden k¨nnen, da sie f¨r die Berechnung der a o u keinen Enfluss haben. Allerdings muss f¨r jedes ubersprungene Bit vor der Multiplikation mit anibi einmal quadriert werden. Sei si u ¨ die Anzahl der vor dem Nibble nibi ubersprungenen Bits und z die Anzahl der verbleiben¨ den, niederwertigen Exponentenbits plus der zuvor ubersprungenen Null-Bits, dann wird aus ¨ [...]

Mit Einbeziehung eines verk¨rzten Restnibbles w¨re die Anzahl der Multiplikationen noch u a etwas geringer. Denn die Anzahl der Werte, die das Restnibble annehmen kann, ist geringer als die der anderen Nibbles, und somit die Wahrscheinlichkeit, dass es gleich Null ist, etwas h¨her. Auf diese Betrachtung wird im Folgenden aber verzichtet und mit 5.6 weitergearbeitet. o F¨r einige gr¨ßere Exponenten ist die Gleichung 5.6 ausgewertet worden. Das Ergebnis findet u o sich in Tabelle 5.9 und Abbildung 5.1. Dort kann die optimale Nibblebreite leicht abgelesen werden. Will man die optimalen Nibblebreiten f¨r beliebig lange Exponenten ermitteln, so u lassen sich diese uber die Nullstellenberechnung der ersten Ableitung von 5.6 ermitteln. ¨ Das m-ary-Verfahren mit richtig gew¨hlter Nibblebreite stellt eine erhebliche Verbesserung a gegen¨ber Square-and-Multiply b.z.w. der Bin¨rmethode dar. In Tabelle 5.10 wird die Veru a ringerung der ben¨tigten Multiplikationen prozentual dargestellt. o In Listing 5.2 erkennt man, dass f¨r jeden Wert, den ein Nibble annehmen kann, ein Register u zur Verf¨gung gestellt werden muss. Bei einer Nibblebreite von d sind dies 2d Register. u Abweichend von Listing 5.2 kann das Ergebnis statt in der Variablen erg in Register Null gespeichert werden. Es sind somit insgesamt 2d Register notwendig. [...]

Arbeit zitieren:
Schmidt, Uwe Mai 2005: Schnelle modulare Exponentiation, Hamburg: Diplomica Verlag

Schlagworte:
Kryptographie, Square and Multiply, Fenstertechnik, Additionskette, Divisionskette

Entdecken Sie mehr zum Thema

Elemente der Maß- und Integrationstheorie
Elemente der Maß- und Integrationstheorie Diplomarbeit von Regine Stefanie Martschiske | Juli 2008 | Note 1,3
diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren