rainbow
play

Rainbow Jintai Ding, Ming-Shing Chen, Albrecht Petzoldt, Dieter - PowerPoint PPT Presentation

Rainbow Jintai Ding, Ming-Shing Chen, Albrecht Petzoldt, Dieter Schmidt, Bo Yin Yang The 2nd NIST Standardization Conference for Post-Quantum Cryptosystems Santa Barbara, USA 22.09.2019 Jintai Ding NIST Standardization Conference 1 / 17


  1. Rainbow Jintai Ding, Ming-Shing Chen, Albrecht Petzoldt, Dieter Schmidt, Bo Yin Yang The 2nd NIST Standardization Conference for Post-Quantum Cryptosystems Santa Barbara, USA 22.09.2019 Jintai Ding NIST Standardization Conference 1 / 17

  2. Multivariate Cryptography MPKC: Multivariate Public Key Cryptosystem Public Key: System of nonlinear multivariate polynomials n n n � � � p (1) p (1) · x i + p (1) p (1) ( x 1 , . . . , x n ) = · x i x j + ij i 0 i =1 j = i i =1 n n n � � � p (2) p (2) · x i + p (2) p (2) ( x 1 , . . . , x n ) = · x i x j + 0 ij i i =1 j = i i =1 . . . n n n � � � p ( m ) p ( m ) · x i + p ( m ) p ( m ) ( x 1 , . . . , x n ) = · x i x j + ij i 0 i =1 j = i i =1 Jintai Ding NIST Standardization Conference 2 / 17

  3. Construction Easily invertible quadratic map F : F n → F m Two invertible affine (or linear) maps S : F m → F m and T : F n → F n Public key : P = S ◦ F ◦ T supposed to look like a random system and S , T are used to protect F Private key : S , F , T allows to invert the public key Jintai Ding NIST Standardization Conference 3 / 17

  4. Signature Schemes ( m ≤ n ) Signature Generation S − 1 F − 1 T − 1 ✲ ✲ ✲ w ∈ F m x ∈ F m y ∈ F n z ∈ F n ✻ P Signature Verification Signature Generation : Given a document d ∈ { 0 , 1 } ⋆ , use a hash function H to compute w = H ( d ) ∈ F m , compute recursively x = S − 1 ( w ) ∈ F m , y = F − 1 ( x ) ∈ F n and z = T − 1 ( y ). The signature of the message d is z ∈ F n . Signature Verification : Given signature z ∈ F n , hash value w ∈ F m , compute w ′ = P ( z ) ∈ F m . If w ′ = w holds, the signature is accepted, otherwise rejected. Jintai Ding NIST Standardization Conference 4 / 17

  5. Unbalanced Oil-vinegar (UOV) schemes The design of Rainbow is based on the UOV by Patarin etc invented in 1999. F = ( f 1 ( x 1 , .., x o , x ′ 1 , ..., x ′ v ) , · · · , f o ( x 1 , .., x o , x ′ 1 , ..., x ′ v )) . Jintai Ding NIST Standardization Conference 5 / 17

  6. Unbalanced Oil-vinegar (UOV) schemes The design of Rainbow is based on the UOV by Patarin etc invented in 1999. F = ( f 1 ( x 1 , .., x o , x ′ 1 , ..., x ′ v ) , · · · , f o ( x 1 , .., x o , x ′ 1 , ..., x ′ v )) . � � � � f l ( x 1 , ., x o , x ′ 1 , ., x ′ a lij x i x ′ b lij x ′ i x ′ d li x ′ v ) = j + j + c li x i + i + e l . Oil variables: x 1 , ..., x o . Vinegar variables: x ′ 1 , ..., x ′ v . Jintai Ding NIST Standardization Conference 5 / 17

  7. How to invert OV map? x ′ 1 , ., x ′ f l ( x 1 , ., x o , ) = v � �� � fix the values � � � � a lij x i x ′ b lij x ′ i x ′ d li x ′ j + j + c li x i + i + e l . Jintai Ding NIST Standardization Conference 6 / 17

  8. How to invert OV map? f l ( x 1 , ., x o , x ′ 1 , ., x ′ v ) = � � � � a lij x i x ′ b lij x ′ i x ′ d li x ′ j + j + c li x i + i + e l . This implies high efficiency in signing since the main cost is to solve a small linear system. Jintai Ding NIST Standardization Conference 7 / 17

  9. How to invert OV map? f l ( x 1 , ., x o , x ′ 1 , ., x ′ v ) = � � � � a lij x i x ′ b lij x ′ i x ′ d li x ′ j + j + c li x i + i + e l . F : linear in Oil variables: x 1 , .., x o . = ⇒ OV map: easy to invert. This implies high efficiency in signing since the main cost is to solve a small linear system. Jintai Ding NIST Standardization Conference 7 / 17

  10. The Rainbow Signature Scheme finite field F with q elements, integers 0 < v 1 < v 2 < · · · < v u < v u +1 = n set V i = { 1 , . . . , v i } and O i = { v i + 1 , . . . , v i +1 } ( i = 1 , . . . , u ) ⇒ | V i | = v i , | O i | = v i +1 − v i := o i central map F consists of m := n − v 1 polynomials f ( v 1 +1) , . . . , f ( n ) of the form � � � α ( k ) β ( k ) γ ( k ) f ( k ) ( x 1 , . . . , x n ) = x i + δ ( k ) , ij x i x j + ij x i x j + i i , j ∈ V ℓ i ∈ V ℓ , j ∈ O ℓ i ∈ V ℓ ∪ O ℓ where ℓ is the only integer such that k ∈ O ℓ . two invertible affine maps S : F m → F m and T : F n → F n Public Key : P = S ◦ F ◦ T : F n → F m Private Key : S , F , T Jintai Ding NIST Standardization Conference 8 / 17

  11. Signature Generation Given a document d ∈ { 0 , 1 } ⋆ to be signed, perform the following steps 1 Use a hash function H : { 0 , 1 } ⋆ → F m to compute w = H ( d ). 2 Compute x = S − 1 ( w ) ∈ F m . 3 The Vinegar variables are substituted by random values into the polynomials f ( v 1 +1) , . . . , f ( n ) . 4 for I:=1 to u do Solve the linear system provided by f ( v i +1) , . . . f ( v i +1 ) to get the values of y v i +1 , . . . , y v i +1 and substitute them into the polynomials f ( v i +1 +1) , . . . , f ( n ) . 5 Set y = ( y 1 , . . . , y n ) ∈ F n . 6 Compute the signature z ∈ F n by z = T − 1 ( y ). Jintai Ding NIST Standardization Conference 9 / 17

  12. Signature Verification Given a document d ∈ { 0 , 1 } ⋆ and a signature z ∈ F n , compute w ′ = P ( z ) ∈ F m and w = H ( d ) ∈ F m . If w ′ = w holds, the signature is accepted; otherwise it is rejected. Jintai Ding NIST Standardization Conference 10 / 17

  13. Security Analysis of Rainbow Generic MQ problem – NP-hard Direct attacks do not work ( as hard as generic problem) Simple structure – simple, easy to implement and well understood attacks Main attacks: Algebraic attack, OV attack, Rank attacks and RainbowBand Separation attacks Practical attacks match closely to theoretical estimates. No substantial but incremental update of Rainbow cryptanalysis since 2008 Jintai Ding NIST Standardization Conference 11 / 17

  14. Rainbow - Highlights Solid history: UOV 1999 and Rainbow 2004 existentially unforgeable under chosen message attacks very efficient signature generation and verification (signature generation at least 20 times faster than that of all competitors) easy to implement and naturally resist passive side channel attacks very short signatures ( 48 bytes for Level I, II) but relatively large PK size accepted as a 2nd round candidate for the NIST standardization process of post-quantum cryptosystems Jintai Ding NIST Standardization Conference 12 / 17

  15. Changes to the first round submission Reduction of the number of parameter sets We now have three parameter sets ◮ (GF(16),32,32,32) for NIST security category I and II, ◮ (GF(256),68,36,36) for NIST security category III and IV and ◮ (GF(256),92,48,48) for the NIST security category V and VI. Inclusion of two other modes ◮ cyclic Rainbow ⇒ Reduction of the public key size by up to 70 % ◮ compressed Rainbow ⇒ Reduction of the public key size by up to 70 % ⇒ Private key is stored as a 64B seed ⇒ Slower signature generation and verification process Jintai Ding NIST Standardization Conference 13 / 17

  16. Changes to the first round submission (2) Speed up of the Key Generation algorithm ◮ use of homogeneous keys ◮ use of specially designed maps S and T (equivalent keys)   T (1) T (2) 1 v 1 × v 1 � � v 1 × o 1 v 1 × o 2 1 o 1 × o 1 S ′ o 1 × o 2  T (3)  S = T = , 0 o 1 × v 1 1 o 1 × o 1   0 o 2 × o 1 1 o 2 × o 2 o 1 × o 2 0 o 2 × v 1 0 o 2 × o 1 1 o 2 × o 2 ⇒ Key Generation can be performed using matrix vector products ⇒ Significant speed up of the key generation process Jintai Ding NIST Standardization Conference 14 / 17

  17. Key Sizes NIST security standard Rainbow cyclic Rainbow compressed Rainbow category | pk | KB | sk | KB | pk | KB | sk | KB | pk | KB | sk | I/II 149.0 93.0 58.1 93.0 58.1 64B III/IV 710.6 511.4 206.7 511.4 206.7 64B V/VI 1,705.5 1,227.1 491.9 1,227.1 491.9 64B Signature sizes: 48B, 140B, 184B Jintai Ding NIST Standardization Conference 15 / 17

  18. Jintai Ding NIST Standardization Conference 16 / 17

  19. The End Thank you for your attention Questions? Jintai Ding NIST Standardization Conference 17 / 17

Recommend


More recommend