Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Discrete Logarithm Problem with Preprocessing

Similar presentations


Presentation on theme: "The Discrete Logarithm Problem with Preprocessing"β€” Presentation transcript:

1 The Discrete Logarithm Problem with Preprocessing
Henry Corrigan-Gibbs and Dmitry Kogan Stanford University Eurocrypt – 1 May Tel Aviv, Israel

2 Signatures (DSA and Schnorr)
Pairings DH key exchange DDH Signatures (DSA and Schnorr) Discrete log

3 The discrete-log problem
Group: 𝔾= 𝑔 of prime order 𝑁 Solution: π‘₯∈ β„€ 𝑁 Instance: 𝑔 π‘₯ βˆˆπ”Ύ Adversary π’œ Why do we believe this problem is hard?

4 Generic lower bounds give us confidence
Theorem. [Shoup’97] Every generic discrete-log algorithm that operates in a group of prime order 𝑁 and succeeds with probability at least Β½ must run in time Ξ©( 𝑁 1/2 ). Generic attack in 256-bit group takes β‰ˆ time. Best attacks on standard EC groups are generic

5 Very useful way to understand hardness [BB04,B05,M05,D06, B08,Y15,…]
Generic algorithms can only make β€œblack-box” use of the group operation Generic-group model: Group is defined by an injective β€œlabeling” function 𝜎: β„€ 𝑁 β†’ 0,1 βˆ— Algorithm has access to a group-operation oracle: π’ͺ 𝜎 𝜎 𝑖 , 𝜎 𝑗 ↦ 𝜎 𝑖+𝑗 Generic dlog algorithm takes as input 𝜎 1 , 𝜎 π‘₯ , representing (𝑔, 𝑔 π‘₯ ), make queries to π’ͺ 𝜎 , outputs π‘₯. [Measure running time by query complexity] Very useful way to understand hardness [BB04,B05,M05,D06, B08,Y15,…] [Nechaev’94], [Shoup’97], [Maurer’05]

6 Existing generic lower bounds do not account for preprocessing
Premise of generic-group model: the adversary knows nothing about the structure of the group 𝔾 in advance In reality: the adversary knows a lot about 𝔾! 𝔾 is one of a small number of groups: NIST P-256, Curve25519, … A realistic adversary can perform 𝔾-specific preprocessing! Existing generic-group lower bounds say nothing about preprocessing attacks! [H80, Yao90, FN91, …]

7 Preprocessing phase π’œ 0 Online phase π’œ 1 Group: 𝔾= 𝑔 Advice: 𝑠𝑑 𝔾
Both algorithms are generic! Both algorithms are generic! Online phase Instance: 𝑔 π‘₯ βˆˆπ”Ύ Solution: π‘₯∈ β„€ 𝑁 π’œ 1 Initiated by Hellman (1980) in context of OWFs

8 Preprocessing phase π’œ 0 Online phase π’œ 1 Preprocessing time 𝑃
Group: 𝔾= 𝑔 Advice: 𝑠𝑑 𝔾 π’œ 0 Advice size 𝑆 Online phase Online time 𝑇 Instance: 𝑔 π‘₯ βˆˆπ”Ύ Solution: π‘₯∈ β„€ 𝑁 π’œ 1 Success prob. πœ– Initiated by Hellman (1980) in context of OWFs

9 Rest of this talk Background: Preprocessing attacks are relevant
Preexisting 𝑆=𝑇= 𝑂 ( 𝑁 1/3 ) generic attack on discrete log Our results: Preprocessing lower-bounds and attacks The 𝑂 ( 𝑁 1/3 ) generic dlog attack is optimal Any such attack must use lots of preprocessing: Ξ©( 𝑁 2/3 ) New 𝑂 ( 𝑁 1/5 ) preprocessing attack on DDH-like problem Open questions

10 Will sketch the algorithm for 𝑆=𝑇= 𝑁 1/3 , constant πœ–.
A preexisting result… Theorem. [Mihalcik 2010] [Lee, Cheon, Hong 2011] [Bernstein and Lange 2013] There is a generic dlog algorithm with preprocessing that: uses 𝑆 bits of group-specific advice, uses 𝑇 online time, and succeeds with probability πœ–, such that: 𝑆 𝑇 2 = 𝑂 (πœ–π‘) Will sketch the algorithm for 𝑆=𝑇= 𝑁 1/3 , constant πœ–. Escott, Sager, Selkirk, Tsapakidis (CryptoBytes) – Reusing DPs Kuhn and Struik - Multiple Dlog Hitchcock, Montague, Carter, Dawson (2004) – Implications of using fixed curves Lee, Cheon, Hong (2011) - Dlog for IBE …. building on prior work on multiple-discrete-log algorithms [ESST99,KS01,HMCD04,BL12]

11 … … Preliminaries 𝑔 π‘₯ 𝑔 π‘₯+ 𝛼 1 𝑔 π‘₯+ 𝛼 1 + 𝛼 2 𝑔 π‘₯+ 𝑖 𝛼 𝑖 =π’ˆ π’š
Define a pseudo-random walk on 𝔾: 𝑔 π‘₯ ↦ 𝑔 π‘₯+𝛼 where 𝛼=Hash 𝑔 π‘₯ is a random function 𝑔 π‘₯ 𝑔 π‘₯+ 𝛼 1 𝑔 π‘₯+ 𝛼 1 + 𝛼 2 𝑔 π‘₯+ 𝑖 𝛼 𝑖 … =π’ˆ π’š … π‘₯ 𝑦 If you know the dlog of the endpoint of a walk, you know the dlog of the starting point! [M10, LCH11, BL13]

12 Preprocessing time: Ξ© ( 𝑁 2/3 )
Preprocessing phase Build 𝑁 1/3 chains of length 𝑁 1/3 Store dlogs of chain endpoints Online phase Walk 𝑂( 𝑁 1/3 ) steps When you hit a stored point, output the discrete log Length: 𝑁 1/3 Advice: 𝑂 ( 𝑁 1/3 ) bits 𝑁 1/3 chains … … 𝑔 π‘₯ Time: 𝑂 ( 𝑁 1/3 ) steps Preprocessing time: Ξ© ( 𝑁 2/3 ) Advice string [M10, LCH11, BL13]

13 Is this dlog attack the best possible?!
Generic discrete log Without preprocessing: Ξ© 𝑁 1/ 𝟐 πŸπŸπŸ– time With preprocessing: 𝑂 ( 𝑁 1/3 ) 𝟐 πŸ–πŸ” time Related preprocessing attacks break: Multiple discrete log problem [This paper] One-round Even-Mansour cipher [FJM14] Merkle-DamgΓ₯rd hash with random IV [CDGS17] 256-bit ECDL Is this dlog attack the best possible?! β€œ

14 Discrete log Pairings DH key exchange DDH Signatures (DSA and Schnorr)
Could there exist a generic dlog preprocessing attack with 𝑆=𝑇= 𝑁 1/10 ? Preprocessing attacks might make us worry about 256-bit EC groups

15

16 This talk Background: Preprocessing attacks are relevant
Preexisting 𝑆=𝑇= 𝑂 ( 𝑁 1/3 ) generic attack on discrete log Our results: Preprocessing lower-bounds and attacks The 𝑂 ( 𝑁 1/3 ) generic dlog attack is optimal Any such attack must use lots of preprocessing: Ξ©( 𝑁 2/3 ) New 𝑂 ( 𝑁 1/5 ) preprocessing attack on DDH-like problem Open questions

17 uses 𝑆 bits of group-specific advice, uses 𝑇 online time, and
Theorem. [Our paper] Every generic dlog algorithm with preprocessing that: uses 𝑆 bits of group-specific advice, uses 𝑇 online time, and succeeds with probability πœ–, must satisfy: 𝑆 𝑇 2 = Ξ© (πœ–π‘) This bound is tight for the full range of parameters (up to log factors) Shoup’s proof technique (1997) relies on π’œ having no information about the group 𝔾 when it starts running οƒ  Need different proof technique

18 Online time 𝑁 1/3 implies Ξ©( 𝑁 2/3 ) preprocessing
Theorem. [Our paper] Every generic dlog algorithm with preprocessing that: uses 𝑆 bits of group-specific advice, uses 𝑇 online time, and succeeds with probability πœ–, must satisfy: 𝑆 𝑇 2 = Ξ© (πœ–π‘) Online time 𝑁 1/3 implies Ξ©( 𝑁 2/3 ) preprocessing Theorem. [Our paper] Furthermore, the preprocessing time 𝑃 must satisfy 𝑃𝑇+ 𝑇 2 =Ξ©(πœ–π‘)

19 Reminder: Generic-group model
A group is defined by an injective β€œlabeling” function 𝜎: β„€ 𝑁 β†’ 0,1 βˆ— Algorithm has access to a group-operation oracle: π’ͺ 𝜎 𝜎 𝑖 , 𝜎 𝑗 ↦ 𝜎 𝑖+𝑗 E.g., A dlog algorithm takes as input 𝜎 1 , 𝜎 π‘₯ , representing (𝑔, 𝑔 π‘₯ ), make queries to π’ͺ 𝜎 , outputs π‘₯.

20 We prove the lower bound using an incompressibility argument
[Yao90, GT00, DTT10, DHT12, DGK17…] Use π’œ to compress the mapping 𝜎: β„€ 𝑁 β†’ 0,1 βˆ— that defines the group Adv π’œ uses advice 𝑆 and online time 𝑇 such that 𝑆 𝑇 2 =π‘œ(𝑁) β‡’ Encoder compresses well Random string is incompressible β‡’ Lower bound on 𝑆 and 𝑇 Similar technique used in [DHT12] (Random) Encoder Decoder 𝑖 𝜎(𝑖) 1 101 2 110 3 001 … 𝑖 𝜎(𝑖) 1 101 2 110 3 001 … Compressed representation π’œ Enc(𝜎) π’œ Wlog, assume π’œ is deterministic

21 Proof idea: Use preprocessing dlog adversary π’œ 0 , π’œ 1 to build a compressed representation of the mapping 𝜎. [Yao90, GT00, DHT12] Encoder 𝑖 𝜎(𝑖) 1 101 2 110 3 001 4 000 5 1111 …

22 Proof idea: Use preprocessing dlog adversary π’œ 0 , π’œ 1 to build a compressed representation of the mapping 𝜎. [Yao90, GT00, DHT12] Compressed representation of 𝜎 Encoder π’œ 0 s t 𝜎 𝑖 𝜎(𝑖) 1 101 2 110 3 001 4 000 5 1111 … Responses to π’œ 1 ’s queries on β€œ000” π’œ 1 (000) First bitstring in image of 𝜎, representing some 𝑔 π‘₯ Run π’œ 1 on 𝐼 instances, for some parameter 𝐼 Responses to π’œ 1 ’s queries on β€œ001” π’œ 1 (001) … … Rest of 𝜎

23 Compressed representation of 𝜎
Proof idea: Use preprocessing dlog adversary π’œ 0 , π’œ 1 to build a compressed representation of the mapping 𝜎. [Yao90, GT00, DHT12] Compressed representation of 𝜎 Decoder s t 𝜎 𝑖 𝜎(𝑖) 1 101 2 110 3 001 4 000 5 1111 … Run π’œ 1 on 𝐼 instances Whenever π’œ 1 outputs a dlog, we get one value 𝜎(𝑖) β€œfor free” … 𝜎 5 = ? 𝜎 2 = ? π’œ 1 (000) β€œ111” β€œ110” 𝜎 1 = ? … π’œ 1 (001) β€œ101” … … Rest of 𝜎

24 Easy case: The response to all of π’œ 1 ’s queries are distinct
Claim: Each invocation of π’œ 1 allows the encoder to compress 𝜎 by at least one bit. Easy case: The response to all of π’œ 1 ’s queries are distinct π’œ 1 outputs a discrete log β€œfor free” β‡’ Compress by β‰ˆlog 𝑁 bits Harder case: The response to query 𝑑 is the same as the response to query 𝑑′<𝑑. A naΓ―ve encoding β€œpays twice” for the same value 𝜎(𝑖) β‡’ No savings  Instead, encoder writes a pointer to query 𝑑′ If the encoder runs π’œ 1 on 𝐼 instances, requires log 𝐼𝑇 log 𝑇 bits. Each execution of 𝓐 𝟏 saves at least 1 bit, when: π₯𝐨𝐠 𝑰 𝑻 𝟐 <π₯𝐨𝐠𝑡, or 𝑰<𝑡/ 𝑻 𝟐 Pointer to query 𝑑′ Index of query 𝑑 [DHT12] treats a more difficult version of β€œhard case”

25 Completing the proof We run the adversary π’œ 1 on 𝐼=𝑁/ 𝑇 2 instances
Each execution compresses by β‰₯ 1 bit BUT, we have to include the 𝑆-bit advice string in the encoding = π‘†βˆ’ 𝑁 𝑇 2 β‰₯ β‡’ 𝑆 𝑇 2 =Ξ© 𝑁 ∎ Encoding overhead

26 Extra complications Algorithms that succeed on an πœ–-fraction of group elements Use the random self-reducibility of dlog Hardcode a good set of random coins for π’œ 1 into Enc 𝝈 Decisional type problems (DDH, etc.) π’œ 1 only outputs 1 bitβ€”prior argument fails because encoding the runtime in log 𝑇 bits is too expensive Run π’œ 1 on batches of inputs [See paper for details]

27 What about Decision Diffie-Hellman (DDH)?
DDH problem: Distinguish 𝑔, 𝑔 π‘₯ , 𝑔 𝑦 , 𝑔 π‘₯𝑦 from 𝑔, 𝑔 π‘₯ , 𝑔 𝑦 , 𝑔 𝑧 Upper bound Lower bound Time 𝑇 Discrete log: 𝑆 𝑇 2 = 𝑂 πœ–π‘ 𝑆 𝑇 2 = Ξ© πœ–π‘ 𝑁 1/4 CDH: 𝑆 𝑇 2 = 𝑂 πœ–π‘ 𝑆 𝑇 2 = Ξ© πœ–π‘ 𝑁 1/4 DDH: 𝑆 𝑇 2 = 𝑂 πœ–π‘ 𝑆 𝑇 2 = Ξ© πœ– 2 𝑁 ≀ 𝑁 1/4 β‰₯ 𝑁 1/8 sqDDH: 𝑆 𝑇 2 = 𝑂 πœ– 2 𝑁 𝑆 𝑇 2 = Ξ© πœ– 2 𝑁 𝑁 1/8 For πœ–= 𝑁 βˆ’1/4 𝑆= 𝑁 1/4 Our new results Our new results Better attack?

28 𝑔, 𝑔 π‘₯ , 𝑔 π‘₯ 2 from 𝑔, 𝑔 π‘₯ , 𝑔 𝑦 for π‘₯,𝑦 ← 𝑅 β„€ 𝑁 .
Definition. The sqDDH problem is to distinguish 𝑔, 𝑔 π‘₯ , 𝑔 π‘₯ from 𝑔, 𝑔 π‘₯ , 𝑔 𝑦 for π‘₯,𝑦 ← 𝑅 β„€ 𝑁 . Why it’s interesting: For generic online-only algs, it’s as hard as discrete log For generic preprocesssing algs, we show that it’s β€œmuch easier” οƒ  A DDH-like problem that is easier than dlog

29 This talk Background: Preprocessing attacks are relevant
Preexisting 𝑆=𝑇= 𝑂 ( 𝑁 1/3 ) generic attack on discrete log Our results: Preprocessing lower-bounds and attacks The 𝑂 ( 𝑁 1/3 ) generic dlog attack is optimal Any such attack must use lots of preprocessing: Ξ©( 𝑁 2/3 ) New 𝑂 ( 𝑁 1/5 ) preprocessing attack on DDH-like problem Open questions

30 Open questions and recent progress
Tightness of DDH upper/lower bounds? Is it as hard as dlog or as easy as sqDDH? Non-generic preprocessing attacks on ECDL? As we have for β„€ 𝑝 βˆ— Coretti, Dodis, and Guo (2018) Elegant proofs of generic-group lower bounds using β€œpresampling” (Γ  la Unruh, 2007) Prove hardness of β€œone-more” dlog, KEA assumptions, …

31 This talk Background: Preprocessing attacks are relevant
Preexisting 𝑆=𝑇= 𝑂 ( 𝑁 1/3 ) generic attack on discrete log Our results: Preprocessing lower-bounds and attacks The 𝑂 ( 𝑁 1/3 ) generic dlog attack is optimal Any such attack must use lots of preprocessing: Ξ©( 𝑁 2/3 ) New 𝑂 ( 𝑁 1/5 ) preprocessing attack on DDH-like problem Open questions Henry – Dima –

32


Download ppt "The Discrete Logarithm Problem with Preprocessing"

Similar presentations


Ads by Google