On the Memory-Tightness of Hashed ElGamal
Ashrujit Ghoshal
University of Washington
Stefano Tessaro
University of Washington
On the Memory-Tightness of Hashed ElGamal Ashrujit Ghoshal Stefano - - PowerPoint PPT Presentation
On the Memory-Tightness of Hashed ElGamal Ashrujit Ghoshal Stefano Tessaro University of Washington University of Washington Eurocrypt 2020 Security reductions assumption scheme P S ElGamal, Cramer-Shoup, ECDSA, RSA-OAEP CDH,
University of Washington
University of Washington
๐ต ๐ถ = ๐!
assumption
scheme CDH, DDH, DL, factoring โฆ ElGamal, Cramer-Shoup, ECDSA, RSA-OAEP โฏ
Reduction ๐
๐ถ = ๐! ๐ต
advantage ๐!
Reduction ๐
time ๐ข! advantage ๐" time ๐ข"
๐ถ = ๐! ๐ต
Time is not the only important resource!
Reduction ๐
advantage ๐! time ๐ข! advantage ๐" time ๐ข"
๐ถ = ๐! ๐ต
Reduction ๐
advantage ๐! time ๐ข! advantage ๐" time ๐ข" memory ๐! memory ๐"
๐ถ = ๐! ๐ต
Common proof technique: ๐! small โ memory-tight reduction
Reduction ๐ ๐" = ๐# + ๐! uses memory ๐!
memory ๐! memory ๐"
Discrete logarithm (DL) in prime fields Goal: security wrt adversary with time 2#$%, memory 2&%
70 160
log(memory) log(time)
156 78 2048
secure not secure memory-tight ๐": time 2#$%, memory 2&% non-memory-tight ๐": time 2#$%, memory 2#$%
This talk: certain reductions cannot be memory-tight, provably
[ACFK17]
[ACFK17,WMHT18]
[WMHT18]
Hashed ElGamal used in practice eg. SECG SEC-1, ISO/IEC 18033-2, IEEE 1363a and ANSI X9.63
Prior work Here
generic concrete scheme
Gen Encap Decap ๐๐ โ ๐$%, ๐ก๐
๐๐
๐ท โ ๐&, ๐ฟ โ ๐ผ(๐๐&)
(๐ก๐, ๐ท) ๐ฟ โ ๐ผ ๐ท'(
KEM-CCA security โก Oracle Diffie-Hellman assumption [ABR `01]
Group ๐ฟ, generator ๐, order ๐
๐ฃ โ
$ โค*
๐+, ๐,, ๐ฟ- ๐ธ, ๐
๐ฌ๐
๐โฒ Pr ๐ = ๐. = 1 2 + negl ๐ธ, ๐ = A๐ผ ๐, if ๐ โ ๐+ โฅ
๐ฃ, ๐ค โ
$ โค*
๐ฟ% โ ๐ผ ๐+, , ๐ฟ# โ
$
0,1 /012 ๐ โ
$ {0,1}
๐+, ๐,, ๐ฟ- ๐ธ, ๐
๐ฌ๐
๐โฒ ๐ผ ๐
๐ฐ
random oracle
SDH โน ODH [ABR โ01]
๐ฃ, ๐ค โ
$ โค*
๐ฟ% โ ๐ผ ๐+, , ๐ฟ# โ
$
0,1 /012 ๐ โ
$ {0,1}
๐ธ, ๐ = A๐ผ ๐, if ๐ โ ๐+ โฅ
Pr ๐ = ๐. = 1 2 + negl
๐+, ๐, ๐, ๐, ๐
๐ท๐
๐ ๐, ๐, ๐ = A1 if ๐ = ๐, 0 otherwise ๐ฃ, ๐ค โ
$ โค*
Pr ๐ = ๐+, = negl
# ๐ผ queries # ๐ธ( queries n
m e m
y
i g h t !
๐+, ๐, ๐+, ๐,, ๐ฟ ๐ธ,(๐
3)
๐ผ(๐3) Fix: use ๐ท๐ oracle
๐ฟ โ
$ 0,1 /012
๐ ๐ฐ(๐) ๐# ๐ ๐ฌ๐(๐) ๐
#
๐3 ๐
3
๐+, ๐, ๐+, ๐,, ๐ฟ ๐ธ,(๐
3)
๐ฟ โ
$ 0,1 /012
๐ ๐ฐ(๐) ๐# ๐ผ(๐#) ๐3 ๐ผ ๐3 โฎ โฎ ๐ ๐ฌ๐(๐) ๐
#
๐ธ, ๐
#
๐ท๐
๐,(๐#, ๐
3)
๐,(๐3, ๐
3)
1 ๐
3
๐ผ ๐3
๐ท๐
๐! ๐, ๐ ๐! =
? ๐
๐+, ๐, ๐+, ๐,, ๐ฟ ๐ผ(๐3)
๐ฟ โ
$ 0,1 /012
๐ ๐ฐ(๐) ๐# ๐ผ(๐#) ๐ ๐ฌ๐(๐) ๐
#
๐ธ, ๐
#
๐
3
๐ธ, ๐
3
โฎ โฎ
๐ท๐
๐,(๐3, ๐
#)
๐,(๐3, ๐
3)
1 ๐,(๐+, ๐3) ๐, ๐+, ๐3 = 1 โ return ๐3 ๐3 ๐ธ, ๐
3
๐ท๐
๐! ๐, ๐ ๐! =
? ๐
Issue: For which groups ๐ฟ? DL easy in ๐ฟ โ memory tight ๐ Resolution: ๐ only makes black-box access to the group โ generic group model
inefficient
adv ๐ตโ s.t.
AdvSDH ๐!โ = nonโnegl โ ๐ = ฮฉ(๐ log ๐) .
๐!
forwarding
๐ตโ ๐
๐ท๐
โฎ
Force ๐ to complete memory- intensive task brute force to break ODH
random bit R fails R succeeds
โฎ
Intuition: ๐ตโ is useful to ๐ only if ๐ accomplishes memory-intensive task
๐ธ, query ๐<! ๐# ๐ธ, query
โฎ
๐ผ query โ# ๐,โ <" ! ๐ผ query โ( ๐,โ <" #
โฎ
Answers consistent?
break ODH by brute force yes no ๐+, ๐,, ๐ฟ ๐( ๐? < = โ< โ ๐ โ [๐] ๐#, ๐3, โฏ , ๐( โ
$ โค*
๐ โ
$ ๐(
Recall: ๐ธ, ๐ = ๐ผ(๐,) ๐<#
๐ โ
$ ๐(
๐ผ queries โฎ โฎ ๐ธ, queries ๐ bits
๐ท๐
Generic group
Generic group
๐ ๐ฆ , ๐ ๐ง ๐(๐ฆ + ๐ง) ๐ ๐ฆ , ๐ ๐ง ๐ง =
? ๐ค โ ๐ฆ
๐ท๐
๐: โค# โ 0,1 $ ๐ฆ โ โค#: ๐ ๐ฆ โ ๐%
โฎ
๐ท๐
Generic group
๐๐ ๐๐ โฎ ๐๐ ๐๐ (โ, ๐๐) (๐๐,โ)
Generic group
๐ ๐ฆ , ๐ ๐ง ๐(๐ฆ + ๐ง) ๐ ๐ฆ , ๐ ๐ง ๐ง =
? ๐ค โ ๐ฆ
๐ท๐
repeat queries
โฎ
๐ท๐
Generic group
๐๐ ๐๐ โฎ ๐๐ ๐๐ (โ, ๐ ) ๐ ( ๐ , โ )
Generic group
๐ ๐ฆ , ๐ ๐ง ๐(๐ฆ + ๐ง) ๐ ๐ฆ , ๐ ๐ง ๐ง =
? ๐ค โ ๐ฆ
๐ท๐
repeat queries
(๐#, ๐3) answer consistently Many > (
E% repeat queries
Few โค (
E% repeat queries
Need ๐ = ๐(๐ ๐ฆ๐ฉ๐ก ๐ช): intuitive, proof by compression argument, many subtleties Winning adversary against the permutation game Advantage negligible
๐" ๐# โฎ ๐๐ ๐๐ โฎ ๐๐ ๐๐
๐ bits
๐ตโ
๐" ๐# ๐ โ
$ ๐%
โฎ โฎ
๐ท๐ Generic group
๐& needs to figure out ๐ for consistent answers
๐ท๐ ๐3 ๐,(๐๐, ๐๐) ๐ ๐ =
? ๐
๐ท๐ ๐#
๐, ๐๐
H!๐๐
H#, ๐๐ J!๐๐
J#
๐ฆ?(#)๐ฆ?(3) โฏ ๐ฆ?(() =
? ๐ง#๐ง3 โฏ ๐ง(
Permutation game captures exactly this setting, combinatorially
๐" ๐# โฎ ๐๐ ๐๐ โฎ ๐๐ ๐๐
๐๐ ๐
๐
= ๐๐
๐(๐ฆ โ โค*
(, ๐ง โ โค* ()
๐โฒ ๐ ๐ฆ, ๐ง = A1 if ๐ฆ?(#)๐ฆ?(3) โฏ ๐ฆ? ( = ๐ง#๐ง3 โฏ ๐ง( 0 otherwise. ๐ โ
$ ๐(
AdvPG ๐ต = Pr[๐. = ๐] ๐ท
Lemma: If (๐ฆ', ๐ง'),โฏ,(๐ฆ(, ๐ง() are the queries by ๐ต that return 1 and rank ๐ฆ', โฏ , ๐ฆ( โค
) *+ , then,
AdvPG ๐ต = negl .
๐ต
๐#, ๐3 make few repeat queries โ ๐ต of this form that wins PG if (๐#, ๐3) answer consistently ๐ฆ = ๐ฆ#๐ฆ3 โฏ ๐ฆ( ๐ง = ๐ง#๐ง3 โฏ ๐ง(
Adv sends a representation of the group elements for every query
Different Hashed ElGamal variant, pairings
Our conjecture: ๐ = ฮฉ(๐ log ๐)
group model?