Großer Beleg. Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen. Peter Heinzig. 17.

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

Proseminar Schlüsselaustausch (Diffie - Hellman)

Übungen zur Vorlesung Systemsicherheit

Einführung in die asymmetrische Kryptographie

WS 2009/10. Diskrete Strukturen

AES und Public-Key-Kryptographie

4 Kryptologie. Übersicht

7: Grundlagen der Public-Key-Kryptographie

Hintergründe zur Kryptographie

Kryptographische Protokolle

Kryptographie und Komplexität

Public Key Kryptographie

Das Verschlüsseln verstehen

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Public Key Kryptographie

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

6: Public-Key Kryptographie (Grundidee)

Kryptographie und Komplexität

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

Kryptographie mit elliptischen Kurven

WS 2013/14. Diskrete Strukturen

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

Kryptographische Grundlagen

Kryptographie. ein erprobter Lehrgang. AG-Tagung Informatik, April 2011 Alfred Nussbaumer, LSR für NÖ. LSR für NÖ, 28. April 2011 Alfred Nussbaumer

Kryptographie - eine mathematische Einführung

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

Trim Size: 176mm x 240mm Lang ftoc.tex V1-5.Juli :54 P.M. Page 9

Ideen und Konzepte der Informatik Kryptographie

3: Zahlentheorie / Primzahlen

Algorithmen und Datenstrukturen (für ET/IT)

3 Public-Key-Kryptosysteme

4 Der diskrete Logarithmus mit Anwendungen

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

Isomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt

Elliptic Curve Cryptography

Regine Schreier

Betriebssysteme und Sicherheit

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

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

Diskreter Logarithmus und Primkörper

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

IT-Sicherheit Kapitel 4 Public Key Algorithmen

Asymmetrische Algorithmen

Einführung in die Kryptographie ,

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren

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

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Universität Tübingen SS Kryptologie. B. Borchert, D. Reichl. Klausur , (90 min)

Ideen und Konzepte der Informatik Kryptographie Wie funktioniert Electronic Banking? Kurt Mehlhorn

ADS: Algorithmen und Datenstrukturen 2

Kryptographie und Komplexität

Zahlentheorie, Arithmetik und Algebra

Vorlesung Theoretische Informatik (Info III)

Denn es geh t um ihr Geld: Kryptographie

Rechnernetze und Organisation

INFORMATIONSSICHERHEIT

Sicherheit: Fragen und Lösungsansätze

Public Key Kryptographie mit dem RSA Schema. Karsten Fischer, Sven Kauer

6.2 Asymmetrische Verschlüsselung

Einführung in die Kryptographie

Wolfgang Goethe-Universität

Public-Key-Verschlüsselung und Diskrete Logarithmen

7.3 Unizitätslänge. 8 Schlüsselaustausch und öffentliche Schlüssel

Wolfgang Goethe-Universität

SICHERHEITSERWEITERUNG EINES ISDN-GERÄTES DURCH REKON- 1 EINFÜHRUNG FIGURIERBARE LOGIK. Mathias Schmalisch, Hagen Ploog, Dirk Timmermann

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

Angewandte Kryptographie

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Aufgabe der Kryptografie

Vorlesung Datensicherheit. Sommersemester 2010

4 Der diskrete Logarithmus mit Anwendungen

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Komplexitätsabschätzung von hardwareakzelerierten Attacken auf ECC-Kryptoverfahren. Markus Böttger

Einführung in die Kryptographie

Einführung in die Kryptographie

Kryptographie und Komplexität

Universität Tübingen WS 2015/16. Kryptologie. Klausur

Kryptographie und IT-Sicherheit

KRYPTOSYSTEME & RSA IM SPEZIELLEN

Exponentiation: das Problem

Inhaltsverzeichnis. Wolfgang Ertel. Angewandte Kryptographie. ISBN (Buch): ISBN (E-Book):

Diffie-Hellman, RSA, etc.

Kommunikationsalgorithmus RSA

Multiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation

Public-Key-Kryptographie

4 Diskrete Logarithmen und Anwendungen

Kryptologie. Bernd Borchert. Univ. Tübingen SS Vorlesung. Teil 10. Signaturen, Diffie-Hellman

Netzwerktechnologien 3 VO

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Einsatz von Kryptographie zum Schutz von Daten PTB-Seminar, Berlin,

2.4 Diskussion und Literaturempfehlungen Lessons Learned A ufgaben Literatur... 62

Das Versteckspiel mit den Daten : Einführung in die Kryptologie Einführung in die Kryptologie

Asymmetrische Kryptographie u

Einführung in die Kryptographie

Transkript:

Großer Beleg Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen Peter Heinzig 17. Januar 2011 1/23 Peter Heinzig Großer Beleg

Überblick Einleitung 1 Einleitung 2 Übersicht Symmetrische Verfahren Asymmetrische Verfahren 3 4 Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation 5 Syntheseergebnisse Zeitbedarf Vergleich Schluss 2/23 Peter Heinzig Großer Beleg

Einleitung Warum Kryptographie? Schutz vor Wirtschaftsspionage Schutz vor Überwachung Authentizität von Nachrichten 3/23 Peter Heinzig Großer Beleg

Übersicht Symmetrische Verfahren Asymmetrische Verfahren Symmetrische Schlüssel zum ver- und entschlüsseln gleich Beispiele: Cäsar, One-Time-Pad, DES, 3DES, AES Asymmetrische Auch: Public-Key-Verfahren Verschiedene Schlüssel zum ver- und entschlüsseln Beispiele: RSA, El-Gamal, Diffie-Hellman-(Merkle-)Schlüsselaustausch, Rabin-Kryptosystem 4/23 Peter Heinzig Großer Beleg

DES Einleitung Übersicht Symmetrische Verfahren Asymmetrische Verfahren Data-Encryption-Standard, Wettbewerb NIST Rundenbasierende Chiffre Heute: Nutzung von 3DES und AES Rundenfunktion Linke und rechte Seite werden getrennt verarbeitet L i+1 = R i R i+1 = L i P(S(E(R i ) K i )) Hardwareimplementierung FFs, Verdratung, ROM/LUTs, XOR 5/23 Peter Heinzig Großer Beleg

RSA Einleitung Übersicht Symmetrische Verfahren Asymmetrische Verfahren Rivest, Shamir und Adleman, 1977 Sicherheit hängt von Komplexität der Faktorisierung ab Parameter p, q Primzahlen, n = p q d Z ϕ(n), e = d 1 Public Key: n, d Private Key: n, e mod ϕ(n) Verschlüsselung c = m d mod n m = c e mod n = m d e mod n = m 6/23 Peter Heinzig Großer Beleg

El-Gamal Einleitung Übersicht Symmetrische Verfahren Asymmetrische Verfahren Taher El-Gamal, 1985 Sicherheit abhängig vom Diskreter-Logarithmus-Problem Parameter p Primzahl, Erzeugendes Element der Gruppe Z p : g Zufallszahl a, A = g a Public Key: p, g, A Private Key: p, a Verschlüsselung mod p Weitere Zufallszahl: b c = (B = g b, m A b ) mod p m = m A b B p 1 a mod p = m 7/23 Peter Heinzig Großer Beleg

Übersicht Symmetrische Verfahren Asymmetrische Verfahren Diffie-Hellman-Merkle-Schlüsselaustausch Diffie, Hellman, Merkle, 1976 Verfahren zum Schlüsselaustausch Sicherheit abhängig vom Diskreter-Logarithmus-Problem Parameter Ablauf p Primzahl, Erzeugendes Element der Gruppe Z p : g Einigung auf p, g Zufallszahlen: a, b, A = g a, B = g b, Übertragung von A und B s = A b mod p = B a mod p = g a b mod p 8/23 Peter Heinzig Großer Beleg

Kernfunktion PowerMod: a b mod c 9/23 Peter Heinzig Großer Beleg

Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Nutzbare arithmetische Funktionen auf FPGAs Addition, Subtraktion Shiften Multiplikation mit kleinen Faktoren Wie kann man PowerMod auf diese Funktionen reduzieren? Aufsplitten von PowerMod Modulo ist der Rest einer Division und Zifferniterativ berechenbar Exponentiation ist eine Verkettung von Multiplikationen Multiplikationen lassen sich als Vielfachaddition darstellen 10/23 Peter Heinzig Großer Beleg

Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Ansätze zur Reduktion von PowerMod Naiv: Zuerst Exponentiation, dann Modulo Zwischenergebnis wird sehr groß Berechnung ist langsam, Hardwarebedarf hoch Verschiebung der Modulorechnung in die Multiplikationen Operanden bleiben klein schneller, weniger Hardware Aber: MultiplyMod wird als Funktion benötigt Aufsplitten der Exponentiation Naiv: Mehrfache Multiplikationen der Basis mit sich selbst viele Berechnungsschritte (linear) langsam Square-and-Multiply: Berechnung von Quadraten und Multiplikation dieser weniger Berechnungsschritte (logarithmisch) schnell 11/23 Peter Heinzig Großer Beleg

Arten von Square-and-Multiply Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation LSB-first Schrittweise Berechnung über a b mod 2n, a 2n Parallelisierbar (benötigt doppelte Hardware) MSB-first Berechnung über a b 2 n Nicht parallelisierbar 12/23 Peter Heinzig Großer Beleg

Berechnung von MulitplyMod Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Ansätze Naiv: Erst Multiplizieren, dann Modulo Zwischenergebnis doppelt so groß Iteratives Einbinden von Modulo Montgomery-Algorithmus Eigene : MSB-first- Double-and-Add 13/23 Peter Heinzig Großer Beleg

Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Montgomery-Algorithmus Berechnet iterativ a (b mod 2 n ) 2 n mod m Wahl der Korrekturgröße abhängig vom LSB Korrektur des Ergebnisses erforderlich Eigene Berechnet iterativ a b 2 n mod m Wahl der Korrekturgröße abhängig vom MSB Keine Korrektur nötig 14/23 Peter Heinzig Großer Beleg

Berechnungsschritt der Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Vorschrift b a 2 n+1 b = 2a = 2a 2 n + b n+1 a mod m b 2 n + b n+1 a k m Schwierigkeiten Ermittelung des k unter Berücksichtigung möglichst weniger Bitstellen schnelle Addition/Subtraktion bei üblichen Bitbreiten von 1024 Bit 15/23 Peter Heinzig Großer Beleg

Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation Anpassungen Aufweichen der strengen Vorschrift für den Operanden k darf auch um 1 zu klein sein Korrektur des Ergebnisses evtl. nötig Shiften von Modul und 1 Operand Addition/Subtraktion zu einer Reduktion umbauen Vermeiden des langen Carry-Pfades Abschließende (iterative) Aufsummierung nötig Abschließende Berechnungen lassen sich verbinden Parameter Operandenbreite Anzahl der Binärstellen pro Takt (Multiplikation) Anzahl der Binärstellen pro Takt (Addition) 16/23 Peter Heinzig Großer Beleg

Einleitung Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation DIV-LUT module x << + ai b x 6-to-2 Adder << << R1 R2 Abbildung: Multiply-Mod-Design mit Carry-Save- 17/23 Peter Heinzig Großer Beleg

Weitere Module Einleitung Aufsplitten von PowerMod Aufsplitten der Multiplikation Berechnungsschritt der Multiplikation log4prefix Ein Modul zur Bestimmung der höchstwertigen 1 FastShift Ein schneller Shifter, der eine freie Verschiebung von Zwischenergebnissen in 1 Takt ermöglicht reduce6to2 Ein Reduzierer, der 6 Additionsoperanden nimmt und diese zu 2 Operanden verknüpft. Dabei ist keine Carry-Weiterleitung nötig. 18/23 Peter Heinzig Großer Beleg

Syntheseergebnisse Einleitung Syntheseergebnisse Zeitbedarf Vergleich Schluss Auf einem Virtex 5 VFX200T: Hardwarebedarf clk 145,4 MHz SliceReg 15465 SliceLUT 71282 19/23 Peter Heinzig Großer Beleg

Berechnungsdauer für 1024 Bit Syntheseergebnisse Zeitbedarf Vergleich Schluss Takte LUT-Berechnung für Division 128 Shiften des Moduls 1 Multiplikation Multiply-Mod 206 Addition Multiply-Mod 13 Multiply-Mod (Summe) 219 Power-Mod 225409 Zeitbedarf Möglicher Takt: 145,4 MHz Zeitbedarf für 1 Operation mit 1024 Bit-Operanden: = 1, 55 ms 225409 145,4MHz 20/23 Peter Heinzig Großer Beleg

Vergleich Einleitung Syntheseergebnisse Zeitbedarf Vergleich Schluss Design Device Resourcen ms eigenes Virtex5 15465 Reg, 71282 LUT 1,55 Ref1 Virtex2 14334 Slices, 62 18-Mul 2,33 PC Phenom II X4 3,2GHz 3,00 Ref2 XC40250XV 6633 CLBs 11,95 Ref3 Stratix EP1S40 434LE, 13,6k Bits, 4 DSP 26,39 Ref4 Virtex-E 2000-8 1188 Slices 208,00 21/23 Peter Heinzig Großer Beleg

Vor- und Nachteile Einleitung Syntheseergebnisse Zeitbedarf Vergleich Schluss Vorteile Sehr schnell Parametrierbar Auch gerade Module nutzbar Nachteile hoher Hardwareaufwand 22/23 Peter Heinzig Großer Beleg

Danke Einleitung Syntheseergebnisse Zeitbedarf Vergleich Schluss vielen Dank für die Aufmerksamkeit 23/23 Peter Heinzig Großer Beleg