mcnie nist submission
play

McNie NIST Submission Jon-Lark Kim Sogang University, S. Korea - PowerPoint PPT Presentation

McNie NIST Submission Jon-Lark Kim Sogang University, S. Korea PQCRYPTO Workshop, Taipei June 29 2018 Outline McNie: a new code-based cryptography 1 General algorithm specification 2 Key generation Encryption Decryption Rank metric


  1. McNie NIST Submission Jon-Lark Kim Sogang University, S. Korea PQCRYPTO Workshop, Taipei June 29 2018

  2. Outline McNie: a new code-based cryptography 1 General algorithm specification 2 Key generation Encryption Decryption Rank metric codes 3 Definition Using 3-QC-LRPC codes Using 4-QC-LRPC codes Suggested parameters 4 5 Connection between Ouroboros-R and McNie Kim, J.-L. McNie NIST Submission 05/31/2018 2 / 25

  3. McEliece: the first code-based cryptography The McEliece cryptosystem and its variants are well known code-based public key cryptosystems: c = m G + e public key G = AG ′ P , where m is a message, c is a ciphertext, G ′ is a secret generator matrix for a code which can correct errors e , A is a secret invertible matrix, P is a secret permutation matrix. However, McEliece cryptosystems with many algebraic codes with good structures have been broken due to their structures except for Goppa codes. Kim, J.-L. McNie NIST Submission 05/31/2018 3 / 25

  4. McNie: a new code-based cryptography Our McNie is a new code-based public key cryptosystem which is less vulnerable against currently known structural attacks. McNie is one of the 64 algorithms which passed round 1 of 2017 NIST Competition for Post-Quantum Cryptography. We can use Hamming weight or rank weight in general. Kim, J.-L. McNie NIST Submission 05/31/2018 4 / 25

  5. McNie- Key generation Consider Hamming weight or rank weight. Secret key: ( H , P , S , Φ H ) H : a parity check matrix for an [ n , k ] code C over F q m P : an n × n permutation matrix S : an ( n − k ) × ( n − k ) invertible matrix over F q m Φ H : an efficient decoding algorithm for C which corrects errors of weight up to r Public key: ( G ′ , F ) G ′ : Generator matrix for a random [ n , l ] code over F q m F = G ′ P − 1 H T S Kim, J.-L. McNie NIST Submission 05/31/2018 5 / 25

  6. McNie- Encryption Message: m ∈ F l q m Randomly generate e ∈ F n q m of weight r Enc ( m ) = ( c 1 , c 2 ) c 1 = m G ′ + e c 2 = m F = m G ′ P − 1 H T S Kim, J.-L. McNie NIST Submission 05/31/2018 6 / 25

  7. McNie- Decryption Received vector: c = ( c 1 , c 2 ) Compute c 1 P − 1 H T − c 2 S − 1 s ′ = ( m G ′ + e ) P − 1 H T = − ( m G ′ P − 1 H T S ) S − 1 e P − 1 H T = e ′ Φ H ( s ′ ) = e P − 1 = e ′ P = e Solve the system m G ′ = c 1 − e to recover m . Kim, J.-L. McNie NIST Submission 05/31/2018 7 / 25

  8. Apply McNie to rank metric codes Let { α 1 , α 2 , . . . , α m } be a basis for F q m over F q . c 11 c 1 n � · · · � m � c = ( c 1 , . . . , c n ) ∈ F n . . q m ⇔ ¯ c = ... , c j = c ij α i . . . . c m 1 c mn i = 1 · · · rank weight : w R ( c ) = Rank (¯ c ) rank distance : d R ( c , c ′ ) = Rank (¯ c − ¯ c ′ ) A rank metric code is an [ n , k ] code over F q m equipped with the rank metric. A family of rank metric codes used in McNie: A Low Rank Parity Check (LRPC) code of rank d is an [ n , k ] code over F q m that has for its parity check matrix an ( n − k ) × n matrix H = ( h ij ) such that the sub-vector space of F q m generated by its coefficients h ij has dimension at most d . Kim, J.-L. McNie NIST Submission 05/31/2018 8 / 25

  9. Using 3-quasi-cyclic LRPC codes We use circulant matrices and construct quasi-cyclic LRPC codes over F q m in order to reduce key size. Let n be a multiple of 3 and block size blk = n 3 . Generate h 1 , h 2 , h 3 ∈ F blk q m s.t. dim Supp ( h 1 , h 2 , h 3 ) = d Generate g 1 , g 2 ∈ F blk q m . Let H i , G j be circulant matrices whose first row are h i and g j , resp. � � I blk 0 G 1 H 3 ] , G ′ = Let H = [ H 1 H 2 0 I blk G 2 3 ) − 1 which is also a circulant matrix. Take P = I n and S = ( H T 1 + G 1 H T F = G ′ P − 1 H T S has the following form : � � I n F = 3 , F ′ where F ′ = ( H T 2 + G 2 H T 3 )( H 1 + H 3 G T 1 ) − 1 . Kim, J.-L. McNie NIST Submission 05/31/2018 9 / 25

  10. Using 4-quasi-cyclic LRPC codes Let n be divisible by 4 and block size blk = n 4 . Generate h 1 , h 2 , . . . , h 8 ∈ F blk q m s.t. dim Supp ( h 1 , h 2 , . . . , h 8 ) = d . Generate vectors g 1 , g 2 , g 3 ∈ F blk q m . � � � H 1 I blk 0 0 G 1 � H 2 H 3 H 4 , G ′ = Let H = 0 I blk 0 G 2 H 5 H 6 H 7 H 8 0 0 I blk G 3 � S 1 S 2 � Take P = I n and ¯ S = , where S 1 , S 2 , S 3 , S 4 are blk × blk circulant S 3 S 4 matrices. � F 1 F 2 � ¯ F = G ′ P − 1 H T S = F 3 F 4 F 5 F 6 � � I blk 0 Reduce ¯ F in column echelon form F = ¯ FE = , where 0 I blk F ′ F ′′ � � � ( F − 1 F 1 − F − 1 F 3 ) − 1 F − 1 ( F − 1 F 3 − F − 1 F 1 ) − 1 F − 1 � E 1 E 2 E = = 2 4 2 4 2 4 . E 3 E 4 − F − 1 − F − 1 F 3 E 1 F 1 E 2 4 2 Kim, J.-L. McNie NIST Submission 05/31/2018 10 / 25

  11. Suggested parameters Parameter n k l blk d r m q Category ❡♥❝r②♣t✴✸◗❴✶✷✽❴✶ 93 62 62 31 3 5 37 2 1 ❡♥❝r②♣t✴✸◗❴✶✷✽❴✷ 105 70 70 35 3 5 37 2 1 ❡♥❝r②♣t✴✸◗❴✶✾✷❴✶ 111 74 74 37 3 7 41 2 3 ❡♥❝r②♣t✴✸◗❴✶✾✷❴✷ 123 82 82 41 3 7 41 2 3 111 74 74 37 3 7 59 2 5 ❡♥❝r②♣t✴✸◗❴✷✺✻❴✶ ❡♥❝r②♣t✴✸◗❴✷✺✻❴✷ 141 94 94 47 3 9 47 2 5 Table: Suggested parameters using 3-quasi-cyclic LRPC codes Parameter n k l blk d r m q Category ❡♥❝r②♣t✴✹◗❴✶✷✽❴✶ 60 30 45 15 3 5 37 2 1 ❡♥❝r②♣t✴✹◗❴✶✷✽❴✷ 72 36 54 18 3 5 37 2 1 ❡♥❝r②♣t✴✹◗❴✶✾✷❴✶ 76 38 57 19 3 7 41 2 3 84 42 63 21 3 7 41 2 3 ❡♥❝r②♣t✴✹◗❴✶✾✷❴✷ ❡♥❝r②♣t✴✹◗❴✷✺✻❴✶ 76 38 57 19 3 7 53 2 5 ❡♥❝r②♣t✴✹◗❴✷✺✻❴✷ 88 44 66 22 3 8 47 2 5 Table: Suggested parameters using 4-quasi-cyclic LRPC codes Kim, J.-L. McNie NIST Submission 05/31/2018 11 / 25

  12. Key sizes for suggested parameters Decryption Public Key Private Key Message Ciphertext Parameter failure 1 failure 2 Size (bytes) Size (bytes) Size (bytes) Size (bytes) ❡♥❝r②♣t✴✸◗❴✶✷✽❴✶ -17 -34 431 194 314 579 -20 -34 486 218 358 653 ❡♥❝r②♣t✴✸◗❴✶✷✽❴✷ ❡♥❝r②♣t✴✸◗❴✶✾✷❴✶ -17 -26 569 247 454 764 ❡♥❝r②♣t✴✸◗❴✶✾✷❴✷ -20 -26 631 274 505 846 ❡♥❝r②♣t✴✸◗❴✷✺✻❴✶ -17 -62 819 337 636 1097 ❡♥❝r②♣t✴✸◗❴✷✺✻❴✷ -20 -22 829 348 699 1110 Table: Key sizes for the suggested parameters for McNie using 3-QC-LRPC codes Decryption Public Key Private Key Message Ciphertext Parameter failure 1 failure 2 Size (bytes) Size (bytes) Size (bytes) Size (bytes) ❡♥❝r②♣t✴✹◗❴✶✷✽❴✶ -16 -34 347 340 215 422 ❡♥❝r②♣t✴✹◗❴✶✷✽❴✷ -21 -34 417 401 264 505 ❡♥❝r②♣t✴✹◗❴✶✾✷❴✶ -18 -26 487 465 336 590 ❡♥❝r②♣t✴✹◗❴✶✾✷❴✷ -21 -26 539 512 373 651 ❡♥❝r②♣t✴✹◗❴✷✺✻❴✶ -18 -50 630 584 432 761 -20 -30 647 601 461 781 ❡♥❝r②♣t✴✹◗❴✷✺✻❴✷ Table: Key sizes for the suggested parameters for McNie using 4-QC-LRPC codes Kim, J.-L. McNie NIST Submission 05/31/2018 12 / 25

  13. McNie vs other cryptosystems Security McNie DC-LRPC DC-MDPC QD-Goppa Goppa Level 3-quasi 4-quasi [3] [6] [7] [2] 128 3441 2775 2809 9857 32768 1537536 192 4551 3895 - - 45056 4185415 256 6549 5035 - 32771 65536 7667855 Table: Key-size (bits) comparison with other code-based cryptosystems McNie Security Level NTRU RSA ECC ECC AWC 3-quasi 4-quasi 128 3441 2775 4939 3072 256 277280 192 4551 3895 6523 7680 384 936618 256 6549 5035 8173 15360 512 1595434 Table: Comparison of key sizes (bits) Kim, J.-L. McNie NIST Submission 05/31/2018 13 / 25

  14. Recent attack on McNie based on 3,4-QC LRPC codes by P . Gaborit Let m = ( m 1 , m 2 , . . . , m l ) From c 2 = m F , we obtain n − k linear relations of the m i ’s. Hence, all the m i ’s can be expressed in terms of some fixed l − ( n − k ) coordinates. We can rewrite c 1 as c 1 = m ′ G ′′ + e where G ′′ is of dimension l − ( n − k ) . So we attack a code of dimension l − ( n − k ) instead of a code of dimmension l . Kim, J.-L. McNie NIST Submission 05/31/2018 14 / 25

  15. Improvement on generic attacks on RSD(Rank Syndrome Decoding) by Aragon, Gaborit, Hauteville, Tillich [1] The attack is an adaptation of the ISD attack to RSD. This improvement uses the F q m -linearity of the code. The main idea is to consider the code C ′ = C + F q m e . The problem is then reduced to finding a weight r codeword in C ′ . Instead of looking for the support E of the error e , we can look for a multiple α E , α ∈ F ∗ q m , of the support. This attack has complexity O ( n − k ) 3 m 3 q r ( k + 1 ) m − m . n Kim, J.-L. McNie NIST Submission 05/31/2018 15 / 25

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