enhanced digital signature using splitted exponent digit
play

Enhanced Digital Signature using Splitted Exponent Digit - PowerPoint PPT Presentation

Enhanced Digital Signature using Splitted Exponent Digit Representation Christophe Ngre ( 1 ) , Thomas Plantard ( 2 ) , Jean-Marc Robert ( 1 , 3 ) 1: Team DALI/LIRMM, University of Perpignan, France 2: CCISR, SCIT, University of Wollongong,


  1. Enhanced Digital Signature using Splitted Exponent Digit Representation Christophe Nègre ( 1 ) , Thomas Plantard ( 2 ) , Jean-Marc Robert ( 1 , 3 ) 1: Team DALI/LIRMM, University of Perpignan, France 2: CCISR, SCIT, University of Wollongong, Australia 3: IMATH, Université de Toulon le 18 avril 2019 WRACH 2019, Roscoff, France C. Nègre, Th. Plantard, J.-M. Robert 1 / 26

  2. Table des matières State of The Art 1 State of the Art for Modular Exponentiation Contributions 2 Summary Radix- R and RNS Digit representation Radix- R and R -splitting representation Software Implementation and Performances Conclusion 3 C. Nègre, Th. Plantard, J.-M. Robert 2 / 26

  3. State of The Art Table des matières State of The Art 1 State of the Art for Modular Exponentiation Contributions 2 Summary Radix- R and RNS Digit representation Radix- R and R -splitting representation Software Implementation and Performances Conclusion 3 C. Nègre, Th. Plantard, J.-M. Robert 3 / 26

  4. State of The Art State of the Art for Modular Exponentiation Square-and-Multiply Left-to-Right Square-and-Multiply Modular Exponentiation Require: k = ( k t − 1 , . . . , k 0 ) , the DSA modulus p , g a generator of Z / p Z of order q . Ensure: X = g k mod p X ← 1 for i from t − 1 downto 0 do X ← X 2 mod p if k i = 1 then X ← X · g mod p end if end for return ( X ) C. Nègre, Th. Plantard, J.-M. Robert 4 / 26

  5. State of The Art State of the Art for Modular Exponentiation Square-and-Multiply Left-to-Right Square-and-Multiply Modular Exponentiation Require: k = ( k t − 1 , . . . , k 0 ) , the DSA modulus p , g a generator of Z / p Z of order q . Ensure: X = g k mod p X ← 1 for i from t − 1 downto 0 do X ← X 2 mod p if k i = 1 then X ← X · g mod p end if end for return ( X ) No storage, t − 1 squarings, ≈ t 2 multiplications. ⇒ One takes no advantage of the reuse of the exponent (i.e. when one needs to compute a lot of signature with the same public key) C. Nègre, Th. Plantard, J.-M. Robert 4 / 26

  6. State of The Art State of the Art for Modular Exponentiation Radix- R Radix- R Exponentiation Method (Gordon, 1998) Require: k = ( k ℓ − 1 , . . . , k 0 ) R , the DSA modulus p , g a generator of Z / p Z of order q . Ensure: X = g k mod p Precomputation. Store G i , j ← g j · R i , with j ∈ [ 1 , ..., R − 1 ] and 0 ≤ i < ℓ . X ← 1 for i from ℓ − 1 downto 0 do X ← X · G i , k i mod p end for return ( X ) C. Nègre, Th. Plantard, J.-M. Robert 5 / 26

  7. State of The Art State of the Art for Modular Exponentiation Radix- R Radix- R Exponentiation Method (Gordon, 1998) Require: k = ( k ℓ − 1 , . . . , k 0 ) R , the DSA modulus p , g a generator of Z / p Z of order q . Ensure: X = g k mod p Precomputation. Store G i , j ← g j · R i , with j ∈ [ 1 , ..., R − 1 ] and 0 ≤ i < ℓ . X ← 1 for i from ℓ − 1 downto 0 do X ← X · G i , k i mod p end for return ( X ) With w ← log 2 ( R ) → Storage of ⌈ t / w ⌉ · ( R − 1 ) values ∈ F p , no squarings, ℓ = ⌈ t / w ⌉ multiplications. C. Nègre, Th. Plantard, J.-M. Robert 5 / 26

  8. State of The Art State of the Art for Modular Exponentiation Fixed-base Comb Method In this method, the exponent k is written in w rows, and the colums are processed one at a time. Thus, d = ⌈ t / w ⌉ is the column size. k = K w − 1 � . . . � K 1 � K 0 Each K j is a bit string of length d . Let K j i denote the i th bit of K j . One sets: g [ K w − 1 i ] = g K w − 1 ,..., K 1 i , K 0 2 ( w − 1 ) d + ... + K 2 i 2 2 d + K 1 i 2 d + K 0 i i i C. Nègre, Th. Plantard, J.-M. Robert 6 / 26

  9. State of The Art State of the Art for Modular Exponentiation Fixed-base Comb Method i ] = g K w − 1 One sets: g [ K w − 1 ,..., K 1 i , K 0 2 ( w − 1 ) d + ... + K 2 i 2 2 d + K 1 i 2 d + K 0 i i i Fixed-base Comb Method (Lim & Lee, Crypto ’94) Require: k = ( k t − 1 , . . . , k 1 , k 0 ) 2 , the DSA modulus p , g a generator of Z / p Z of order q , window width w , d = ⌈ t / w ⌉ . Ensure: X = g k mod p Precomputation. Compute and store g [ a w − 1 ,..., a 0 ] mod p , ∀ ( a w − 1 , . . . , a 0 ) ∈ Z w 2 . X ← 1 for i from d − 1 downto 0 do X ← X 2 mod p X ← X · g [ K w − 1 ,..., K 1 i , K 0 i ] mod p i end for return ( X ) C. Nègre, Th. Plantard, J.-M. Robert 6 / 26

  10. State of The Art State of the Art for Modular Exponentiation Fixed-base Comb Method i ] = g K w − 1 One sets: g [ K w − 1 ,..., K 1 i , K 0 2 ( w − 1 ) d + ... + K 2 i 2 2 d + K 1 i 2 d + K 0 i i i Fixed-base Comb Method (Lim & Lee, Crypto ’94) Require: k = ( k t − 1 , . . . , k 1 , k 0 ) 2 , the DSA modulus p , g a generator of Z / p Z of order q , window width w , d = ⌈ t / w ⌉ . Ensure: X = g k mod p Precomputation. Compute and store g [ a w − 1 ,..., a 0 ] mod p , ∀ ( a w − 1 , . . . , a 0 ) ∈ Z w 2 . X ← 1 for i from d − 1 downto 0 do X ← X 2 mod p X ← X · g [ K w − 1 ,..., K 1 i , K 0 i ] mod p i end for return ( X ) Storage of 2 w − 1 values ∈ F p , With d ← ⌈ t / w ⌉ → d − 1 squarings, d multiplications. C. Nègre, Th. Plantard, J.-M. Robert 6 / 26

  11. fi State of The Art State of the Art for Modular Exponentiation Synthesis Complexities and storage amounts of state of the art methods, average case. storage # MM # MS (# values ∈ F p ) Square-and-multiply t / 2 t − 1 - Radix- R method ⌈ t / w ⌉ - ⌈ t / w ⌉ · ( R − 1 ) 2 w − 1 Fixed-base Comb d = ⌈ t / w ⌉ d − 1 C. Nègre, Th. Plantard, J.-M. Robert 7 / 26

  12. State of The Art State of the Art for Modular Exponentiation Synthesis Complexities and storage amounts of state of the art methods, average case. storage # MM # MS (# values ∈ F p ) Square-and-multiply t / 2 t − 1 - Radix- R method ⌈ t / w ⌉ - ⌈ t / w ⌉ · ( R − 1 ) 2 w − 1 Fixed-base Comb d = ⌈ t / w ⌉ d − 1 Complexity Comparison RadixR/FixedBaseComb 1e+07 FixedBaseComb radix R Total available storage #kBytes 1e+06 100000 10000 1000 100 20 40 60 80 100 120 140 number of fi eld multiplications #MM key size t = 512 bits (MS = 0.86 × MM). C. Nègre, Th. Plantard, J.-M. Robert 7 / 26

  13. Contributions Table des matières State of The Art 1 State of the Art for Modular Exponentiation Contributions 2 Summary Radix- R and RNS Digit representation Radix- R and R -splitting representation Software Implementation and Performances Conclusion 3 C. Nègre, Th. Plantard, J.-M. Robert 8 / 26

  14. Contributions Summary Contributions Starting from the Radix- R method: Digit recoding for exponent, using a multiplicative splitting (2 approaches); C. Nègre, Th. Plantard, J.-M. Robert 9 / 26

  15. Contributions Summary Contributions Starting from the Radix- R method: Digit recoding for exponent, using a multiplicative splitting (2 approaches); Enhanced algorithm for Modular Exponentiation and Elliptic Curve Scalar Multiplication; C. Nègre, Th. Plantard, J.-M. Robert 9 / 26

  16. Contributions Summary Contributions Starting from the Radix- R method: Digit recoding for exponent, using a multiplicative splitting (2 approaches); Enhanced algorithm for Modular Exponentiation and Elliptic Curve Scalar Multiplication; Complexity and storage requirements evaluation; C. Nègre, Th. Plantard, J.-M. Robert 9 / 26

  17. Contributions Summary Contributions Starting from the Radix- R method: Digit recoding for exponent, using a multiplicative splitting (2 approaches); Enhanced algorithm for Modular Exponentiation and Elliptic Curve Scalar Multiplication; Complexity and storage requirements evaluation; Software implementations, showing performance improvements. C. Nègre, Th. Plantard, J.-M. Robert 9 / 26

  18. Contributions Radix- R and RNS Digit representation Recoding Algorithm The Radix- R = m 0 · m 1 representation is as follows ( gcd ( m 0 , m 1 ) = 1): ℓ − 1 � k i R i , with ℓ = ⌈ t / log 2 ( R ) ⌉ , k = i = 0 and we represent the digits k i using RNS with base B = { m 0 , m 1 } : � k ( 0 ) = k i mod m 0 = | k i | m 0 , i k ( 1 ) = k i mod m 1 = | k i | m 1 . i C. Nègre, Th. Plantard, J.-M. Robert 10 / 26

  19. Contributions Radix- R and RNS Digit representation Recoding Algorithm The Radix- R = m 0 · m 1 representation is as follows ( gcd ( m 0 , m 1 ) = 1): ℓ − 1 � k i R i , with ℓ = ⌈ t / log 2 ( R ) ⌉ , k = i = 0 and we represent the digits k i using RNS with base B = { m 0 , m 1 } : � k ( 0 ) = k i mod m 0 = | k i | m 0 , i k ( 1 ) = k i mod m 1 = | k i | m 1 . i Chinese Remainder Theorem Using the CRT, one can retrieve k i : � � � k ( 0 ) · m 1 · | m − 1 1 | m 0 + k ( 1 ) · m 0 · | m − 1 k i = 0 | m 1 R . � � i i � C. Nègre, Th. Plantard, J.-M. Robert 10 / 26

  20. Contributions Radix- R and RNS Digit representation Recoding Algorithm → RNS splitting In the sequel, let’s denote (when k ( 1 ) � = 0) i 0 = m 1 · | m − 1 m ′ 1 | m 0 ,   m ′ 1 = m 0 · | m − 1 0 | m 1 , i = | k ( 0 ) · ( k ( 1 ) k ′ ) − 1 | m 0 .  i i C. Nègre, Th. Plantard, J.-M. Robert 11 / 26

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