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

Preview:

Citation preview

Algorithmische Kryptographie (WS2012/13)Kapitel 3

Sicherheitsaspekte und Hilfsfunktionen

Walter Unger

Lehrstuhl für Informatik 1

17:46 Uhr, den 12. Dezember 2012

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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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′).

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′).

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′).

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′).

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′).

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′).

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′).

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′).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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 ′.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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?

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?

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?

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?

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?

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?

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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 ).

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 ).

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 ).

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 ).

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 ).

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 ).

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 ).

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 ).

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 ).

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 ).

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.

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)

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)

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)

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)

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)

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)

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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

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

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

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

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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).

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).

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).

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).

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).

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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).

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).

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).

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 .

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 .

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 .

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 .

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 .

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 .

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 .

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 .

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 .

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 .

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 .

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 .

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 .

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 .

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 .

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 .

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 .

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.

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.

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.

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.

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.

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.

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.

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.

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).

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).

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).

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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?

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

Recommended