800 likes | 997 Views
Sicherer Kanal: von Alice zu Bob. Digitale Signaturen. Einwegfunktion ( one way function). ► Injektive Funktion f: X ! Y mit: 8 x 2 X der Funktionswert f( x ) effizient berechenbar ist und es gibt kein effizientes Verfahren um aus dem Bild y = f( x )
E N D
Sicherer Kanal: von Alice zu Bob Digitale Signaturen
Einwegfunktion (one way function) ►Injektive Funktion f: X ! Y mit: • 8x 2X der Funktionswert f(x) effizient berechenbar ist und • es gibt kein effizientes Verfahren um aus dem Bild y = f(x) das Urbild xzu berechnen. • Einwegeigenschaft beruht im Wesentlichen auf Aussagen zur Effizienz bekannter Algorithmen zur Berechnung der Funktionswerte der Umkehrabbildung • Letztlich unbewiesen, es sind lediglich keine effektiven (in polynomieller Zeit durchführbaren) Verfahren zur Umkehr bekannt. • Faktorisierungsproblem • Diskreter Logarithmus Dr. Wolf Müller
Faktorisierungsproblem • Gegeben zwei große (z.B. 200 Dezimalstellen) Primzahlen p und q • Berechnung des Produkts n=p*q ist einfach, effizient auch für große natürliche Zahlen durchführbar. • Für gegebenes n ist Primfaktorenzerlegung schwierig. • Eines der ältesten Probleme der Zahlentheorie, zu dessen Lösung schon sehr gute Verfahren existieren. (Verfahren des Quadratischen Siebens, für Zahlen mit weniger als 110 Dezimalstellen) • Für große nimmer noch immenser Rechenaufwand. Dr. Wolf Müller
►Diskreter Logarithmus Gegeben Basis a, und n 2N und die Funktion fa: {0,…,n-1} ! {0,…,n-1} mit fa(x)= ax = y modn. • Exponentaionmodulop effizient berechenbar! ►Diskreter Logarithmus: Berechnung der Zahl x zu gegebenem y x=logay modn, sodass gilt: y= ax mod n. • Berechnung des diskreten Logarithmus für große Zahlen sehr aufwändig, (bis heute) keine effektiven Algorithmen bekannt. • In Kryptosystemen häufig große Primzahl qund zugehöriges Galois-Feld GF(q) (Resklassenringmod q)gewählt. • Aufwand für Berechnung des diskreten Logarithmus ungefähr gleich dem zur Faktorisierung wenn n ¼ q. Dr. Wolf Müller
Einwegfunktion mit Falltür Echte Einwegfunktion unbrauchbar für asymmetrische Kryptographie, auch Berechtigte können Umkehrung nicht durchführen. Geheimnis soll Berechtigten von anderen unterscheiden. ►Injektive Funktion f: X ! Y heißt Einwegfunktion mit Falltür • 8x 2X der Funktionswert f(x) effizient berechenbar ist und • es gibt ein effizientes Verfahren zur Berechnung der Umkehrfunktion f -1(y) für alley2 f[X], jedoch das Urbild x vonynicht allein aus dem Zusammenhangy = f(x) bestimmbar ist, sondern dafür zusätzliche Informationen nötig sind. Dr. Wolf Müller
k-te Potenzmodulon • Falls n= p·qProdukt aus zwei großen Primzahlen (Primfaktoren) so besitzt fk(x) = xk = y modneine Falltür (Kenntnis der Primfaktoren) und ist effektiv umkehrbar. • Ohne Kenntnis der Faktorisierung ist für genügend große n (n > 10160) kein effektives Verfahren zur Umkehrung bekannt. RSA Dr. Wolf Müller
Zusammengesetzter Moduln • Wenn n=p·q, mit p qPrimzahlen, dann hat Funktion fg(x) gx mod neine Falltür (Chinesischer Restsatz ist anwendbar). Kryptographie mit diskretem Logarithmus Dr. Wolf Müller
Multiplikativ-inverse Elemente • In modulo-n Arithmetik, hat ein Element a≠0 mit ggT(n,a)=1 ein multiplikativ-inverses Element a-1. • Möglicher Weg es zu finden: 1·a, 2·a, 3·a,… nicht praktikabel für große n. • Andere Möglichkeit durch den Fakt, dassggT(n,a) = 1 = a ·n +b ·a Das obige bedeutet modn: 1 = b ·amodna-1=b. Nutzung des erweiterten euklidischen Algorithmus für Bestimmung von a, b Dr. Wolf Müller
Euler’s f-Funktion • f-Funktion für eine natürliche Zahl n ist definiert als: Anzahl der Zahlen kleiner als n, die teilerfremd zu n sind f(n) = | {z[1,n-1] mit ggT(n,z)=1} | • Für Primzahl p sind alle z < p teilerfremd: f(p) = p – 1. • f(n·m) ist multiplikativ, wenn ggT(n,m)=1 f(n·m) = f(n) · f(m). Dr. Wolf Müller
Euler’s f-Funktion n·2000 Dr. Wolf Müller
Euler’s f-Function Fall n=p ·q, mit p≠q Primzahlen: f(p·q) = (p-1)·(q-1) weil: f(p·q) = [p·q - 1]-(p-1)-(q-1)= f(p ·q) = (p - 1)·(q - 1) Alle möglichen Zahlen Vielfache von p Vielfache von q Dr. Wolf Müller
■ Eulers Theorem af(n) 1 (mod n) 8 a: mit ggT(n,a)=1 Für Primzahl f(p)= p -1 wird die Relation auch “Kleiner Satz von Fermat” genannt. ap-1 1 (mod p), für a[1,p-1] Dr. Wolf Müller
■ Chinesischer Restsatz (Chinese Remainder Theorem) ■ Restklassensatz berechnet eine Zahl xmod n =p·q, wenn die Reste x modulo p und x modulo q bekannt sind. Input: (x mod p) und (x mod q) Ergebnis: (x mod n) mit n=p·q Dr. Wolf Müller
■ Chinesischer Restsatz ggT von zwei natürlichen teilerfremden p und q kann geschrieben werden als: ggT(p,q)= 1 = s·p + t·q, wobei s und t mit dem verallgemeinerten Euklidischen Algorithmus berechnet werden können. Mit ax mod p und bx mod q gegeben, kann abgeleitet werden: x (b·s·p + a·t·q) mod n=p·q Dr. Wolf Müller
Chinesischer Restsatz Lemma: Rest modulop verändert sich nicht beim Übergang zu modulon=p·q. Daher: y mod (p·q) y (mod p) y mod (p·q) y (mod q) Eindeutigkeit: Die Zahl x die mit dem ChinesischenRestsatz berechnet wird, ist eindeutig im Intervall [0, n-1]. Dr. Wolf Müller
RSA • 1978 entwickelt von: RSA: Ronald Rivest, Adi Shamir, Leonard Adleman • Verfahren selbst kein offizieller Standard, aber Bestandteil vieler Standards. • Verwendung in Browsern SSL/TLS, S-Mime, … • Heute de-facto Standard • In USA patentiert • 2000: Patent ausgelaufen Adi Shamir Ronald Rivest Leonard Adleman Dr. Wolf Müller
RSA-Funktionsweise (1) • Wähle zufällig zwei große Primzahlen p, qund berechne n =p·q. n wird RSA-Modul genannt. • Wähle d2[0, n - 1], so dassdrelativ prim (teilerfremd) zu (n) =( p - 1 ) ( q – 1 ) ist.D.h. ggT(d,(n)) =1.z.B.dPrimzahl mitmax(p,q) < d <(n) -1 • Wähle e2[0, n - 1] mit e·d 1 mod (n), d.h. e ist das multiplikative Inverse zu dmodulo(n). • (e, n) ist der öffentliche Schlüssel. • (d, n) ist der geheime Schlüssel. Dr. Wolf Müller
RSA-Funktionsweise (2) • Verschlüsseln eines Klartextes M2[0, n - 1]:E(M) Me mod n. • Entschlüsseln eines Chiffretextes C2[0, n - 1]:D(C) Cd mod n. Sicherheit des RSA-Verfahrens beruht auf Geheimhaltung von p ,q ,(n) Dr. Wolf Müller
■RSA: Satz • Für Schlüsselpaare (e, n) und (d, n), die gemäß 2. und 3. des RSA-Algorithmus gewählt sind gilt:M e·dmodn = M. • RSA für Signaturen: M d·emodn = M. Dr. Wolf Müller
■ Eulers Theorem af(n) 1 (mod n) 8 a: mit ggT(n,a)=1 Für Primzahl f(p)= p -1 wird die Relation auch “Kleiner Satz von Fermat” genannt. ap-1 1 (mod p), für a[1,p-1] Dr. Wolf Müller
RSA: Satz Beweis Wegen 3. e·d = 1 mod(n) , e·d = k· (n) +1 Nehmen Eulers Theorem, nehmen k-te Potenz kN und multiplizieren mit M: Mf(n) 1 (mod n) (Mf(n))k 1k Mk·f(n) 1 (mod n) Mk·f(n)+1 M (mod n) 8M[0,n-1]: n=podern=p·q, p≠q. M e·dmodn = M. Kommutativität M d·emodn = M. Dr. Wolf Müller
RSA Es gelten die folgenden Formeln: Verschlüsseln:C (Me) mod n Entschlüsseln:(Cd) (Me)d mod nM mod n Unterschreiben:S (Md) mod n Überprüfen: (Se) ´(Md)e mod nM mod n Operationen sind rechenintensiv! (z.B.. 1000 x langsamer als IDEA) Dr. Wolf Müller
RSA Implementierung • Klartexte müssen erst in numerische Darstellung transformiert werden • Ver- und Entschlüsselung in N • Algorithmen zur effizienten Primzahlberechung (für 1.) • Zufallszahlengenerator • Miller-Rabin-Test • Algorithmen zur effizienten Berechnung des multiplikativen Inversen (für 3.) • Erweiterter Euklidischer Algorithmus • Effektive Potenzierung großer Zahlen • Wiederholtes Quadrieren und Multiplizieren Dr. Wolf Müller
RSA: Eigenschaften (1) • Ver- und Entschlüsseln = Potenzieren mit festgelegtem Modul n • Oft für öffentlichen Schlüssel (e,n) kleinerer Wert gewählt • Schnelleres Verschlüsseln • Schnelleres Überprüfen von digitalen Signaturen • Modul n » k-Bits: • Operationen mit öffentlichen Schlüssel O(k2) • Operationen die privaten Schlüssel verwendenO(k3) • SchlüsselerzeugungO(k4) (selten) • Praxis: verwendete Werte für e: • 3 (im PEM-Standard empfohlen) • 17 oder 65537=216+1 (X.509-Standard empfohlen) Dr. Wolf Müller
RSA: Eigenschaften (2) • Aufwendige Operationen (Multiplikation) für alle Klartextblöcke • Langsamer als symmetrische Verfahren • DES 1000x schneller als RSA in Hardware • RSA wird nicht zur Verschlüsselung großer Datenmengen genutzt. • RSA für Schlüsselaustausch 128Bit / 256 Bit Dr. Wolf Müller
RSA Modul Schnelligkeit oder Sicherheit? • Großer Modul: • Schwieriger zu Brechen • Größerer Wertebereich • Längere Berechnungszeit • Doppelte Modulgröße 4-fache Zeit für Verschlüsselung (e konstant) 8-fache Zeit für Entschlüsselung (d wächst exponentiell) • 512-Bit RSA-Moulus heute nicht mehr ausreichend • RSA Factoring Challenge: RSA-640 is factored! 2004 • Empfehlung: 1024-Bit • Sicherheitskritische Anwendungen: 2048-Bit Dr. Wolf Müller
RSA: Größe der Primzahlen p,q: n=pq • Für Sicherheit gegen Faktorisierung von n, p,q in der Größenordnung von 100-Dezimalstellen wählen. • Primzahlen sollten sich um einige Ziffern in der Länge unterscheiden, nicht zu dicht bei Wuzel n liegen. • Faktorisierungsangriff: • Ziel: Primfaktorzerlegung einer natürlichen Zahl • Annahme p,q dicht bei • Algorithmus: n = a2 - b2 = (a+b)(a-b), a+b=p, a-b=q • Beginn bei • a wird schrittweise um 1 erhöht bis a2-nQuadratwurzel Dr. Wolf Müller
RSA: Angriff mit gewähltem Kryptotext Alice , Bob • Alice Bob verschlüsselte Nachrichtdie von Angreifer X aufgezeichnet wird. • X bestimmt Zufallszahl r < n und berechnet mit Bobs öffentlichen Schlüssel:Es gilt: X berechnet weiter: und Dr. Wolf Müller
RSA: Angriff mit gewähltem Kryptotext • X veranlasst Bob, Nachricht y zu signieren: • X berechnet: Angreifer X in besitz des Klartexts M. • Unterschiedliche Signier- und Verschlüsselungsschlüsselpaare! • Keine unbekannten Dokumente signieren! Dr. Wolf Müller
RSA-original: Probleme • Winziger Klartext M, kleiner Verschlüsselungsexponete: Problematisch wenn Me < N • Normale Wurzel möglich. • Kurzer Klartext Wörterbuchangriffe möglich. • Abhilfe: Randomisiertes RSA-Padding, Hashfunktionen • ISO 9796 • Optimal AsymmetricEncryptionPadding (OAEP) • ProbabilisticSignatureScheme (PSS) Dr. Wolf Müller
RSA: Fazit • RSA gilt als praktisch sicher. • Vermutung, Faktorisierungsproblem nicht effizient lösbar gilt. • Wichtig: • Richtige Wahl der Modulgröße, sowie p und q zufällig wählen. • RSA als Signaturverfahren: • Dezidierter Signaturschlüssel • Keine unbekannten Texte signieren • Signaturen in Kombination mit Hashverfahren verwenden • RSA ist Teil von PKCS Public-Key CryptographyStandars. Dr. Wolf Müller
ElGamal 1985 von TaherElgamal entwickelt. Asymmetrische Methode für: • Digitale Unterschrift • Schlüsselaustausch basiert auf diskretem Logarithmus. Schlüssel-Setup: • Öffentlich bekannt: Primzahl p und Basis g, g2GF(p). • Jeder Teilnehmer wählt zufällig einen privaten Schlüssel d und berechnet den öffentlichen Schlüssel e=gd mod p. • Zur Verwendung großer Module wird geraten (>512 Bit), so dass der diskrete Logarithmus nicht berechnet werden kann. Dr. Wolf Müller
ElGamal: Digitale Unterschrift Unterzeichner: • Wählt für jede Unterschrift eine zufällige Zahl r[1,p-1], mit ggT(p-1,r)=1. • Berechnetr -1mod (p-1) mit erweitertem Euklidischem Algorithmus. • Berechnet Nachrichtenidentifikationszahl:r = grmodp. • Berechnet Unterschriftselement s für gegebene Nachricht: d·r + r·sM mod p-1 durch Lösung zu: s((M-d·r)·r-1) mod p-1 • Unterschriebene Nachricht ist: (M, r, s). Dr. Wolf Müller
ElGamal: Digitale Unterschrift Überprüfung: • Erhalten unterschriebene Nachricht (M, r, s) und öffentlichen Schlüssel e des Unterzeichners. • Überprüfen, dass gM er·rs (mod p). Angreifer kann diese nicht fälschen! Dr. Wolf Müller
ElGamal: Key Exchange Modul p und Basis g sind öffentlich bekannt. Schlüsselpaar d, (e=gd mod p) ist erzeugt. Sender: • Erhält den öffentlichen Schlüssel des Senders e. • Wählt zufällige Zahl a und berechnet: a = ga mod p. • Berechnet geheimen Session-Key k = ea mod p. • Verschlüsselt eine Nachricht mit irgendeiner symmetrischen Methode mit k: C=f(M,k). • Übermittelt (a,C) zum Empfänger. Dr. Wolf Müller
ElGamal: Key Exchange Empfänger: • Berechnet Session-Key aus a mit privatem Schlüssel d: k =(a d) mod p. • Entschlüsselt die Nachricht: M=f-1(C,k). Bemerkungen: • System entspricht Hybrid-Kryptografie. • Empfänger hat keine Gewissheit über die Herkunft von a, auch, wenn er der Einzige ist der den Session-Key extrahieren kann. • Eine zusätzliche Unterschrift könnte die Authentizität der Nachricht (a,C) beweisen. • Kryptografie mit elliptischen Kurven kommt mit kürzeren Schlüsseln aus. • Verschlüsselung und Signierung effizienter als mit RSA bei vergleichbarer Sicherheit • Gut geeignet für Geräte mit begrenztem Speicher- und Rechenleistungen Smart Cards. Dr. Wolf Müller
Kryptografie mit elliptischen Kurven • EllipticCurveCryptorgaphy (ECC)1985 unabhängig von Neal Koblitz und Victor Miller vorgeschlagen. • Diskretes Logarithmus-Problem (DLP) wird für Gruppen auf elliptischen Kurven als schwieriger angesehen, als das Problem in der multiplikativen Gruppe von Null-verschiedener Elemente im zugrunde liegenden finiten Feld.
DLP in diskreten Feldern GF(p)={1,2,3,…,p-1} Wähle zufälliges y 2 GF Wähle zufälliges x 2 GF gxmod p gymod p Bob Alice Berechne k=(gy)x=gxymod p Berechne k=(gx)y=gxymod p Evil muss gxyaus gx und gyohne Kenntnis von x und y berechnen. Er ist mit DLP in finiten Feldern konfrontiert!
Definition elliptischer Kurven (vereinfacht) • Eine elliptische Kurve über einem Feld F ist gegeben durch die Lösungen einer nonsingulären kubischen Funktion von zwei Variablen, f(x,y) =0. y2=x3 + ax +b Beispiele
Elliptische Kurven auf finiten Zahlen • Betrachten: y2 = x3 + 2x + 3 (mod 5) x = 0 y2 = 3 (mod 5) x = 1 y2 = 6 = 1 y = 1,4 (mod 5) x = 2 y2 = 15 = 0 y = 0 (mod 5) x = 3 y2 = 36 = 1 y = 1,4 (mod 5) x = 4 y2 = 75 = 0 y = 0 (mod 5) • Wir erhalten folgende Punkte auf der Kurve: (1,1) (1,4) (2,0) (3,1) (3,4) (4,0)und den Punkt-Unendlich: Durch Verwendung finiter Felder für Gruppe auf elliptischer Kurve erhalten wir ECDLP, welches schwerer zu lösen ist.
EC: Abelsche Gruppe • Kommutativität:P + Q = Q + P • Assoziativität:(P + Q) + R = P + (Q + R) • 9 neutrales Element 1: P + 1 = 1 + P = P • 9 inverses Element (-P):( -P) + P = P + ( − P) = 1 Gegeben Punkte P,Q in E(p), dann existiert dritter Punkt P+Q in E(p) mit den folgenden Beziehungen 8 P,Q,R 2E(p)
EC: Punktaddition (geometrisch) • Betrachten Kurve y2 = x3 - x + 1 • Wenn P1 und P22 E(p), kann P3 = P1 + P2 siehe Abbildung gefunden werden. • Wenn P + P = 2*P berechnet wird, Verwendung der Tangente. • Wenn kein Schnittpunkt, dann Punkt 1 • Addition ist ausreichend, Punktmultiplikation mit Skalar ist damit implizit gegeben:n*P = P + … + P y P2 P1 x P3
ECC: Elliptic Curve Cryptography • ECC ist asymmetrisches Kryptosystem, wie auch: RSA,und El Gamal. • Nutzer hat Schlüsselpaar (öffentlich/privat). • Viele Verfahren / Protokolle auch in der Variante mit elliptischen Kurven • EllipticCurveDiffie-Hellman Key Exchange ECDHKE • EllipticCurve Digital SignatureAlgorithmECDSA • Relativ analog zu RSA: • RSA: Potenzierung der Nachricht mit priv./öffentl. Schlüssel • ECC: Punktmultiplikation (sukzessive Addition)
ECDLP auf elliptischen Kurven Elliptische Kurve, a, b,E(p), Basispunkt B 2 E(p) Wähle zufälliges 1 < y < p Wähle zufälliges 1 < x < p (x*B) (y*B) Bob Alice Berechne k=(x*(y*B) ) Berechne k=(y*(x*B) ) Evil muss x*y*B aus x*B und y*B ohne Kenntnis von x,y berechnen. Er ist mit ECDLPd.h. auf elliptischer Kurve konfrontiert!
Vergleichbare Schlüssellängen RSA, ECDSA NIST Special Publication 800-57 Recommendation for Key March, 2007 Management – Part 1: General (Revised) http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf Dr. Wolf Müller
ECC: Anwendungen • Resourcenlimitierte Geräte: • Wenig Speicher • Schwache CPU • Anwendungsgebiete? • Mobile Geräte • Drahtlosgeräte • Smartcards z.B. nPA • SSL/TLS • … • Schauen Sie bei eigenen Anwendungen: ECC ist ein interessanter Kandidat: • Schutzziele: • Vertraulichkeit, Integrität, Authentizität, Nicht-Absteitbarkeit • ABER: Kürzere nötige Schlüssellängen • Schellere Ver- / Entschlüsselung, Verifikation • Einsparung: Bandbreite, Speicherplatz • Problem: teilweise patentbehaftet
DSA (Digital Signature Algorithm) • DSS (Digital Signature Standard) wurde 1994 vom National Institute of Standards der USA als Signaturstandard festgelegt. • DSA ist der Algorithmus, DSS der Standard • Viele kritische Stimmen! • Debatte: RSA sollte stattdessen benutzt werden, da Industrie-Quasistandard • Schlüssellänge 1991: 512 Bit , wurde zur Verabschiedung erhöht. • Kryptografisch aber OK. Dr. Wolf Müller
DSA: Voraussetzungen • Beruht auf diskretem Logarithmus. • DSA ist Erweiterung der ElGamal und Schnorr Signaturverfahren • Benötigte Parameter für DSA • Primzahl p der Länge LBit, wobei 512 ≤ L≤1024 und Lein Vielfaches von 64 ist, also 2511+64t < p < 2512+64t mit t ={0, …, 8} • Primfaktorq vonp-1, wobei q 160 Bit lang sein muss. • Wert g = j (p-1) / q mod p, wobei gilt: 0 < j < p-1 und j (p-1) / q mod p > 1 • Geheimer Schlüssel x, mit 0 < x < q • Öffentlicher Schlüssel y = gxmod p • SHA-1 als sichere Hashfunktion. • p, q, undg sind öffentlich bekannt, können von Benutzergruppe verwendet werden. Dr. Wolf Müller
DSA: Verwendung • Signieren einer Nachricht M • Alice generiert Zufallszahl 0< k <q • Alice berechnet: r = (gkmod p) mod q s = k -1 (H(M) + xAr) mod q k -1 ist das multiplikative Inverse vonkmoduloq. Parameter rund s bilden die Signatur(r,s), die Alice an Bob schickt. • Überprüfung durch Bob • Bob prüft generelle Gültigkeit: 1≤ r ≤ q-1 und 1 ≤ s ≤ q-1, ist eine der Bedingungen nicht erfüllt, so ist Signatur ungültig. • Bob beschafft sich öffentlichen Schlüssel yAvon Alice, berechnet: • w = s-1 mod q • u1= H(M) w mod q • u2= r w mod q • v = ( g u1y u2 mod p) mod q Wenn gilt: v=rso ist dieSignatur verifiziert. Dr. Wolf Müller
DSA: Sicherheit • Angreifer, der Alices Unterschrift fälschen möchte, benötigt privaten Schlüssel xA. • Nur yA, p, q, gbekannt xA muss berechnet werden: xA = logg yAmod pDiskreter Logarithmus: • beste bekannte Verfahren benötigen: mehr als sqrt(q) Operationen, also da q > 2159 mehr als 279 Operationen. • Möglicher Angriffspunkt ist Zufallszahlk. • Wenn Angreifer kraten kann, kann er xA berechnen. Für Sicherheit von DSA ist guter Zufallszahlengenerator nötig! Dr. Wolf Müller