• Keine Ergebnisse gefunden

Konstruktion CPA-sicherer Verschlüsselung

N/A
N/A
Protected

Academic year: 2022

Aktie "Konstruktion CPA-sicherer Verschlüsselung"

Copied!
16
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Konstruktion CPA-sicherer Verschlüsselung

Algorithmus VerschlüsselungΠB

SeiF eine längenerhaltende, schlüsselabhängige Funktion aufnBits.

Wir definierenΠB = (Gen,Enc,Dec)für Nachrichtenraum M={0,1}n.

1 Gen:Wählek ∈R {0,1}n.

2 Enc:Fürm∈ {0,1}nwähler ∈R {0,1}nund berechne c := (r,Fk(r)⊕m).

3 Dec:Fürc = (c1,c2)∈ {0,1}n× {0,1}n berechne m:=Fk(c1)⊕c2.

(2)

Sicherheit von Π

B

SatzSicherheit vonΠB

SeiF eine Pseudozufallsfunktion. Dann istΠBCPA-sicher.

Intuition:

Fk(r)ist nicht unterscheidbar vonn-Bit Zufallsstring.

D.h. in der zweiten Komponente ist die Verteilung ununterscheidbar von einem One-Time Pad.

Vorsicht: Benötigen, dassr nicht wiederverwendet wird.

Beweis:

SeiAein CPA-Angreifer mit Vorteil(n).

Konstruieren mittelsAeinen UnterscheiderDfürFk(·)undf(·).

(3)

Unterscheider D

Algorithmus UnterscheiderD

EINGABE: 1n,O:{0,1}n← {0,1}n(mitO=Fk(·)oderO=f(·))

1 Beantworte VerschlüsselungsanfragenEnck(m0i)vonAwie folgt:

WähleriR {0,1}nund sende(ri,O(ri)⊕m)anA.

2 Beantworte Challenge(m0,m1)vonAwie folgt:

Wähler ∈R{0,1}n,b∈R{0,1}und sende(r,O(r)⊕mb)anA.

3 Erhalte nach weiteren Verschlüsselsanfragen vonABitb0. AUSGABE:=

(1 fallsb0 =b, Interpretation:O=Fk(·) 0 sonst, Interpretation:O=f(·) .

Fall 1:O=Fk(·), d.h. wir verwenden eine Pseudozufallsfunktion.

Dann ist die Verteilung vonAidentisch zuΠB. Damit gilt Ws[DFk(·)(1n) =1] =Ws[PrivKA,Πcpa

B(n) =1] = 12+(n).

(4)

Unterscheider D

1n ri

O(ri)

r O(r)

Ausgabe

UnterscheiderD

riR{0,1}n c0i= (ri,O(ri)m0i)

rR{0,1}n bR{0,1}

c= (r,O(r)mb)

Ausgabe:

(1 ifb=b0 0 else

1n

m0i c0i

(m0, m1) c

m0i c0i

b0

A

m0i ∈ M uri= 1, . . . , q

m0, m1∈ M

b0∈ {0,1}

(5)

Verwenden einer echten Zufallsfunktion

Fall 2:O=f(·), d.h. wir verwenden eine echte Zufallsfunktion.

SeiΠ0 das ProtokollΠB unter Verwendung vonf(·)stattFk(·).

SeiRepeatdas Ereignis, dassr in einer der Verschlüsselungs- anfragen verwendet wurde.

Für alle AngreiferAgiltWs[PrivKA,Πcpa0(n) =1]

= Ws[PrivKA,Πcpa0(n) =1Repeat] +Ws[PrivKA,Πcpa0(n) =1Repeat]

Ws[Repeat] +Ws[PrivKA,Πcpa0(n) =1|Repeat]

Ein ppt AngreiferAstelle insgesamt polynomiell viele Anfragen.

Seiq(n)die Anzahl der Anfragen. Dann gilt Ws[Repeat] = Ws[r =r1∨. . .∨r =rq]

≤ Ws[r =r1] +. . .+Ws[r =rq] = 2qn =negl(n).

(6)

Fall 2:(Fortsetzung)

Aufgrund der perfekten Sicherheit des One-Time Pads gilt Ws[PrivKA,Πcpa0(n) =1|Repeat] = 12.

Es folgtWs[Df(·)(1n) =1] =Ws[PrivKA,Πcpa0(n) =1]≤ 12+negl(n).

Aus der Pseudozufälligkeit vonF folgt insgesamt negl(n)≥

Ws[DFk(·)(1n) =1]

| {z }

1 2+(n)

−Ws[Df(·)(1n) =1]

| {z }

12+negl(n)

. Es folgt≤negl(n)für alle polynomiellen AngreiferA.

(7)

Nachrichten beliebiger Länge

Algorithmus VerschlüsselungΠ0B

SeiF eine längenerhaltende, schlüsselabhängige Funktion aufnBits.

Wir definierenΠ0B = (Gen,Enc,Dec)für Nachrichtenraum M={0,1}.

1 Gen:Wählek ∈R {0,1}n.

2 Enc:Fürm=m1. . .m` mitmi ∈ {0,1}nwähler1, . . .r`mit riR {0,1}nund berechne

c := (r1, . . . ,r`,Fk(r1)⊕m1, . . . ,Fk(r`)⊕m`).

3 Dec:Fürc = (c1, ...,c2`)∈({0,1}n)2` berechne m:=Fk(c1)⊕c`+1. . .Fk(c`)⊕Fk(c2`).

(8)

CPA-Sicherheit von Π

0B

SatzCPA-Sicherheit vonΠ0B

SeiF eine Pseudozufallsfunktion. Dann istΠ0BCPA-sicher.

Beweis:

Aus der CPA-Sicherheit vonΠB folgt die mult-CPA Sicherheit von ΠBund damit die CPA-Sicherheit vonΠ0B.

Nachteil:Chiffretexte sind doppelt so lang wie Klartexte (Nachrichtenexpansion 2).

(9)

Pseudozufallspermutationen

Definitionschlüsselabhängige Permutation

SeienF,F−1pt Algorithmen.F heißtschlüsselabhängige Permutation aufnBits falls

1 F berechnet eine Funktion{0,1}m× {0,1}n → {0,1}n, so dass für allek ∈ {0,1}m die FunktionFk(·)eine Bijektion ist.

2 Fk−1(·)berechnet die Umkehrfunktion vonFk(·).

DefinitionPseudozufallspermutation

SeiF eine schlüsselabhängige Permutation aufnBits. Wir bezeichnen F alsPseudozufallspermutation, falls für alle pptDgilt

Ws[DFk(·)(1n) =1]−Ws[Df(·)(1n) =1]

≤negl(n), mitk ∈R {0,1}m undf ∈RPermn, wobeiPermndie Menge aller Permutationen aufnBits ist.

(10)

Starke Pseudozufallspermutationen

SatzPseudozufallspermutationen und Pseudozufallsfunktionen Jede Pseudozufallspermutation ist eine Pseudozufallsfunktion.

Beweis:Übung.

DefinitionStarke Pseudozufallspermutation (Blockchiffre)

SeiF eine schlüsselabhängige Permutation aufnBits. Wir bezeichnen F alsstarke Pseudozufallspermutation (Blockchiffre), falls für alle ppt Dgilt

Ws[DFk(·),Fk−1(·)(1n) =1]−Ws[Df(·),f−1(·)(1n) =1]

≤negl(n), mitk ∈R {0,1}n undf ∈RPermn.

(11)

Konstruktion von (starken) PRPs

Algorithmus FeistelnetzwerkF(r) mitr Runden EINGABE:n,r ≥0,x ∈ {0,1}n,k ∈({0,1}n)r

1 Seik =k1, . . . ,kr mitki ∈ {0,1}n.

2 Setze(L0||R0) :=x mitL0,R0∈ {0,1}n2.

3 Fori=1 tor

I SetzeLi :=Ri−1undRi :=Li−1Fki(Ri−1).

AUSGABE:Fk(r)(x) := (Lr||Rr)

Invertierung einer Feisteliteration:Ri−1:=Li undLi−1:=Ri⊕Fki(Li).

Fakt

SeiF eine Pseudozufallsfunktion. Dann istF(3)eine Pseudozufallspermutations undF(4)eine starke Pseudozufallspermutation (Blockchiffre).

(12)

Blockchiffren als kryptographische Primitive

Anmerkungen:Blockchiffren

Praktische Realisierungen von starken Pseudozufalls- permutationen bezeichnet man alsBlockchiffren.

Wir haben gesehen, dass BlockchiffrenFk(·)zur Konstruktion CPA-sicherer Verschlüsselung verwendet werden können.

Vorsicht: Blockchiffren selbst sind keine sicheren Verschlüs- selungsverfahren.

c :=Fk(m)ist eine deterministische, unsichere Verschlüsselung.

D.h. wir benötigen einen Randomisierungsprozess bei Enc.

Bsp:DES (Data Encryption Standard, 1976) F :{0,1}56× {0,1}64 → {0,1}64

Problem des zu kleinen Schlüsselraums

bester bekannter KPA Angriff mit 243 Klartexten AES (Advanced Encryption Standard, 2002)

{0,1}k× {0,1}128 → {0,1}128 ∈ {128, 256}

(13)

Modes of Operation – Electronic Code Book (ECB)

Ziel:Verschlüsseln von Nachrichtenm=m1. . .m` ∈({0,1}n)` mittels Blockchiffre unter Verwendung kleiner Nachrichtenexpansion.

Algorithmus Electronic Code Book (ECB) Modus

1 Enc:c := (Fk(m1), . . . ,Fk(m`))

2 Dec:m:=Fk−1(c1), . . . ,Fk−1(m`)

Nachteil:

Enc ist deterministisch, d.h. ECB ist nicht mult-KPA sicher.

Daher sollte der ECB Modus nie verwendet werden.

(14)

ECB

m1

Fk

c1

Fk−1

m1

m2

Fk

c2

Fk−1

m2

· · ·

· · ·

· · · m`

Fk

c`

Fk−1

m`

(15)

Modes of Operation – Cipher Block Chaining (CBC)

Algorithmus Cipher Block Chaining (CBC) Modus

1 Enc:Wähle Initialisierungsvektorc0:=IV ∈R{0,1}n. Berechne ci :=Fk(ci−1⊕mi) füri =1, . . . , `.

2 Dec:Fürc = (c0,c1, . . . ,c`)berechne

mi :=Fk−1(ci)⊕ci−1 füri =1, . . . , `.

Vorteile:

CPA-Sicherheit von CBC kann gezeigt werden.

Nachrichtenexpansion ist `+1` . Nachteil:

Verschlüsselung muss sequentiell durchgeführt werden.

(16)

CBC

IV

m1

Fk

c1

Fk−1

m2

Fk

c2

Fk−1

m`

Fk

c`

Fk−1 . . .

Referenzen

ÄHNLICHE DOKUMENTE

Stelle jedes Ideal I mittels einer endlichen Basis hf

Nicht-Abstreitbarkeit: Signierer kann nicht behaupten, dass eine andere Person eine gültige Signatur

Satz Unsicherheit deterministischer Verschlüsselung Sei Π = (Gen, Enc, Dec) ein Verschlüsselungsschema mit deterministischem Enc.. CPA-Sicherheit

Eine Organisationszertifizierungsstelle (für Zertifikate nur für Benutzer und Computer innerhalb der Organisation) ist die Zertifizierungsstelle auf der höchsten Ebene in einer

(von Bob frei wählbare Nummer, die  nur einmalig genuzt wird)..

PRESENT bewusst auf Effizienzeigenschaften einer kosteng¨unstigen ASIC Implementie- rung beschr¨ankt, weil wir Hardware-Implementierungen f¨ur RFID und andere ressourcen-

and “Not Abused” women can make us conclude that there exists a bigger dependence between ptsd and cpa than there really is (from the plot, we can see a clear positive

d) Carry out a test in order to see if sexual abused woman have a higher PTSD-score. This shows us that there is a statistically significant difference in stress-level between the