faster isogeny based compressed key agreement
play

Faster Isogeny-Based Compressed Key Agreement Gustavo H. M. Zanon, - PowerPoint PPT Presentation

Faster Isogeny-Based Compressed Key Agreement Gustavo H. M. Zanon, Marcos A. Simplicio Jr, Geovandro C. C. F. Pereira , Javad Doliskani, and Paulo S. L. M. Barreto. 1 REVI EW : SI DH AND COMPRESSED KEYS 2 Isogeny-based Crypto n SIDH:


  1. Faster Isogeny-Based Compressed Key Agreement Gustavo H. M. Zanon, Marcos A. Simplicio Jr, Geovandro C. C. F. Pereira , Javad Doliskani, and Paulo S. L. M. Barreto. 1

  2. REVI EW : SI DH AND COMPRESSED KEYS 2

  3. Isogeny-based Crypto n SIDH: proposed replacement for DH-based elliptic curves in a post-quantum world. n Smallest post-quantum public keys ( < 200 bytes) ¨ boosted by key compression techniques ¨ applications with low bandwidth requirements n Downside: ¨ ≈ 2 order of magnitude slower than Four ℚ -based DH or other fast post-quantum KEM schemes (NewHope/ NTRU). 3

  4. SIDH Parameter Setting n ! = 2 $ ⋅ 3 ' − 1 for post-quantum sec. level ≈ 128 bits ¨ Previous: 751-bit prime for , = 372, / = 239 ¨ [ 2018] Adj et al. suggest ≈ 448 -bit primes are enough n 2 3 /5 6 7 ∶ 9: ; = < = + ?< ; + < a supersingular Montgomery curve of order p + 1 ; = 2 ;$ 3 ;' B , C B = 2(5 6 7 )[2 $ ] , A H , C H = 2(5 6 7 )[3 ' ] ¨ A n User private key: I ∈ K ℤ/ℓ N ℤ for ℓ ∈ 2,3 , O ∈ {,, /} n User public key: curve R S,T and points U V , U W . 4

  5. SIDH Parameter Setting n ! = 2 $ ⋅ 3 ' − 1 for post-quantum sec. level ≈ 128 bits ¨ Previous: 751-bit prime for , = 372, / = 239 ¨ [ 2018] Adj et al. suggest ≈ 448 -bit primes are enough n 2 3 /5 6 7 ∶ 9: ; = < = + ?< ; + < a supersingular Montgomery curve of order p + 1 ; = 2 ;$ 3 ;' B , C B = 2(5 6 7 )[2 $ ] , A H , C H = 2(5 6 7 )[3 ' ] ¨ A n User private key: I ∈ K ℤ/ℓ N ℤ for ℓ ∈ 2,3 , O ∈ {,, /} n User public key: curve R S,T and points U V , U W . 5

  6. SIDH Parameter Setting n ! = 2 $ ⋅ 3 ' − 1 for post-quantum sec. level ≈ 128 bits ¨ Previous: 751-bit prime for , = 372, / = 239 ¨ [ 2018] Adj et al. suggest ≈ 448 -bit primes are enough n 2 3 /5 6 7 ∶ 9: ; = < = + ?< ; + < a supersingular Montgomery curve of order p + 1 ; = 2 ;$ 3 ;' B , C B = 2(5 6 7 )[2 $ ] , A H , C H = 2(5 6 7 )[3 ' ] ¨ A n User private key: I ∈ K ℤ/ℓ N ℤ for ℓ ∈ 2,3 , O ∈ {,, /} n User public key: curve R S,T = U(2 3 ) and points V W , V X ∈ 2 B,H . 6

  7. SIDH Public Key Compression n Goal: transmit public key {" #,% , & ' , &())} " #,% /- . / : 12 3 = 5 6 + 85 3 + 5 & ' , & ) ∈ E ;,< 7

  8. SIDH Public Key Compression n [ 2011] Jao et al. ’s public key representation: !, # , $ % & , $ %(() ∈ + , - Pub. Key size: . /01 2 bits 3 4,5 /+ , - : #8 9 = ; < + !; 9 + ; % & , % ( ∈ E ?,@ 8

  9. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: '() *,+ ) ) *,+ /. / 0 : 23 4 = 6 7 + 96 4 + 6 ! " # ,% # ← '() *,+ ) : ; , : < ∈ E ?,@ isomorphic curve 9

  10. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: ! " #,% ∈ ' ( ) : * +,- . bits vs " #,% /' ( ) : 56 7 = 9 : + <9 7 + 9 #, % ∈ ' ( ) : / +,- . bits = > , = ? ∈ E A,B * 012 . bits saved 10

  11. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: :(< =,> ) < =,> /A B C : EF % = G H + IG % + G 4 5 , 4 8 ∈ / 0,1 There is a canonical basis {" # , " % } such that " # , " % = / 0,1 3 3 Idea: express 4 5 = 6 # " # + 6 % " % 4 8 = 9 # " # + 9 % " % 11

  12. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: :(< =,> ) < =,> /A B C : EF % = G H + IG % + G 4 5 , 4 8 ∈ / 0,1 There is a canonical basis {" # , " % } such that " # , " % = / 0,1 3 3 Linear algebra tasks - Build a basis Idea: express 4 5 = 6 # " # + 6 % " % - Internal product: pairing 4 8 = 9 # " # + 9 % " % - Coeff. extraction: DLOG 12

  13. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: %(' (,) ) ' (,) /. / 0 : 23 $ = 5 6 + 85 $ + 5 9 : = @ " ! " + @ $ ! $ 9 : , 9 ; ∈ = >,? 9 ; = A " ! " + A $ ! $ Find ! " , ! $ : Compression (1/ 3): Expensive scalar multiplications involved • find a basis {! " , ! $ } 13

  14. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: 7(9 :,; ) 9 :,; /> ? @ : BC ( = D E + FD ( + D ! " = $ % & % + $ ( & ( ! " , ! ) ∈ H I,J ! ) = * % & % + * ( & ( + = , - . / 0 , / 2 Compression (2/ 3): + 3 = , - . / 0 , 4 5 • prepare DLOG instances + 0 = , - . / 2 , 4 5 • Cost: 5 pairings + 2 = , - . / 0 , 4 6 + - = , - . / 2 , 4 6 21

  15. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: 9(; <,> ) ; <,> /A B C : EF ( = G H + IG ( + G ! " , ! ) ∈ K L,M ! " = $ % & % + $ ( & ( ! ) = * % & % + * ( & ( Compression (3/ 3): + , = − ./0 1 1 , + 2 = ./0 1 1 3 • Compute $ 6 ’s and * 6 ’s • Cost: 4 order 3 8 DLOGs 4 , = − ./0 1 1 5 (Pohlig-Hellman) 4 2 = ./0 1 1 2 22

  16. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: !(# $,& ) ( ) , ( * , + ) , + * ∈ ℤ . / # $,& /1 2 3 : 56 7 = 9 . + ;9 7 + 9 < = , < > ∈ ? @,A 23

  17. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: !(# $,& ) ( ) , ( * , + ) , + * ∈ ℤ . / 0 : * 123 4 bits Vs 5 6 7 , 5 6(8) ∈ 9 : ; : < 123 4 bits # $,& /A : ; : CD E = 5 . + H5 E + 5 I J , I K ∈ L M,N * =>? 4 bits saved 24

  18. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: 9(; <,= ) 3 4 , 3 6 , 8 4 , 8 6 ; <,= /@ A B : DE % = F G + HF % + F Decompression I J , I K ∈ ( ),+ • Compute ⟨" # , " % ⟩ = ( ) * ,+ * [3 . ] • Recover points: 0 1 ← 3 4 " # + 3 6 " % 0 7 ← 8 4 " # + 8 6 " % • Cost: 4 scalar muls. 25

  19. SIDH Public Key Compression n [ 2016] Azarderakhsh et al.’s key compression: ! " #,% ∈ ' ( ) : * +,- . bits / 0 , / * , 1 0 , 1 * ∈ ℤ 3 4 : * +,- . bits vs #, % ∈ 5 ( ) : 6 +,- . bits 7 8(:) , 7 8 < : 6 +,- . bits Public key size: 6 =>? . bits Keys shrunk by 2× J • • Com pression tim e > 0C× KEX L 26

  20. SIDH Public Key Compression n [ 2017] Costello et al. key compression: L(4 M,; ) N O , N P , Q O , Q P !/# $ % : '( ) = + , + .+ ) + + Further compression / 0 , / 2 ∈ 4 • Bob recovers 5 6 , 5 7 to compute the kernel 8 = ⟨5 6 + : ; 5 7 ⟩ = = > + : ; ? > )A > + (= ) +: ; ? > )A ) • wlog. assume = > is invertible CDE 3 G (otherwise ? > is), then H> A > + (= ) = > H> + J K ? ) = > H> 8 = H> )A ) = 8 = > 1 + J K ? > = > 27

  21. SIDH Public Key Compression n [ 2017] Costello et al. key compression: L(4 M,; ) N O , N P , Q O , Q P !/# $ % : '( ) = + , + .+ ) + + Further compression / 0 , / 2 ∈ 4 • After recovering 5 6 , 5 7 , Bob computes the kernel 8 = ⟨5 6 + : ; 5 7 ⟩ = = > + : ; ? > )A > + (= ) +: ; ? > )A ) • wlog. assume = > is invertible CDE 3 G (otherwise ? > is), then H> A > + (= ) = > H> + J K ? ) = > H> 8 = H> )A ) = 8 = > 1 + J K ? > = > 28

  22. SIDH Public Key Compression n [ 2017] Costello et al. key compression: L(4 M,; ) N O , N P , Q O , Q P !/# $ % : '( ) = + , + .+ ) + + Further compression / 0 , / 2 ∈ 4 • After recovering 5 6 , 5 7 , Bob computes the kernel 8 = ⟨5 6 + : ; 5 7 ⟩ = = > + : ; ? > )A > + (= ) +: ; ? > )A ) • wlog. assume = > is invertible CDE 3 G (otherwise ? > is), then H> A > + (= ) = > H> + J K ? ) = > H> 8 = H> )A ) = 8 = > 1 + J K ? > = > 29

  23. SIDH Public Key Compression n [ 2017] Costello et al.’s key compression: >, ?, @ ∈ ℤ , 6 A : A/B CDE F bits !/# $ % : '( ) = + , + .+ ) + + / 0 , / 2 ∈ 4 3 elements in ℤ , 6 are enough: ;9 ∈ ℤ , 6 7 = 8 9 : 9 ;9 ∈ ℤ , 6 < = : ) : 9 ;9 ∈ ℤ , 6 = = 8 ) : 9 Plus 1 bit about invertibility of : 9 or 8 9 30

  24. SIDH Public Key Compression n 2017, Costello et al.’s key compression: !/# $ % : '( ) = + , + .+ ) + + To compress / 0 , / 2 : / 0 , / 2 ∈ 4 generate basis 5 6 , 5 ) • • Optimizations on compute 5 pairings steps 1, 2 and 3 • NB: cost of 5-way Monty Inv.: 30 muls (report) of compression and compute 4 DLOGs, i.e., {8 6 , 8 ) , 9 6 , 9 ) } • on decompression. compute ;, <, = from the quadruple above • 31

  25. SIDH Public Key Compression n 2017, Costello et al.’s key compression: !(#) ∈ & ' ( : ) *+, - bits ., 0, 1 ∈ ℤ 3 4 3 : 5/) *+, - bits 7/8 ' ( : :; < = > 3 + @> < + > A B , A C ∈ # Public key size: 5. E FGH - bits • Ex.: IJ = 328 bytes for I = 751 bits Compression time ≈ R× KEX and decompression ≈ T. U× KEX 32

  26. SIDH Public Key Compression n Is the current (de)compression performance acceptable? 33

  27. SIDH Public Key Compression n Is the current (de)compression performance acceptable? n Current state of classical elliptic curves: ¨ CHES’2 0 1 7 * : speed records for ECDH on embedded devices using curve Four ℚ . n Compression = free (similar to original SIDH, send one coordinate of the point) n Decompression = 0.04x key agreement * Liu Z, Longa P, Pereira G, Reparaz O, Seo H. FourQ on embedded devices with strong countermeasures against side-channel attacks. 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend