Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe...

576
Algorithmische Kryptographie (WS2012/13) Kapitel 3 Sicherheitsaspekte und Hilfsfunktionen Walter Unger Lehrstuhl für Informatik 1 17:46 Uhr, den 12. Dezember 2012

Transcript of Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe...

Page 1: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Algorithmische Kryptographie (WS2012/13)Kapitel 3

Sicherheitsaspekte und Hilfsfunktionen

Walter Unger

Lehrstuhl für Informatik 1

17:46 Uhr, den 12. Dezember 2012

Page 2: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

(3:2.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Inhalt I

1 EinleitungEinfache Angriffe

2 HilfsfunktionenOAEP-VerfahrenHashfunktionenDefinitionenMerkles-Meta-Methode

3 Weitere AngriffeAbstand der FaktorenSicherheitsaspekte von RSAKann man d bestimmen?

4 Bit-SicherheitKönnen Teilinformationen entschlüsselt werden?Sicherheit des LSBÜberblick und BeweisideeBeweis

5 Bestimmung von PrimzahlenEinleitungEinfacher TestSoloway-StrassenMiller-RabinAgrawal, Kayal und Saxena

Page 3: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 4: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 5: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 6: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 7: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 8: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 9: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 10: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 11: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 12: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 13: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 14: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 15: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 16: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 17: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:1.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff eins gegen RSA

A verwende ERSAe1,n , B verwende ERSA

e2,n und es sei ggT(e1, e2) = 1.

C : m, e1, e2, n A: e1, d1, n B: e2, d2, nm verteilen me1 mod n

me2 mod n

Falls C beiden die gleiche Nachricht sendet, dann ist ein Angriff möglich.Da ggT(e1, e2) = 1 gibt es r , s mit re1 + se2 = 1. Sei o.E.d.A. r < 0.C hat die Nachricht m versendet,d.h. bestimmt: c1 := ERSA

e1,n (m) und c2 := ERSAe2,n (m).

Falls nun c1 6∈ Z∗n , so kann n durch das Bestimmen von ggT(c1, n)faktorisiert werden.Falls aber c1 ∈ Z∗n , so kann c−11 bestimmt werden.Es ergibt sich:

(c−11 )−r c s2 = (me1)r · (me2)s = mre1+se2 ≡ m (mod n)

Page 18: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 19: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 20: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 21: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 22: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 23: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 24: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 25: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 26: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 27: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 28: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:2.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff zwei gegen RSA

Drei Partien Ai (1 6 i 6 3) verwenden ERSA3,ni .

C : m, ei , ni (i ∈ {1, 2, 3} A1: 3, d1, n1 A2: 3, d2, n2 A3: 3, d3, n3m verteilen

m3 mod n1m3 mod n2

m3 mod n3

Es kann wie im oberen Fall entschlüsselt werden, falls alle drei die gleicheNachricht empfangen.Sei ci = ERSA

3,ni (m) = m3 mod ni .Mit dem Chinesischen Restklassensatz(ϕ : Zn1n2n3 → Zn1 ×Zn2 ×Zn3 ) erhält man nun m3.Da m3 < n1n2n3 gilt, kann m eindeutig bestimmt werden.

Page 29: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 30: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 31: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 32: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 33: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 34: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 35: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 36: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 37: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 38: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 39: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 40: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 41: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 42: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 43: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 44: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 45: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 46: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.18) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 47: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.19) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 48: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfache Angriffe (3:3.20) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Angriff drei gegen RSA

A verwende ERSAe,n und DRSA

d,p,q sowohl zum Verschlüsseln als auch zumUnterschreiben.

A: e, d, n B: e, n C : e, nc = me mod n c

Unterschreibe bitte ccd mod n m

So wird dieses System unsicher,selbst wenn A alle gesendeten Nachrichten speichert.Ein Angreifer, der eine verschlüsselte Nachricht c = DRSA

d,p,q(m) kennt, gehtdann wie folgt vor:

C wählt r ∈ Z∗n zufällig.Bestimmt x := c · r e .Fragt A nach der Unterschrift zu x .Dann kennt C : xd ≡ DRSA

d,p,q(x) (mod n).C bestimmt: xd · r−1 ≡ (c · r e)d · r−1 ≡ cd ≡ m (mod n).

Mit einem OAEP Verfahren (optimal asymmetric encription padding)können diese Angriffe verhindert werden.

Page 49: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 50: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 51: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 52: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 53: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 54: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 55: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 56: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 57: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 58: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 59: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 60: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 61: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 62: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 63: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

OAEP-Verfahren (3:4.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

OAEP (optimal asymmetric encryption padding)

Ziel: verhindere Angriffe, die die Gruppenstruktur einesVerschlüsselungsverfahren nutzen.Dieses Verfahren ist schnell, beinhaltet einen Zufallsanteil undes muss nicht viel zusätzliche Information übertragen werden.Dazu werden die folgenden Funktionen mit n = k + l benutzt:Verschlüsselungsfunktion f : D → D mit D ⊂ {0, 1}n

Pseudo-Zufallsgenerator G : {0, 1}k → {0, 1}l

Hashfunktion h : {0, 1}l → {0, 1}k

Sei m die zu verschlüsselnde Nachricht.1 Wähle Zufallszahl r ∈ {0, 1}k .2 Setze nun x =

(m ⊕ G(r)) ◦ (r ⊕ h(m ⊕ G(r)).3 Falls x 6∈ D wiederhole.4 Verschlüssele mit c := f (x).

Sei c die zu entschlüsselnde Nachricht.1 Setze x ′ := f −1(c).2 Bestimme a, b mit x = a ◦ b und|a| = l sowie |b| = k.

3 Bestimme r = h(a)⊕ b.4 Bestimme m = a ⊕ G(r).

Page 64: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 65: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 66: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 67: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 68: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 69: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 70: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 71: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Hashfunktionen (3:5.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Eine Hashfunktion ist eine Funktion h : {0, 1}∗ → {0, 1}k

mit: m 7→ h(m).Diese Funktionen werden z.B. beim Unterschreiben von Texten, zurFehlererkennung oder Datenverwaltung verwendet.Bei den Unterschriften wird statt einer Nachricht m dessen Hashwerth(m) unterschrieben.Eine Kollision bei einer Hashfunktion h tritt auf bei einem Paar (m,m′)falls h(m) = h(m′).

Daher sollten Angreifer nicht in der Lage sein:1 Zu einer Nachricht m eine zweite Nachricht m′ effizient erzeugen zu

können, mit h(m) = h(m′).2 Zwei Nachrichten m und m′ effizient erzeugen zu können, mit

h(m) = h(m′).

Page 72: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 73: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 74: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 75: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 76: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 77: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 78: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Definitionen (3:6.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Hashfunktionen

Definition

Eine Hashfunktion h heisst Zweitnachricht sicher, falls man nicht zu meine zweite Nachricht m′ effizient erzeugen kann, mit h(m) = h(m′).Eine Hashfunktion h heisst kollisionssicher, falls man nicht zweiNachrichten m und m′ effizient erzeugen kann, mit h(m) = h(m′).

LemmaFalls h kollisionssicher ist, dann ist h auch Zweitnachricht sicher.

Zeige: Wenn es effizienten Algorithmus A gibt, der eine Zweitnachrichterzeugt, dann gibt es B, der eine Kollision effizient bestimmt.Der Algorithmus B wählt eine Nachricht m, bestimmt h(m) und ruft dannA auf, um eine zweite Nachricht m′ zu bestimmten mit h(m) = h(m′).Damit reicht es aus, Hashfunktionen zu bestimmen, die kollisionssichersind.

Page 79: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 80: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 81: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 82: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 83: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 84: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 85: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 86: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 87: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 88: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:7.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Im Folgenden werden wir zeigen, dass es ausreicht, kollisionssichereKompressionsfunktionen zu entwickeln.Eine Funktion f : {0, 1}m → {0, 1}n mit m > n wirdKompressionsfunktionen genannt.

Aufbau einer kollisionssicheren Kompressionsfunktion:Ansatz: nutze symmetrische Verfahren.Sei Ek(m) symmetrisches Verfahren mit k ∈ {0, 1}r undm ∈ {0, 1}n.Dann setze: f : {0, 1}n+r → {0, 1}n mit: f (x ◦ y) 7→ Ey (x).Sei weiter g : {0, 1}n → {0, 1}r .Dann setze: f : {0, 1}2n → {0, 1}n mit: f (x ◦ y) 7→ Eg(y)(x)⊕ y .

Nun wird Merkles-Meta-Methode angegeben, die aus einer gegebenenKompressionsfunktionen h : {0, 1}m → {0, 1}n

eine Hashfunktion h : {0, 1}∗ → {0, 1}n bestimmt.

Page 89: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 90: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 91: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 92: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 93: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 94: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 95: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 96: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 97: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 98: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 99: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 100: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 101: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 102: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 103: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 104: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 105: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 106: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:8.18) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methode

Gegeben eine Kompressionsfunktion f : {0, 1}m → {0, 1}n.Sei r = m − n.Zu bestimmen ist eine Hashfunktion h : {0, 1}∗ → {0, 1}n.Sei nun x ∈ {0, 1}∗ eine Eingabe für h mit |x | = k · r .Wir teilen x auf in x = x1x2 . . . xk |xi | = r für i ∈ {1, . . . , k}.Weiterhin kodieren in xk+1 |xk+1| = r die Länge von x .Setze h0 := 0n und bestimme rekursiv:

hi := f (hi−1 ◦ xi) 1 6 i 6 k + 1Dann definieren wir h : {0, 1}∗ → {0, 1}k mit x 7→ hk+1

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Page 107: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:9.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methodeh0 := 0n

hi := f (hi−1 ◦ xi )

LemmaFalls f kollisionssicher ist, dann ist die Hashfunktion h, die mitMerkles-Meta-Methode konstruiert wird, auch kollisionssicher.

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Wir geben einen Algorithmus an, der aus einer Kollision für h eineKollision für f bestimmt.Sei x , x ′ eine Kollision der Funktion h mit:

x = x1x2 . . . xk+1 h1, h2, . . . , hk+1x ′ = x ′1x ′2 . . . x ′k+1 h′1, h′2, . . . , h′k+1

Seien hi und h′i die Werte, wie sie in der Konstruktion auftreten.Damit ergibt sich folgendes Verfahren.

Page 108: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:9.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methodeh0 := 0n

hi := f (hi−1 ◦ xi )

LemmaFalls f kollisionssicher ist, dann ist die Hashfunktion h, die mitMerkles-Meta-Methode konstruiert wird, auch kollisionssicher.

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Wir geben einen Algorithmus an, der aus einer Kollision für h eineKollision für f bestimmt.Sei x , x ′ eine Kollision der Funktion h mit:

x = x1x2 . . . xk+1 h1, h2, . . . , hk+1x ′ = x ′1x ′2 . . . x ′k+1 h′1, h′2, . . . , h′k+1

Seien hi und h′i die Werte, wie sie in der Konstruktion auftreten.Damit ergibt sich folgendes Verfahren.

Page 109: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:9.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methodeh0 := 0n

hi := f (hi−1 ◦ xi )

LemmaFalls f kollisionssicher ist, dann ist die Hashfunktion h, die mitMerkles-Meta-Methode konstruiert wird, auch kollisionssicher.

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Wir geben einen Algorithmus an, der aus einer Kollision für h eineKollision für f bestimmt.Sei x , x ′ eine Kollision der Funktion h mit:

x = x1x2 . . . xk+1 h1, h2, . . . , hk+1x ′ = x ′1x ′2 . . . x ′k+1 h′1, h′2, . . . , h′k+1

Seien hi und h′i die Werte, wie sie in der Konstruktion auftreten.Damit ergibt sich folgendes Verfahren.

Page 110: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:9.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methodeh0 := 0n

hi := f (hi−1 ◦ xi )

LemmaFalls f kollisionssicher ist, dann ist die Hashfunktion h, die mitMerkles-Meta-Methode konstruiert wird, auch kollisionssicher.

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Wir geben einen Algorithmus an, der aus einer Kollision für h eineKollision für f bestimmt.Sei x , x ′ eine Kollision der Funktion h mit:

x = x1x2 . . . xk+1 h1, h2, . . . , hk+1x ′ = x ′1x ′2 . . . x ′k+1 h′1, h′2, . . . , h′k+1

Seien hi und h′i die Werte, wie sie in der Konstruktion auftreten.Damit ergibt sich folgendes Verfahren.

Page 111: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:9.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Merkles-Meta-Methodeh0 := 0n

hi := f (hi−1 ◦ xi )

LemmaFalls f kollisionssicher ist, dann ist die Hashfunktion h, die mitMerkles-Meta-Methode konstruiert wird, auch kollisionssicher.

x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Wir geben einen Algorithmus an, der aus einer Kollision für h eineKollision für f bestimmt.Sei x , x ′ eine Kollision der Funktion h mit:

x = x1x2 . . . xk+1 h1, h2, . . . , hk+1x ′ = x ′1x ′2 . . . x ′k+1 h′1, h′2, . . . , h′k+1

Seien hi und h′i die Werte, wie sie in der Konstruktion auftreten.Damit ergibt sich folgendes Verfahren.

Page 112: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 113: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 114: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 115: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 116: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 117: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 118: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 119: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:10.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Falls |x | 6= |x ′|,Betrachte (hk ◦ xk+1, h′k ◦ x ′k′+1).Es gilt xk+1 6= x ′k′+1.Und damit hk ◦ xk+1 6= h′k ◦ x ′k′+1.Und weiter f (hk ◦ xk+1) = h(x) = h(x ′) = f (h′k ◦ x ′k′+1).Damit ist (hk ◦ xk+1, h′k ◦ x ′k′+1) eine Kollision.Damit gilt von nun an |x | = |x ′| und k = k ′.

Page 120: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 121: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 122: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 123: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 124: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 125: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 126: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 127: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 128: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:11.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′.

Für i := 1 bis k mache:falls hi 6= h′i und hi+1 = h′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Damit gilt von nun an hi = h′i für 1 6 i 6 k + 1.

Page 129: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 130: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 131: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 132: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 133: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 134: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 135: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 136: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 137: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 138: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 139: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:12.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweish0 := 0n

hi := f (hi−1 ◦ xi )x1 x2 x3 x4 x5 x6 x7

h0h0h0h0h0h0h0h0h0h0h0 h1h1h1h1h1h1h1h1h1h1h1 h2h2h2h2h2h2h2h2h2h2h2 h3h3h3h3h3h3h3h3h3h3h3 h4h4h4h4h4h4h4h4h4h4h4 h5h5h5h5h5h5h5h5h5h5h5 h6h6h6h6h6h6h6h6h6h6h6 h7h7h7h7h7h7h7h7h7h7h7

Es gilt nun |x | = |x ′| und k = k ′

und hi = h′i für 1 6 i 6 k + 1.

Für i := 1 bis k − 1 mache:falls xi+1 6= x ′i+1,betrachte (hi ◦ xi+1, h′i ◦ x ′i+1).Analog zum vorherigen Fall:Es gilt: hi ◦ xi+1 6= h′i ◦ x ′i+1.Und weiter: f (hi ◦ xi+1) = hi+1 = h′i+1 = f (h′i ◦ x ′i+1).Damit ist (hi ◦ xi+1, h′i ◦ x ′i+1) eine Kollision.

Beachte die Schleife findet ein i mit xi+1 6= x ′i+1 da x 6= x ′.

Page 140: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 141: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 142: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 143: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 144: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 145: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 146: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 147: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 148: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Merkles-Meta-Methode (3:13.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Bemerkungh0 := 0n

hi := f (hi−1 ◦ xi )Entscheidender Faktor ist die Wahl von n.Beachte das Geburtstagsparadoxon.Die Wahrscheinlichkeit, dass k Hashwerte aus dem Wertebereich m = 2n

keine Kollision haben:

p = p(m, k) = 1mk

k−1∏i=0

(m − i) =k−1∏i=1

(1− 1m ).

Wegen 1− x 6 e−x für x ∈ R gilt

p 6k−1∏i=1

e−1m = e

−1m

∑k−1i=1

i= e

−k(k−1)2m

Damit ist die Wahrscheinlichkeit einer Kollision 1− p.Und 1− p > 1/2 falls k > 1/2(

√1+ 8ln2 ·m + 1).

Damit ist k ≈ 1.18√

m und es sind 2n/2 Werte zu wählen und zuvergleichen, um eine Kollision mit Wahrscheinlichkeit > 1/2 zu finden.Heutzutage werden Hashfunktionen mit 128 bis 160 Bits empfohlen.

Page 149: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 150: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 151: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 152: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 153: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 154: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 155: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 156: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 157: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 158: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 159: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 160: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 161: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 162: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 163: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 164: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 165: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:14.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

p, q sollten nicht nahe beieinander liegenh0 := 0n

hi := f (hi−1 ◦ xi )Angenommen, dies ist doch der Fall:x = (p−q)

2 ist klein, mit p > q.

y = (p+q)2 >

√n und (p+q)

2 ist nurwenig größer als

√n.

Beachte weiter:

( p+q2 )2 − ( p−q

2 )2

= (p+q)24 − (p−q)2

4= p2+q2+2·p·q−(p2+q2−2·p·q)

4= 2·p·q−(−2·p·q)

4= p · q = n

( p+q2 )2 − n = ( p−q

2 )2, bzw.y 2 − n = x2.Dies wird ein perfektes Quadratgenannt.

Führe folgenden Test durch:Für x := d

√ne bis d

√ne+ δ

teste, ob x2 − n = y 2 gilt fürein y ∈ Z.Beachte nun x = p

2 + q2 und

y = p2 −

q2 .

Danach setze: p = x + y undq = x − y .Der Bereich derdurchzuprobierendenSchlüssel ist sehr klein.Das Ziehen der Wurzel erfolgtnur für kleine Zahlen.

Page 166: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 167: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 168: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 169: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 170: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 171: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 172: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:15.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Beachte: (p − 1)(q − 1) ist durch 4 teilbar,denn es ist Produkt zweier gerader Zahlen.Falls ggT(p − 1, q − 1) groß ist:⇒ das kleinste gemeinsame Vielfache u von p − 1, q − 1 ist klein.⇒ eins der e−1 (mod u) kann zur Entschlüsselung verwendet werden.⇒ Suche wird einfach.⇒ wähle p, q so, daß ggT(p − 1, q − 1) klein ist.

Page 173: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 174: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 175: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 176: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 177: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 178: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 179: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 180: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 181: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Abstand der Faktoren (3:16.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

ϕ(n) sollte nicht nur kleine Primfaktoren haben

⇒ Test für alle Kandidaten v von ϕ(n)

⇒ Test, falls (v+1)e eine ganze Zahl ist.

Teste dann, ob cv+1

e Sinn macht (v : Kandidat für ϕ(n))Theoretische Lösung für die beiden letzten Probleme:Wähle eine sichere Primzahl, d.h. auch p−1

2 und q−12 sind Primzahlen.

Beispiele: 83, 107, 10100 − 166517.Sichere Primzahlen sind jedoch schwer zu generieren.Es ist nicht einmal geklärt, ob es unendlich viele davon gibt.

Page 182: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 183: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 184: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 185: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 186: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 187: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:17.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sicherheitsaspekte

Wie sicher ist RSA?

1 Lässt sich beispielsweise RSA ohne Faktorisierung knacken?2 Kann man ϕ(n) bestimmen?3 Kann man d bestimmen?4 Kann man bestimmen, ob das letzte Bit von w gleich 1 ist?5 Kann man testen, ob w < n

2 gilt?

Page 188: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 189: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 190: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 191: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 192: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 193: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 194: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 195: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheitsaspekte von RSA (3:18.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man ϕ(n) bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls ϕ(n) berechnet werden kann, dann kann p, q bestimmt werden.

Beweis.

ϕ(n) = (p − 1)(q − 1)⇒ p + q = n − ϕ(n) + 1√(p + q)2 − 4n =

√2n + p2 + q2 − 4n

=√

p2 + q2 − 2n

=√

(p − q)2

= p − qn−ϕ(n)+1+

√(n−ϕ(n)+1)2−4n2 = p

Page 196: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 197: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 198: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 199: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 200: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 201: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 202: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:19.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Kann man d bestimmen?n := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nLemma

Falls d berechnet werden kann, gibt es ein probabilistisches Verfahren, das p, qbestimmt.

Vorgehen

Bekannt ist e, d , n. Das Ziel ist die Bestimmung von p und q.Wähle ein w mit 1 6 w 6 nVersuche, n mit w zu faktorisieren (Verfahren kommt später).Dies wird mit einer Wahrscheinlichkeit > 0, 5 gelingen.Dann ist die Wahrscheinlichkeit, nach k Tests ein passendes w gefundenzu haben: 1− 2−k .Das Verfahren kann deterministisch gemacht werden.

Page 203: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:20.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Falls ggT(w , n) > 1, dann faktorisiere n mit dem Algorithmus von Euklid.Falls w 6≡ ±1 (mod n) und w2 ≡ 1 (mod n), dann gilt:

(w + 1) · (w − 1) wird von n geteiltund (w + 1), (w − 1) werden nicht von n geteilt

=⇒ ggT(w + 1, n) liefert p oder q.Falls die oben genannten Schritte erfolglos, führe folgende Schritte aus.

Page 204: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:20.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Falls ggT(w , n) > 1, dann faktorisiere n mit dem Algorithmus von Euklid.Falls w 6≡ ±1 (mod n) und w2 ≡ 1 (mod n), dann gilt:

(w + 1) · (w − 1) wird von n geteiltund (w + 1), (w − 1) werden nicht von n geteilt

=⇒ ggT(w + 1, n) liefert p oder q.Falls die oben genannten Schritte erfolglos, führe folgende Schritte aus.

Page 205: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:20.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Falls ggT(w , n) > 1, dann faktorisiere n mit dem Algorithmus von Euklid.Falls w 6≡ ±1 (mod n) und w2 ≡ 1 (mod n), dann gilt:

(w + 1) · (w − 1) wird von n geteiltund (w + 1), (w − 1) werden nicht von n geteilt

=⇒ ggT(w + 1, n) liefert p oder q.Falls die oben genannten Schritte erfolglos, führe folgende Schritte aus.

Page 206: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:20.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Falls ggT(w , n) > 1, dann faktorisiere n mit dem Algorithmus von Euklid.Falls w 6≡ ±1 (mod n) und w2 ≡ 1 (mod n), dann gilt:

(w + 1) · (w − 1) wird von n geteiltund (w + 1), (w − 1) werden nicht von n geteilt

=⇒ ggT(w + 1, n) liefert p oder q.Falls die oben genannten Schritte erfolglos, führe folgende Schritte aus.

Page 207: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 208: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 209: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 210: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 211: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 212: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:21.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Verfahrenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

ed − 1 = 2s r mit s > 1 und r ungerade.Da ed − 1 ein Vielfaches von ϕ(n) ist, gilt: w2s r ≡ 1 (mod n).

Bestimme kleinstes s ′(0 6 s ′ 6 s) mit w2s′ r ≡ 1 (mod n).

Falls nun s ′ > 0 und w2s′−1r 6≡ −1 (mod n), so gehe analog zum Fall 2.vor (Faktorisierung ist möglich).

Andernfalls gilt w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für eint, 0 6 t < s (d.h. t = s ′ − 1) und der Algorithmus verwirft w(Faktorisierung nicht möglich).

Page 213: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 214: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 215: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 216: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 217: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 218: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 219: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 220: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 221: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:22.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeit des Verfahrensn := p · q

ϕ(n) = (p − 1)(q − 1)w r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir bestimmen nun die Wahrscheinlichkeit dafür, dass ein w verworfen

wird.Setze dazu:p − 1 = 2i a, q − 1 = 2jb mit a, b ungerade und i 6 j.Da 2s r ein Vielfaches von ϕ(n) ist, gilt, dass r ein Vielfaches von ab ist.Falls nun t > i , dann ist 2tr ein Vielfaches von p − 1

⇒ w2t r ≡ 1 (mod p)

⇒ w2t r 6≡ −1 (mod p)

⇒ w2t r 6≡ −1 (mod n)

Damit tritt der Fall t > i hier nicht auf.

Page 222: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 223: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 224: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 225: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 226: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 227: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 228: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 229: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:23.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t < i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.Betrachte: w r ≡ 1 mod n.Sei g ein Generator für F ?(p) (d.h. g erzeugt 1, . . . , p) und seiw ≡ gu mod p.Dann gilt w r ≡ 1 mod p ⇐⇒ ur = 0 mod p − 1.Die Anzahl der Lösungen ist ggT(r , p − 1) = a(analog ggT(r , q − 1) = b).Damit hat w r ≡ 1 mod n a · b viele Lösungen.

Page 230: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:24.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t 6 i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.w r ≡ 1 mod n hat a · b Lösungen.Betrachte nun: w2t r 6≡ −1 mod n.

Anzahl der Lösungen von

w2t+1r ≡ 1 (mod p) ist ggT(2t+1r , p − 1) = 2t+1a

w2t r ≡ 1 (mod p) ist ggT(2tr , p − 1) = 2taBeachte: t + 1 6 i

w2t r ≡ −1 (mod p) ist 6 2taBeachte: t + 1 6 i 6 j

w2t r ≡ −1 (mod n) ist 6 2ta · 2tb = 22tab

Page 231: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:24.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t 6 i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.w r ≡ 1 mod n hat a · b Lösungen.Betrachte nun: w2t r 6≡ −1 mod n.

Anzahl der Lösungen von

w2t+1r ≡ 1 (mod p) ist ggT(2t+1r , p − 1) = 2t+1a

w2t r ≡ 1 (mod p) ist ggT(2tr , p − 1) = 2taBeachte: t + 1 6 i

w2t r ≡ −1 (mod p) ist 6 2taBeachte: t + 1 6 i 6 j

w2t r ≡ −1 (mod n) ist 6 2ta · 2tb = 22tab

Page 232: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:24.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t 6 i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.w r ≡ 1 mod n hat a · b Lösungen.Betrachte nun: w2t r 6≡ −1 mod n.

Anzahl der Lösungen von

w2t+1r ≡ 1 (mod p) ist ggT(2t+1r , p − 1) = 2t+1a

w2t r ≡ 1 (mod p) ist ggT(2tr , p − 1) = 2taBeachte: t + 1 6 i

w2t r ≡ −1 (mod p) ist 6 2taBeachte: t + 1 6 i 6 j

w2t r ≡ −1 (mod n) ist 6 2ta · 2tb = 22tab

Page 233: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:24.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t 6 i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.w r ≡ 1 mod n hat a · b Lösungen.Betrachte nun: w2t r 6≡ −1 mod n.

Anzahl der Lösungen von

w2t+1r ≡ 1 (mod p) ist ggT(2t+1r , p − 1) = 2t+1a

w2t r ≡ 1 (mod p) ist ggT(2tr , p − 1) = 2taBeachte: t + 1 6 i

w2t r ≡ −1 (mod p) ist 6 2taBeachte: t + 1 6 i 6 j

w2t r ≡ −1 (mod n) ist 6 2ta · 2tb = 22tab

Page 234: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:24.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Es ist nur noch folgende Situation zu betrachten:

w r ≡ 1 (mod n) oder w2t r ≡ −1 (mod n) für ein t, 0 6 t 6 i

Bestimme nun jeweils, für wieviele w die Bedingungen erfüllt werden.w r ≡ 1 mod n hat a · b Lösungen.Betrachte nun: w2t r 6≡ −1 mod n.

Anzahl der Lösungen von

w2t+1r ≡ 1 (mod p) ist ggT(2t+1r , p − 1) = 2t+1a

w2t r ≡ 1 (mod p) ist ggT(2tr , p − 1) = 2taBeachte: t + 1 6 i

w2t r ≡ −1 (mod p) ist 6 2taBeachte: t + 1 6 i 6 j

w2t r ≡ −1 (mod n) ist 6 2ta · 2tb = 22tab

Page 235: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:25.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir fassen zusammen:

ab + abi−1∑t=0

22t = ab(1+i−1∑t=0

4t) = ab(1+ 4i − 13 )

= ab(2322i−1 +

23 ) 6 ab(232

i+j−1 +23 )

= ab(2i+j−1 +13 (2− 2i+j−1))

6 ab2i+j−1 =ϕ(n)2

=⇒ 50 Prozent aller w ’s werden verworfen.

Page 236: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:25.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir fassen zusammen:

ab + abi−1∑t=0

22t = ab(1+i−1∑t=0

4t) = ab(1+ 4i − 13 )

= ab(2322i−1 +

23 ) 6 ab(232

i+j−1 +23 )

= ab(2i+j−1 +13 (2− 2i+j−1))

6 ab2i+j−1 =ϕ(n)2

=⇒ 50 Prozent aller w ’s werden verworfen.

Page 237: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Kann man d bestimmen? (3:25.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fehlerwahrscheinlichkeitϕ(n) = (p − 1)(q − 1)

p − 1 = 2i a, q − 1 = 2j b.i 6 jw r ≡ 1 (mod n) ∨ w2t r ≡ −1 (mod n)Wir fassen zusammen:

ab + abi−1∑t=0

22t = ab(1+i−1∑t=0

4t) = ab(1+ 4i − 13 )

= ab(2322i−1 +

23 ) 6 ab(232

i+j−1 +23 )

= ab(2i+j−1 +13 (2− 2i+j−1))

6 ab2i+j−1 =ϕ(n)2

=⇒ 50 Prozent aller w ’s werden verworfen.

Page 238: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:26.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Angenommen, es gibt Orakel H mit H(e, n, x e mod n) = 1⇐⇒ x < n2 .

Idee: Halbierungssuche unter Verwendung von H.Verwende Werte:x e mod n = x e mod n2ex e mod n = (2x)e mod n4ex e mod n = (4x)e mod n8ex e mod n = (8x)e mod n16ex e mod n = (16x)e mod n

Damit wird dann durch Binärsuche das Intervall, in dem x liegt, immerweiter eingeschränkt.

Page 239: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:26.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Angenommen, es gibt Orakel H mit H(e, n, x e mod n) = 1⇐⇒ x < n2 .

Idee: Halbierungssuche unter Verwendung von H.Verwende Werte:x e mod n = x e mod n2ex e mod n = (2x)e mod n4ex e mod n = (4x)e mod n8ex e mod n = (8x)e mod n16ex e mod n = (16x)e mod n

Damit wird dann durch Binärsuche das Intervall, in dem x liegt, immerweiter eingeschränkt.

Page 240: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:26.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Angenommen, es gibt Orakel H mit H(e, n, x e mod n) = 1⇐⇒ x < n2 .

Idee: Halbierungssuche unter Verwendung von H.Verwende Werte:x e mod n = x e mod n2ex e mod n = (2x)e mod n4ex e mod n = (4x)e mod n8ex e mod n = (8x)e mod n16ex e mod n = (16x)e mod n

Damit wird dann durch Binärsuche das Intervall, in dem x liegt, immerweiter eingeschränkt.

Page 241: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:26.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Angenommen, es gibt Orakel H mit H(e, n, x e mod n) = 1⇐⇒ x < n2 .

Idee: Halbierungssuche unter Verwendung von H.Verwende Werte:x e mod n = x e mod n2ex e mod n = (2x)e mod n4ex e mod n = (4x)e mod n8ex e mod n = (8x)e mod n16ex e mod n = (16x)e mod n

Damit wird dann durch Binärsuche das Intervall, in dem x liegt, immerweiter eingeschränkt.

Page 242: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:26.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Angenommen, es gibt Orakel H mit H(e, n, x e mod n) = 1⇐⇒ x < n2 .

Idee: Halbierungssuche unter Verwendung von H.Verwende Werte:x e mod n = x e mod n2ex e mod n = (2x)e mod n4ex e mod n = (4x)e mod n8ex e mod n = (8x)e mod n16ex e mod n = (16x)e mod n

Damit wird dann durch Binärsuche das Intervall, in dem x liegt, immerweiter eingeschränkt.

Page 243: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 244: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 245: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 246: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 247: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 248: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 249: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 250: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 251: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 252: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 253: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 254: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 255: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 256: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 257: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 258: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 259: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 260: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.18) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 261: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.19) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 262: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.20) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 263: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.21) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 264: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.22) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 265: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.23) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 266: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.24) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 267: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.25) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 268: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.26) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 269: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.27) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 270: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.28) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 271: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.29) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 272: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.30) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 273: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.31) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 274: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.32) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 275: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.33) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 276: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.34) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 277: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:27.35) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: < n/2:

xe 7→ (2x)e mod n:

2.Orakel < n/2:

xe 7→ (2x)e mod n:

3.Orakel > n/2:

xe 7→ (2x)e mod n:

4.Orakel < n/2:

xe 7→ (2x)e mod n:

5.Orakel > n/2:

xe 7→ (2x)e mod n:

6.Orakel < n/2:

xe 7→ (2x)e mod n:

7.Orakel > n/2:

Page 278: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 279: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 280: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 281: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 282: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 283: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 284: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 285: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 286: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 287: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Können Teilinformationen entschlüsselt werden? (3:28.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x < n2

n := p · qϕ(n) = (p − 1)(q − 1)

c = we mod nw = cd mod n

Verfahren:1 Eingabe: e, n und c mit c = x e mod n2 Setze a = 0 und b = n − 1.3 Solange a < b gilt, mache

1 Falls Orakel(c) antwortet x 6 n/2dann b = b a+b

2 csonst a = d a+b

2 e2 Setze c = (2e · c) mod n.

Falls der letzte Test 2yex e mod n ist undfalls das Orakel als Ergebnis eine Folge a1a2 . . . ay lieferte,dann ist x im i-ten Intervall der Größe 2−y−1n, mit i = bin(a1 . . . ay ).

Page 288: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 289: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 290: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 291: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 292: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 293: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 294: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 295: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 296: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 297: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:29.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Orakel für x geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Idee: Versuche x bitweise zu bestimmen.Falls x gerade ist, teile trickreich durch 2.Falls x ungerade ist, teile x − 1 durch 2.Falls x ungerade ist, teile n − x durch 2.Es taucht das Problem auf, wie x durch 2 geteilt werden kann.Sei dazu k das Inverse von 2e ,d.h. k hat die Form he ≡ k mod n mit 2ek ≡ 1 mod n.Dann kann x wie folgt „halbiert” werden (x gerade):

kx e ≡ he · x e ≡ (h · x)e (mod n)

Page 298: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 299: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 300: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 301: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 302: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 303: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 304: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 305: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 306: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 307: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 308: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 309: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 310: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 311: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 312: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 313: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 314: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 315: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.18) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 316: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.19) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 317: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.20) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 318: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.21) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 319: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.22) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 320: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.23) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 321: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.24) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 322: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.25) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 323: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.26) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 324: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.27) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 325: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.28) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 326: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.29) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 327: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.30) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 328: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.31) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 329: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:30.32) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Idee Orakel für x ist geraden := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

Eingabe: xe mod n

1.Orakel: x gerade:

xe 7→ (x/2)e mod n:

2.Orakel: x gerade:

xe 7→ (x/2)e mod n:

3.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

4.Orakel: x gerade:

xe 7→ (n/2)e mod n:

5.Orakel: x ungerade:

xe 7→ (n − x)e mod n:

xe 7→ ((n − x)/2)e mod n:

6.Orakel: x gerade:

xe 7→ ((n − x)/2)e mod n:

7.Orakel: x gerade:

Page 330: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 331: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 332: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 333: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 334: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 335: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 336: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:31.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod n

n bestehe aus N Bits.bin(x) ist die Binärdarstellung von x mit führender 1.int(w) ist die Zahl mit der Binärdarstellung w .|w | ist die Länge von w (Anzahl der Bits).Falls int(t) > int(u), dann sindLast(t − u) die letzten |u| Bits von bin(int(t)− int(u)).Beispiel:Last(1011011− 1010111) = 0000100 und Last(1011011− 111) = 100.

Page 337: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 338: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 339: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 340: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 341: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 342: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:32.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenn := p · q

ϕ(n) = (p − 1)(q − 1)c = we mod nw = cd mod nFolgende Werte werden im Algorithmus verwendet:

r(i) : Folge von w ′e mod n (Anfragen)ans(i) : Antwort des Orakels auf r(i).t(i) : Folge von w ′, die w = x ergeben.Diese Zielfolge konvergiert gegen die Lösung.r(i) wird aus r(i − 1) bestimmt.t(i − 1) wird aus t(i) und ans(i − 1) bestimmt.

Page 343: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:33.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmusr(i)=̂w′e mod n Anfragen

ans(i)=̂ Antworten des Orakelst(i)=̂ Zielfolger(1) = x e mod n (Krypttext).

ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).

Page 344: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:33.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmusr(i)=̂w′e mod n Anfragen

ans(i)=̂ Antworten des Orakelst(i)=̂ Zielfolger(1) = x e mod n (Krypttext).

ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).

Page 345: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:33.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmusr(i)=̂w′e mod n Anfragen

ans(i)=̂ Antworten des Orakelst(i)=̂ Zielfolger(1) = x e mod n (Krypttext).

ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).

Page 346: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:33.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmusr(i)=̂w′e mod n Anfragen

ans(i)=̂ Antworten des Orakelst(i)=̂ Zielfolger(1) = x e mod n (Krypttext).

ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).

Page 347: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:33.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmusr(i)=̂w′e mod n Anfragen

ans(i)=̂ Antworten des Orakelst(i)=̂ Zielfolger(1) = x e mod n (Krypttext).

ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).

Page 348: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49

0

2

49 · 52 ≡ 18 0

3

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 349: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49

0

2

49 · 52 ≡ 18 0

3

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 350: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49

0

2

49 · 52 ≡ 18 0

3

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 351: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02

49 · 52 ≡ 18 0

3

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 352: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18

0

3

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 353: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03

18 · 52 ≡ 1 1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 354: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1

1

4

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 355: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14

(55− 1) · 52 ≡ 54 · 52 ≡ 3 1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 356: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3

1

5

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 357: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3 15

(55− 3) · 52 ≡ 52 · 52 ≡ 9 0

6

9 · 52 ≡ 28 1

Page 358: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3 15 (55− 3) · 52 ≡ 52 · 52 ≡ 9

0

6

9 · 52 ≡ 28 1

Page 359: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3 15 (55− 3) · 52 ≡ 52 · 52 ≡ 9 06

9 · 52 ≡ 28 1

Page 360: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3 15 (55− 3) · 52 ≡ 52 · 52 ≡ 9 06 9 · 52 ≡ 28

1

Page 361: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:34.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i)1 49 02 49 · 52 ≡ 18 03 18 · 52 ≡ 1 14 (55− 1) · 52 ≡ 54 · 52 ≡ 3 15 (55− 3) · 52 ≡ 52 · 52 ≡ 9 06 9 · 52 ≡ 28 1

Page 362: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:35.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmus (2.Teil)r(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Die Zielfolge wird wie folgt aufgebaut:t(N) = ans(N)

Falls t(i) gegeben ist, dann ergibt sich t(i − 1) nach

t(i − 1) =

{ t(i)0 ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > n

Page 363: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:35.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmus (2.Teil)r(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Die Zielfolge wird wie folgt aufgebaut:t(N) = ans(N)

Falls t(i) gegeben ist, dann ergibt sich t(i − 1) nach

t(i − 1) =

{ t(i)0 ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > n

Page 364: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:35.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Algorithmus (2.Teil)r(i) =

{r(i − 1)k mod n ; falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Die Zielfolge wird wie folgt aufgebaut:t(N) = ans(N)

Falls t(i) gegeben ist, dann ergibt sich t(i − 1) nach

t(i − 1) =

{ t(i)0 ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > n

Page 365: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1

1

5 52 · 52 ≡ 9 0

10

4 54 · 52 ≡ 3 1

Last(110111− 100) = 011

3 18 · 52 ≡ 1 1

Last(110111− 0110) = 0001

2 49 · 52 ≡ 18 0

00010

1 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 366: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0

10

4 54 · 52 ≡ 3 1

Last(110111− 100) = 011

3 18 · 52 ≡ 1 1

Last(110111− 0110) = 0001

2 49 · 52 ≡ 18 0

00010

1 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 367: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1

Last(110111− 100) = 011

3 18 · 52 ≡ 1 1

Last(110111− 0110) = 0001

2 49 · 52 ≡ 18 0

00010

1 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 368: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1 Last(110111− 100) = 0113 18 · 52 ≡ 1 1

Last(110111− 0110) = 0001

2 49 · 52 ≡ 18 0

00010

1 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 369: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1 Last(110111− 100) = 0113 18 · 52 ≡ 1 1 Last(110111− 0110) = 00012 49 · 52 ≡ 18 0

00010

1 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 370: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1 Last(110111− 100) = 0113 18 · 52 ≡ 1 1 Last(110111− 0110) = 00012 49 · 52 ≡ 18 0 000101 49 0

000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 371: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1 Last(110111− 100) = 0113 18 · 52 ≡ 1 1 Last(110111− 0110) = 00012 49 · 52 ≡ 18 0 000101 49 0 000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 372: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Sicherheit des LSB (3:36.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielt(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > nn = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49

Man erhält folgende Werte:

i r(i) ans(i) t(i)6 9 · 52 ≡ 28 1 15 52 · 52 ≡ 9 0 104 54 · 52 ≡ 3 1 Last(110111− 100) = 0113 18 · 52 ≡ 1 1 Last(110111− 0110) = 00012 49 · 52 ≡ 18 0 000101 49 0 000100

Es gilt: bin(000100) = 4 und 47 ≡ 49 mod n.

Page 373: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:37.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Zusammenfassung

r(1) = x e mod n (Krypttext).ans(1) = Antwort des Orakels auf r(1).Falls r(i − 1) und ans(i − 1) gegeben sind:

r(i) ={

r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

Es gilt für 1 6 i 6 N: ans(i) ist Antwort des Orakels auf Anfrage r(i).t(N) = ans(N)

Falls t(i) gegeben ist, dann ergibt sich t(i − 1) nach

t(i − 1) =

{ t(i)0 ans(i − 1) = 0Last(bin(n)− t(i)0) ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ans(i − 1) = 1 ∧ int(t(i)0) > n

Page 374: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:38.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Ergebnis

SatzEs gilt: int(t(1)) = x.

Beweisidee:Untersuche die Folge von Verschlüsselungen, die den Anfragen t(i)entsprechen.Bestimme dann bei dieser Folge, wie die Bits immer weiter bestimmtwerden.

Page 375: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:38.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Ergebnis

SatzEs gilt: int(t(1)) = x.

Beweisidee:Untersuche die Folge von Verschlüsselungen, die den Anfragen t(i)entsprechen.Bestimme dann bei dieser Folge, wie die Bits immer weiter bestimmtwerden.

Page 376: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:38.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Ergebnis

SatzEs gilt: int(t(1)) = x.

Beweisidee:Untersuche die Folge von Verschlüsselungen, die den Anfragen t(i)entsprechen.Bestimme dann bei dieser Folge, wie die Bits immer weiter bestimmtwerden.

Page 377: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 378: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 379: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 380: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 381: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 382: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Überblick und Beweisidee (3:39.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Notationenr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

Für 1 6 i 6 N setze u(i) durch:

u(i)e ≡ r(i) mod n, 0 < u(i) < n

Beachte: u(i) existiert und kann konstruiert werden:

u(1) ≡ r(1) = x e mod n⇒ u(1) = xund 2er(i) ≡ ±r(i − 1) mod n

Weiter setzen wir:

v(i) = 0jbin(u(i)) mit j = N − |bin(u(i))|

Damit gilt j > 0, da u(i) < n und weiter gilt |v(i)| = N.Wir zeigen nun induktiv für N > i > 1:

∃w(i) mit v(i) = w(i)t(i)

Page 383: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 384: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 385: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 386: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 387: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 388: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:40.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)Induktionsanfang: i = N

Da |t(N)| = 1, untersuchen wir das letzte Bit.Letztes Bit von v(N) ist gleich letztes Bit von bin(u(N)).Damit erhalten wir: t(N) = ans(N).

Induktionsschritt: i → i − 1 für i > 2

1.Fall: ans(i − 1) = 02.Fall: ans(i − 1) = 1

Page 389: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 390: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 391: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 392: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 393: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 394: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 395: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 396: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 397: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 398: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:41.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Falls bin(u(i − 1)) 6= bin(2u(i))

⇒ u(i − 1) = 2u(i)− n⇒ u(i − 1) ist ungerade

⇒ ans(i − 1) = 1

Das ist eine Widerspruch zur Annahme ans(i − 1) = 0.

Page 399: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:42.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Es gilt: bin(u(i − 1)) = bin(2u(i))

I.V.: ∃w(i) mit v(i) = w(i)t(i)⇒ v(i − 1) = w(i − 1)t(i)0 = w(i − 1)t(i − 1)

mit 0w(i − 1) = w(i)

Page 400: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:42.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Es gilt: bin(u(i − 1)) = bin(2u(i))

I.V.: ∃w(i) mit v(i) = w(i)t(i)⇒ v(i − 1) = w(i − 1)t(i)0 = w(i − 1)t(i − 1)

mit 0w(i − 1) = w(i)

Page 401: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:42.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

1.Fall: ans(i − 1) = 0r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)⇒ r(i) = (r(i − 1)k) mod n

⇒ r(i − 1) ≡ 2er(i) mod n≡ 2eu(i)e mod n≡ (2u(i))e mod n

⇒ u(i − 1) ≡ 2(u(i)) mod n

Es gilt: bin(u(i − 1)) = bin(2u(i))

I.V.: ∃w(i) mit v(i) = w(i)t(i)⇒ v(i − 1) = w(i − 1)t(i)0 = w(i − 1)t(i − 1)

mit 0w(i − 1) = w(i)

Page 402: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 403: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 404: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 405: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 406: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 407: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 408: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:43.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

2.Fall: ans(i − 1) = 1r(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Analoge Rechnung zum ersten Fall:(Beachte, dass e ungerade ist)

⇒ r(i − 1) ≡ −2er(i) ≡ −2eu(i)e ≡ (−2u(i))e mod n⇒ u(i − 1) = (−2u(i)) mod n

Falls n > 2u(i)

⇒ v(i − 1) = w(i − 1)Last(bin(n)− t(i)0)= w(i − 1)t(i − 1)

Falls n < 2u(i)

⇒ v(i − 1) = w(i − 1)Last(t(i)0− bin(n))= w(i − 1)t(i − 1)

Page 409: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 410: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 411: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 412: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 413: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 414: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:44.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beweisr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

Für i = 1 erhält man:

Beachte, dass |t(1)| = N:⇒ v(1) = t(1) und w(1) = ε

⇒ int(v(1)) = x⇒ int(t(1)) = x

Page 415: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001

1 000001

2 49 · 52 ≡ 18 0 00010

2 000010

1 49 0 000100

4 000100

Es gilt also 47 ≡ 49 mod n.

Page 416: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001

1 000001

2 49 · 52 ≡ 18 0 00010

2 000010

1 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 417: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001

1 000001

2 49 · 52 ≡ 18 0 00010

2 000010

1 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 418: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001

1 000001

2 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 419: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001

1 000001

2 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 420: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 421: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011

27 011011

3 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 422: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 423: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10

14 001110

4 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 424: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 425: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1

7 000111

5 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 426: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 427: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 428: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.14) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 429: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.15) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 430: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.16) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 431: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.17) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 432: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Beweis (3:45.18) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Beispielr(i) =

{r(i − 1)k mod n falls ans(i − 1) = 0(n − r(i − 1))k mod n falls ans(i − 1) = 1

t(i − 1) =

{t(i)0 ; ans(i − 1) = 0Last(bin(n)− t(i)0) ; ans(i − 1) = 1 ∧ int(t(i)0) < nLast(t(i)0− bin(n)) ; ans(i − 1) = 1 ∧ int(t(i)0) > n

u(i)e ≡ r(i) mod nv(i) = 0j bin(u(i))

Zeigen:∃w(i) mit v(i) = w(i)t(i)

n = 55, e = 7,N = 6 und bin(n) = 110111, k = 52, x e = 49Man erhält folgende Werte:

i r(i) ans(i) t(i) u(i) v(i)6 9 · 52 ≡ 28 1 1 7 0001115 52 · 52 ≡ 9 0 10 14 0011104 54 · 52 ≡ 3 1 Last(110111− 100) = 011 27 0110113 18 · 52 ≡ 1 1 Last(110111− 0110) = 0001 1 0000012 49 · 52 ≡ 18 0 00010 2 0000101 49 0 000100 4 000100

Es gilt also 47 ≡ 49 mod n.

Page 433: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 434: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 435: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 436: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 437: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 438: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 439: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 440: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 441: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 442: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:46.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung

Problem: Die Verfahren brauchen Primzahlen.D.h. zu bestimmen ist eine zufällige, große Primzahl.

Allgemeines Vorgehen dabei:1 Wähle zufällig eine große ungerade Zahl x .2 Teste, ob x eine Primzahl ist.3 Falls x keine Primzahl ist, dann wiederhole Verfahren.

Anzahl der 100-stelligen Primzahlen: 10100/ ln 10100 − 1099/ ln 1099.Damit ergibt sich eine Erfolgswahrscheinlichkeit von 0.00868.Verbleibendes Problem: Teste, ob gegebene Zahl x Primzahl ist.

Page 443: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 444: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 445: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 446: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 447: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 448: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 449: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 450: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 451: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:47.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Stochastischer Primzahltest

Alle diese Tests benutzen das gleiche Grundmuster.Beispiel: Gesucht wird ein guter Politiker P. :-)Wir wählen eine Eigenschaft E , die einen schlechten Politiker auszeichnet.Befragen Zeugen, ob die Eigenschaft E(P) gilt.Je mehr Zeugen wir befragen, desto sicherer gilt:P ist guter Politiker.Z.B. Zeugen die zur Eigenschaft Bestechlichkeit(P) aussagen.D.h. je mehr Zeugen es gibt, desto besser ist unser Verfahren.Zum Primzahltest suchen wir nach Eigenschaften von Primzahlen.

Page 452: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 453: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 454: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 455: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 456: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 457: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 458: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 459: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 460: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einleitung (3:48.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Sehr einfacher Test

Zu testen ist, ob Zahl m eine Primzahl ist.Eine Zahl w mit w |m ist ein Zeuge, dass m keine Primzahl ist.D.h. teste für viele Zeugen w , ob ggT(w ,m) = 1 gilt.Problem, es gibt zu wenig Zeugen w .Lösung: Betrachte andere Eigenschaften von Primzahlen.Dabei kann ggT(w ,m) = 1 vorausgesetzt werden.Falls m Primzahl und ggT(w ,m) = 1:

wm−1 ≡ 1 (mod m).

Falls ggT(w ,m) = 1 und wm−1 ≡ 1 (mod m), dann heißt w Zeuge dafür,dass m Primzahl ist.

Page 461: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 462: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 463: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 464: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 465: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 466: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 467: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 468: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k

oder

0. (Carmichael-Zahlen - Test versagt).

Page 469: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k oder0. (Carmichael-Zahlen - Test versagt).

Page 470: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:49.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einfacher Test

Test, ob eine ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls wm−1 6≡ 1 (mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:

1− 2−k oder0. (Carmichael-Zahlen - Test versagt).

Page 471: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:50.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

LemmaEntweder alle oder höchstens die Hälfte aller Zahlen w mit 1 6 w < m undggT(w ,m) = 1 sind Zeugen dafür, dass m Primzahl ist.

Beweisidee:Falls alle w Zeugen sind, Aussage erfüllt.Falls es ein w gibt was kein Zeuge ist, dann erzeugen wir zu jedemZeugen w ′ einen Nichtzeugen.

Page 472: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:50.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

LemmaEntweder alle oder höchstens die Hälfte aller Zahlen w mit 1 6 w < m undggT(w ,m) = 1 sind Zeugen dafür, dass m Primzahl ist.

Beweisidee:Falls alle w Zeugen sind, Aussage erfüllt.Falls es ein w gibt was kein Zeuge ist, dann erzeugen wir zu jedemZeugen w ′ einen Nichtzeugen.

Page 473: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:50.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

LemmaEntweder alle oder höchstens die Hälfte aller Zahlen w mit 1 6 w < m undggT(w ,m) = 1 sind Zeugen dafür, dass m Primzahl ist.

Beweisidee:Falls alle w Zeugen sind, Aussage erfüllt.Falls es ein w gibt was kein Zeuge ist, dann erzeugen wir zu jedemZeugen w ′ einen Nichtzeugen.

Page 474: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:50.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

LemmaEntweder alle oder höchstens die Hälfte aller Zahlen w mit 1 6 w < m undggT(w ,m) = 1 sind Zeugen dafür, dass m Primzahl ist.

Beweisidee:Falls alle w Zeugen sind, Aussage erfüllt.Falls es ein w gibt was kein Zeuge ist, dann erzeugen wir zu jedemZeugen w ′ einen Nichtzeugen.

Page 475: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.1) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 476: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.2) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 477: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.3) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 478: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.4) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 479: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.5) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 480: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.6) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 481: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.7) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 482: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.8) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 483: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.9) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 484: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.10) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 485: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:51.11) <> Walter Unger 12.12.2012 17:46 WS2012/13ZggT(w, m) 6= 1

wm−1 6≡ 1 (mod m)

Beweis.

Annahme, es gibt w (1 6 w < m) mit wm−1 6≡ 1 (mod m).Seien wi , 1 6 i 6 t alle Zahlen mit1 6 wi < m und wm−1

i ≡ 1 (mod m).D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge.1 ≡ um−1

i ≡ wm−1wm−1i ≡ wm−1 (mod m)

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 486: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 487: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 488: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 489: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 490: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 491: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 492: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Einfacher Test (3:52.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Carmichael-Zahlen

m ist Carmichael-Zahl gdw. m ist keine Primzahl und∀w : ggT(w ,m) = 1 gilt: wm−1 ≡ 1 (mod m).Carmichael-Zahlen sind quadratfrei.m ist Carmichael-Zahl gdw. falls p|m dann gilt auch (p − 1)|(m − 1)Carmichael-Zahlen sind Produkt von mindestens drei verschiedenenPrimzahlen.Beispiele 561, 1729, 294409, 56052361, 2465, 172081, ....Es gibt unendlich viele Carmichael-Zahlen.

Page 493: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 494: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 495: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 496: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 497: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 498: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:53.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Erinnerung

LemmaSei m ungerade Primzahl, dann gilt für alle w:

w (m−1)/2 ≡(w

m

)(mod m).

Beweis.

Gilt, falls m das w teilt.Ansonsten folgt aus wm−1 ≡ 1 (mod m) dass w (m−1)/2 ≡ ±1 (mod m)gilt.Sei nun g Generator von Z∗m und weiter w = g i .Dann gilt:

(wm

)= 1⇐⇒ i ist gerade ⇐⇒ w (m−1)/2 ≡ 1 (mod m).

Page 499: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 500: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 501: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 502: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 503: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 504: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 505: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 506: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:54.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Soloway-Strassen

Test ob ungerade Zahl m Primzahl ist:

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1 ist m keine Primzahl.3 Falls w

(m−1)2 6≡

(wm

)(mod m) ist m keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Wir werden sehen:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 2−k .

Page 507: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:55.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)

LemmaHöchstens die Hälfte aller Zahlen w mit 1 6 w < m und ggT(w ,m) = 1 sindZeugen dafür, dass m Primzahl ist.

Beweisidee:Bestimme zuerst ein w , was kein Zeuge ist.Mit dem Nichtzeugen w erzeugen wir dann zu jedem Zeugen w ′ einenNichtzeugen.

Page 508: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:55.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)

LemmaHöchstens die Hälfte aller Zahlen w mit 1 6 w < m und ggT(w ,m) = 1 sindZeugen dafür, dass m Primzahl ist.

Beweisidee:Bestimme zuerst ein w , was kein Zeuge ist.Mit dem Nichtzeugen w erzeugen wir dann zu jedem Zeugen w ′ einenNichtzeugen.

Page 509: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:55.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)

LemmaHöchstens die Hälfte aller Zahlen w mit 1 6 w < m und ggT(w ,m) = 1 sindZeugen dafür, dass m Primzahl ist.

Beweisidee:Bestimme zuerst ein w , was kein Zeuge ist.Mit dem Nichtzeugen w erzeugen wir dann zu jedem Zeugen w ′ einenNichtzeugen.

Page 510: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:55.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

AbschätzungenggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)

LemmaHöchstens die Hälfte aller Zahlen w mit 1 6 w < m und ggT(w ,m) = 1 sindZeugen dafür, dass m Primzahl ist.

Beweisidee:Bestimme zuerst ein w , was kein Zeuge ist.Mit dem Nichtzeugen w erzeugen wir dann zu jedem Zeugen w ′ einenNichtzeugen.

Page 511: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 512: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 513: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 514: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 515: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 516: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 517: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:56.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Angenommen p2 teilt m für eine Primzahl p.Setze dann w ′ = 1+ m/p.

Dann gilt:(w′m

)= 1

w ′(m−1)/2 6≡ 1 (mod m) denn p teilt nicht (m − 1)/2.

Page 518: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 519: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 520: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 521: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 522: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 523: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 524: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 525: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 526: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 527: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 528: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 529: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 530: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:57.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Zuerst konstruieren wir einen Nichtzeugen w ′.

Falls p2 teilt m für eine Primzahl p dann wähle w ′ = 1+ m/p.Daher sei nun m Produkt von verschieden Primzahlen.

Eine davon ist p.Wähle s ∈ QNRp undbestimmt w ′ durch Chinesischen Restklassensatz mit:w ′ ≡ s (mod p)w ′ ≡ 1 (mod m/p)

Nun gilt:(w′m

)= −1

w ′(m−1)/2 ≡ 1 (mod m/p)w ′(m−1)/2 6≡ −1 (mod m)

Page 531: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 532: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 533: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 534: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 535: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 536: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 537: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 538: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 539: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 540: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 541: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 542: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 543: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Soloway-Strassen (3:58.13) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

BeweisggT(w, m) 6= 1

w(m−1)

2 6≡(

wm

)(mod m)Wir haben nun einen Nichtzeugen w ′.

Seien wi , 1 6 i 6 t alle Zahlen mit 1 6 wi < mund w (m−1)/2

i ≡(wi

m

)(mod m).

D.h. wir haben einen Nichtzeugen und t verschiedene Zeugen.Setze ui = wwi mod m für 1 6 i 6 t.

Für alle ui gilt:1 6 ui < m undggT(ui ,m) = 1ui ist kein Zeuge, denn man beachtew ′(m−1)/2w (m−1)/2

i ≡(

w′m

)(wim

)(mod m)

w ′(m−1)/2 ≡(

w′m

)(mod m)

Widerspruch, also ist ui kein Zeuge.

Es gibt mindestens soviele Nichtzeugen wie Zeugen.

Page 544: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 545: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 546: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 547: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 548: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 549: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 550: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 551: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 552: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Miller-Rabin (3:59.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Miller-Rabin

Teste ob ungerade Zahl m Primzahl ist:Bestimme s, r mit: m − 1 = 2s r .

Wiederhole die folgenden Schritte:1 Wähle zufällig w .2 Falls ggT(w ,m) 6= 1, ist m keine Primzahl.3 Falls w r 6≡ 1 (mod m) und w2s′

6≡ −1 (für ein 0 6 s ′ < s), dann istm keine Primzahl.

Bis m mit hoher Wahrscheinlichkeit Primzahl ist.Es gilt:Nach k Tests ist die Wahrscheinlichkeit dafür, dass m Primzahl ist:1− 4−k .

Page 553: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 554: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 555: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 556: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 557: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 558: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 559: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 560: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:60.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Einleitung zum deterministischen Primzahltest

Bis zum Jahr 2002 war es offen, wie schwer ein Primzahltest ist.Man kannte nur stochastische Verfahren.Dann wurde gezeigt, das der Test in Polynomzeit geht.Der Grad des Polynoms war 12 (heute 8).Die Laufzeit dieses Verfahrens ist O(log12m).Bei dem Verfahren von Agrawal, Kayal und Saxena wird auch diePrimzahleigenschaft durch Zeugen untersucht.Bei diesem Verfahren kann man aber zeigen, das eine polynomiale Anzahlvon Zeugen reicht.

Page 561: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:61.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Primzahltest

1) Falls m = ab für b > 1, dann ist m keine Primzahl.2) r := 23) Solange (r < m))

Falls ggt(m, r) > 1, dann ist m keine Primzahl.Falls r Primzahl, dann

Sei q der größte Primfaktor von r − 1Falls (q > 4

√r logm) und (m

r−1q 6≡ 1 (mod r))

dann breche die Schleife abr := r + 1

4) Für alle a := 1 bis 2r 1/2 logm testeFalls (x − a)m 6≡ (xn − a) (mod x r − 1, n)

dann ist m keine Primzahl.5) Anderenfalls ist m eine Primzahl.

Die Laufzeit dieses Verfahrens ist O(log12m).

Page 562: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:61.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Primzahltest

1) Falls m = ab für b > 1, dann ist m keine Primzahl.2) r := 23) Solange (r < m))

Falls ggt(m, r) > 1, dann ist m keine Primzahl.Falls r Primzahl, dann

Sei q der größte Primfaktor von r − 1Falls (q > 4

√r logm) und (m

r−1q 6≡ 1 (mod r))

dann breche die Schleife abr := r + 1

4) Für alle a := 1 bis 2r 1/2 logm testeFalls (x − a)m 6≡ (xn − a) (mod x r − 1, n)

dann ist m keine Primzahl.5) Anderenfalls ist m eine Primzahl.

Die Laufzeit dieses Verfahrens ist O(log12m).

Page 563: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:61.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Primzahltest

1) Falls m = ab für b > 1, dann ist m keine Primzahl.2) r := 23) Solange (r < m))

Falls ggt(m, r) > 1, dann ist m keine Primzahl.Falls r Primzahl, dann

Sei q der größte Primfaktor von r − 1Falls (q > 4

√r logm) und (m

r−1q 6≡ 1 (mod r))

dann breche die Schleife abr := r + 1

4) Für alle a := 1 bis 2r 1/2 logm testeFalls (x − a)m 6≡ (xn − a) (mod x r − 1, n)

dann ist m keine Primzahl.5) Anderenfalls ist m eine Primzahl.

Die Laufzeit dieses Verfahrens ist O(log12m).

Page 564: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 565: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.2) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 566: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.3) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 567: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.4) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 568: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.5) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 569: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.6) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 570: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.7) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 571: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.8) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 572: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.9) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 573: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.10) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 574: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.11) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 575: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:62.12) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Fragen

Wie beweist man Bit-Sicherheit für < n/2?Wie ist die Idee zum Beweise der Bit-Sicherheit des LSB?Was ergibt sich, wenn jemand ϕ(n) aus n und e bestimmen kann?Was ergibt sich, wenn jemand d aus n und e bestimmen kann?Wie arbeitet das OAEP Verfahren?Wie konstruiert man eine Kompressionsfunktion?Wie konstruiert man eine Hashfunktion?Wie ist die Beweisidee bei Merkles Meta Methode?Welche Eigenschaften werden zum Primzahltest verwendet?Wie sicher ist RSA?Wie sicher ist das Verfahren von Rabin?

Page 576: Algorithmische Kryptographie (WS2012/13) · Einleitung Hilfsfunktionen WeitereAngriffe Bit-Sicherheit BestimmungvonPrimzahlen (3:2.3)  WalterUnger 12.12.201217:46 WS2012/13

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen

Agrawal, Kayal und Saxena (3:63.1) <> Walter Unger 12.12.2012 17:46 WS2012/13Z

Legende

Nicht relevantGrundlagen, die implizit genutzt werdenIdee des Beweises oder des VorgehensStruktur des Beweises oder des VorgehensVollständiges Wissen