Download presentation
Presentation is loading. Please wait.
1
Topic 30: El-Gamal Encryption
Cryptography CS 555 Topic 30: El-Gamal Encryption
2
Recap CPA/CCA Security for Public Key Crypto
Key Encapsulation Mechanism
3
A Quick Remark about Groups
Let πΎ be a group with order m= πΎ with a binary operation β (over G) and let g,hβπΎ be given and consider sampling kβπΎ uniformly at random then we have Pr kβπΎ π=π = 1 π Question: What is Pr kβπΎ πββ=π = 1 π ? Answer: Pr kβπΎ πββ=π = Pr kβπΎ π=πβ β β1 = 1 π
4
A Quick Remark about Groups
Lemma 11.15: Let πΎ be a group with order m= πΎ with a binary operation β (over G) then for any pair g,hβπΎ we have Pr kβπΎ πββ=π = 1 π Remark: This lemma gives us a way to construct perfectly secret private-key crypto scheme. How?
5
El-Gamal Encryption Key Generation (Gen( 1 π )):
Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =π) and a generator g such that <g>=πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encpk (π) = π π¦ ,πβ β π¦ for a random yβ β€ π Decsk (π= π 1 , π 2 ) = π 2 π 1 βπ₯
6
El-Gamal Encryption Encpk (π) = π π¦ ,πβ β π¦ for a random yβ β€ π
Decsk (π= π 1 , π 2 ) = π 2 π 1 βπ₯ Decsk ( π π¦ ,πβ β π¦ ) =πβ β π¦ π π¦ βπ₯ =πβ β π¦ π π¦ βπ₯ =πβ π π₯ π¦ π π¦ βπ₯ =πβ π π₯π¦ π βπ₯π¦ =π
7
CPA-Security ( PubK A,Ξ LRβcpa n )
Public Key: pk π 0 1 , π 1 1 π π = ππ§π ππ π π π π 0 2 , π 1 2 π π = ππ§π ππ π π π π 0 3 , π 1 3 π π = ππ§π ππ π π π βπππ π΄ βπ (negligible) s.t Pr PubK A,Ξ LRβcpa n =1 β€ 1 2 +π(π) β¦ bβ Random bit b (pk,sk) = Gen(.)
8
El-Gamal Encryption Encpk (π) = π π¦ ,πβ β π¦ for a random yβ β€ π
Decsk (π= π 1 , π 2 ) = π 2 π 1 βπ₯ Theorem 11.18: Let Ξ = πΊππ,πΈππ,π·ππ be the El-Gamal Encryption scheme (above) then if DDH is hard relative to π’ then Ξ is CPA-Secure. Proof: Recall that CPA-security and eavesdropping security are equivalent for public key crypto. It suffices to show that for all PPT A there is a negligible function negl such that Pr PubK A,Ξ eav n =1 β€ 1 2 +negl(n)
9
Eavesdropping Security ( PubK A,Ξ eav n )
Public Key: pk π 0 , π 1 π π = ππ§π ππ π π bβ βπππ π΄ βπ (negligible) s.t Pr PubK A,Ξ eav n =1 β€ 1 2 +π(π) Random bit b (pk,sk) = Gen(.)
10
El-Gamal Encryption Theorem 11.18: Let Ξ = πΊππ,πΈππ,π·ππ be the El-Gamal Encryption scheme (above) then if DDH is hard relative to π’ then Ξ is CPA-Secure. Proof: First introduce an `encryption schemeβ Ξ in which Encpk π = π π¦ ,πβ π π§ for random y,zβ β€ π (there is actually no way to do decryption, but the experiment PubK A, Ξ eav n is still well defined). In fact, (using Lemma 11.15) Pr PubK A, Ξ eav n =1 = 1 2 Pr PubK A, Ξ eav n =1 π= βPr PubK A, Ξ eav n =1 π=0 = Pr y,zβ β€ π π΄ π π¦ ,πβ π π§ =1 β 1 2 Pr y,zβ β€ π π΄ π π¦ , π π§ =1 = 1 2
11
El-Gamal Encryption Theorem 11.18: Let Ξ = πΊππ,πΈππ,π·ππ be the El-Gamal Encryption scheme (above) then if DDH is hard relative to π’ then Ξ is CPA-Secure. Proof: We just showed that Pr PubK A, Ξ eav n =1 = 1 2 Therefore, it suffices to show that Pr PubK A,Ξ eav n =1 βPr PubK A, Ξ eav n =1 β€π§ππ π₯(π) This, will follow from DDH assumption.
12
El-Gamal Encryption Theorem 11.18: Let Ξ = πΊππ,πΈππ,π·ππ be the El-Gamal Encryption scheme (above) then if DDH is hard relative to π’ then Ξ is CPA-Secure. Proof: We can build π΅ π π₯ , π π¦ ,π to break DDH assumption if Ξ is not CPA-Secure. Simulate eavesdropping attacker A Send attacker public key pk= πΎ,π,π,β= π π₯ Receive m0,m1 from A. Send A the ciphertext π π¦ , π π βπ . Output 1 if and only if attacker outputs bβ=b. Pr π΅ π π₯ , π π¦ ,π =1 π= π π₯π¦ βPr π΅ π π₯ , π π¦ ,π =1 π= π π§ = Pr PubK A,Ξ eav n =1 βPr PubK A, Ξ eav n =1 = Pr PubK A,Ξ eav n =1 β 1 2 = Pr yβ β€ π π΄ π π₯ , π π¦ , π π β π π₯π¦ =1 β Pr y,zβ β€ π π΄ π π₯ , π π¦ , π π β π π§ =1 = Pr yβ β€ π π΄ β, π π¦ , π π β β π§ =1 β Pr y,zβ β€ π π΄ β, π π¦ , π π β π π§ =1
13
El-Gamal Encryption Encpk (π) = π π¦ ,πβ β π¦ for a random yβ β€ π and β=π π₯ , Decsk (π= π 1 , π 2 ) = π 2 π 1 βπ₯ Fact: El-Gamal Encryption is malleable. c=Encpk (π) = π π¦ ,πβ β π¦ cβ²=Encpk (π) = π π¦ ,2βπβ β π¦ Decsk (πβ²) =2βπβ β π¦ β π βπ₯π¦ =2π
14
Key Encapsulation Mechanism (KEM)
Three Algorithms Gen ( 1 π ,π
) (Key-generation algorithm) Input: Random Bits R Output: ππ,ππ βπ Encapspk ( 1 π ,π
) Input: security parameter, random bits R Output: Symmetric key kβ 0,1 β π and a ciphertext c Decapssk (π) (Deterministic algorithm) Input: Secret key skβπ¦ and a ciphertex c Output: a symmetric key 0,1 β π or β₯ (fail) Invariant: Decapssk(c)=k whenever (c,k) = Encapspk( 1 π ,π
)
15
KEM CCA-Security ( KEM A,Ξ cca n )
ππ,π,ππ β¦ π π β π πππππ©π¬ ππ π π π π β π βπππ π΄ βπ (negligible) s.t Pr KEM A,Ξ cca =1 β€ 1 2 +π(π) πππππ©π¬ ππ π π β¦ bβ Random bit b (pk,sk) = Gen(.) π,ππ = ππ§πππ©π¬ ππ . ππ β΅ π,π π
16
Recall: Last Lecture CCA-Secure KEM from RSA in Random Oracle Model
What if we want security proof in the standard model? Answer: DDH yields a CPA-Secure KEM in standard model
17
KEM CPA-Security ( KEM A,Ξ cpa n )
ππ,π,ππ bβ βπππ π΄ βπ (negligible) s.t Pr KEM A,Ξ cpa =1 β€ 1 2 +π(π) Random bit b (pk,sk) = Gen(.) π,ππ = ππ§πππ©π¬ ππ . ππ β΅ π,π π
18
CCA-Secure Encryption from CPA-Secure KEM
ππ§π π©π€ π;πΉ = π, ππ§π π€ β π Where π,π β ππ§πππ©π¬ π©π€ π π ;πΉ , ππ§π π€ β is a eavesdropping-secure symmetric key encryption algorithm ππ§πππ©π¬ π©π€ is a CPA-Secure KEM. Theorem 11.12: ππ§π π©π€ is CCA-Secure public key encryption scheme.
19
CPA-Secure KEM with El-Gamal
Gen ( 1 π ,π
) (Key-generation algorithm) Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =2π) and a generator g such that <g>=πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encapspk ( 1 π ,π
) Pick random yβ β€ π Output: π π¦ ,π=LeastSigNBits β π¦ Decapssk (π) (Deterministic algorithm) Output: π=LeastSigNBits π π₯
20
CPA-Secure KEM with El-Gamal
Gen ( 1 π ,π
) (Key-generation algorithm) Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =2π) and a generator g such that <g>= πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encapspk ( 1 π ,π
) Pick random yβ β€ π Output: π π¦ ,π=LeastSigNBits β π¦ Decapssk (π) (Deterministic algorithm) Output: π=LeastSigNBits π π₯ Decapssk π π¦ =LeastSigNBits π π₯π¦ =LeastSigNBits β π¦ =π
21
CPA-Secure KEM with El-Gamal
Gen ( 1 π ,π
) (Key-generation algorithm) Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =2π) and a generator g such that <g>=πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encapspk ( 1 π ,π
) Pick random yβ β€ π Output: π π¦ ,π=LeastSigNBits β π¦ Decapssk (π) (Deterministic algorithm) Output: π=LeastSigNBits π π₯ Theorem 11.20: If DDH is hard relative to π’ then (Gen,Encaps,Decaps) is a CPA-Secure KEM
22
CPA-Secure KEM with El-Gamal
Gen ( 1 π ,π
) (Key-generation algorithm) Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =2π) and a generator g such that <g>=πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encapspk ( 1 π ,π
) Pick random yβ β€ π Output: π π¦ ,π=LeastSigNBits β π¦ Decapssk (π) (Deterministic algorithm) Output: π=LeastSigNBits π π₯ Remark: If CDH is hard relative to π’ then (Gen,Encaps,Decaps) and we replace LeastSigNBits with a random oracle H then this is a CPA-Secure KEM (β¦also CCA-secure under a slightly stronger assumption called gap-CDH)
23
CCA-Secure Variant in Random Oracle Model
Key Generation (Gen( 1 π )): Run π’ 1 π to obtain a cyclic group πΎ of order q (with π =π) and a generator g such that <g>=πΎ. Choose a random xβ β€ π and set β= π π₯ Public Key: pk= πΎ,π,π,β Private Key: sk= πΎ,π,π,π₯ Encpk (π) = π π¦ , π β² , πππ πΎ π πβ² for a random yβ β€ π and πΎ πΈ πΎ π =π» β π¦ and π β² =Enc K E β² π Decsk ( π, π β² ,π‘ ) πΎ πΈ πΎ π =π» π π₯ If Vrfy K M π β² ,π‘ β 1 or πβπΎ output β₯; otherwise output Dec K E β² π β² ,π‘
24
CCA-Secure Variant in Random Oracle Model
Theorem: If Enc K E β² is CPA-secure, Mac K M is a strong MAC and a problem called gap-CDH is hard then this a CCA-secure public key encryption scheme in the random oracle model. Encpk (π) = π π¦ , π β² , Mac K M πβ² for a random yβ β€ π and πΎ πΈ πΎ π = π» β π¦ and π β² =Enc K E β² π Decsk ( π, π β² ,π‘ ) πΎ πΈ πΎ π =π» π π₯ If Vrfy K M π β² ,π‘ β 1 or πβπΎ output β₯; otherwise output Dec K E β² π β² ,π‘
25
CCA-Secure Variant in Random Oracle Model
Remark: The CCA-Secure variant is used in practice in the ISO/IEC standard for public-key encryption. Diffie-Hellman Integrated Encryption Scheme (DHIES) Elliptic Curve Integrated Encryption Scheme (ECIES) Encpk (π) = π π¦ , π β² , Mac K M πβ² for a random yβ β€ π and πΎ πΈ πΎ π = π» β π¦ and π β² =Enc K E β² π Decsk ( π, π β² ,π‘ ) πΎ πΈ πΎ π =π» π π₯ If Vrfy K M π β² ,π‘ β 1 or πβπΎ output β₯; otherwise output Dec K E β² π β² ,π‘
26
Next Class: RSA Attacks + Fixes
Read Katz and Lindell: 11.5
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.