An Efficient Public Key Encryption Scheme Based on QC-MDPC Lattices

In this paper, we introduce a new family of lattices, namely QC-MDPC lattices, which are a special case of LDPC lattices, and an improved bit flipping algorithm for decoding of these lattices. Encoding and decoding implementations of QC-MDPC lattices are practical in high dimensions. Indeed, to take advantage of practical decoding, we use “Construction-A” lattices which makes a tight connection between the structure of lattices and codes. Using these features, we design a lattice-based public key encryption scheme enjoying linear encryption and decryption complexities. The proposed scheme has a reasonable key size due to the sparseness of the parity-check matrix, and the quasi-cyclic structure of the parity-check and generator matrices. Besides, the message expansion of the proposed scheme is smaller than other lattice-based and code-based cryptosystems with comparative parameters. All these features provide a lattice-based public key encryption scheme with reasonable key size, linear encryption, and decryption algorithms and small message expansion. On the other hand, we show that the cryptosystem is resistant against all known attacks both on lattice-based and code-based cryptosystems for different levels of security.

[1]  Robert J. McEliece,et al.  A public key cryptosystem based on algebraic coding theory , 1978 .

[2]  Cynthia Dwork,et al.  A public-key cryptosystem with worst-case/average-case equivalence , 1997, STOC '97.

[3]  Antoine Joux,et al.  Decoding Random Binary Linear Codes in 2n/20: How 1+1=0 Improves Information Set Decoding , 2012, IACR Cryptol. ePrint Arch..

[4]  Joseph H. Silverman,et al.  NTRU: A Ring-Based Public Key Cryptosystem , 1998, ANTS.

[5]  Daniele Micciancio,et al.  Improving Lattice Based Cryptosystems Using the Hermite Normal Form , 2001, CaLC.

[6]  Ayoub Otmani,et al.  Cryptanalysis of Two McEliece Cryptosystems Based on Quasi-Cyclic Codes , 2008, Math. Comput. Sci..

[7]  Peter W. Shor,et al.  Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer , 1995, SIAM Rev..

[8]  Dariush Kiani,et al.  Construction and Encoding of QC-LDPC Codes Using Group Rings , 2017, IEEE Transactions on Information Theory.

[9]  Dariush Kiani,et al.  LDPC Lattice Codes for Full-Duplex Relay Channels , 2016, IEEE Transactions on Communications.

[10]  Daniel Panario,et al.  Construction of Full-Diversity LDPC Lattices for Block-Fading Channels , 2016, ArXiv.

[11]  Thomas Plantard,et al.  Broadcast Attacks against Lattice-Based Cryptosystems , 2009, ACNS.

[12]  Tanja Lange,et al.  Post-quantum cryptography , 2008, Nature.

[13]  Chris Peikert,et al.  On Ideal Lattices and Learning with Errors over Rings , 2010, JACM.

[14]  Amir H. Banihashemi,et al.  Low-Density Parity-Check Lattices: Construction and Decoding Analysis , 2006, IEEE Transactions on Information Theory.

[15]  Daniel Panario,et al.  A secret key encryption scheme based on 1-level QC-LDPC lattices , 2016, 2016 13th International Iranian Society of Cryptology Conference on Information Security and Cryptology (ISCISC).

[16]  Daniel Panario,et al.  A non-commutative cryptosystem based on quaternion algebras , 2017, Designs, Codes and Cryptography.

[17]  Marco Baldi,et al.  Cryptanalysis of a new instance of McEliece cryptosystem based on QC-LDPC Codes , 2007, 2007 IEEE International Symposium on Information Theory.

[18]  Mohammad-Reza Sadeghi,et al.  FFT Based Sum-Product Algorithm for Decoding LDPC Lattices , 2012, IEEE Communications Letters.

[19]  Pavol Zajac,et al.  A Reaction Attack on the QC-LDPC McEliece Cryptosystem , 2017, PQCrypto.

[20]  A. Banihashemi,et al.  Construction of lattices from LDPC codes , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[21]  László Babai,et al.  On Lovász’ lattice reduction and the nearest lattice point problem , 1986, Comb..

[22]  Johan Håstad,et al.  Solving Simultaneous Modular Equations of Low Degree , 1988, SIAM J. Comput..

[23]  Nicolas Sendrier,et al.  A Non Asymptotic Analysis of Information Set Decoding , 2013, IACR Cryptol. ePrint Arch..

[24]  Mohammad-Reza Sadeghi,et al.  Practical Encoder and Decoder for Power Constrained QC LDPC-Lattice Codes , 2017, IEEE Transactions on Communications.

[25]  Daniele Micciancio,et al.  The hardness of the closest vector problem with preprocessing , 2001, IEEE Trans. Inf. Theory.

[26]  Ayoub Otmani,et al.  Weak Keys for the Quasi-Cyclic MDPC Public Key Encryption Scheme , 2016, AFRICACRYPT.

[27]  Jacques Stern,et al.  A method for finding codewords of small weight , 1989, Coding Theory and Applications.

[28]  Marco Baldi,et al.  A New Analysis of the McEliece Cryptosystem Based on QC-LDPC Codes , 2008, SCN.

[29]  Oded Regev,et al.  On lattices, learning with errors, random linear codes, and cryptography , 2009, JACM.

[30]  Daniel Panario,et al.  Low density parity check lattices based on construction D' and cycle-free Tanner graphs , 2003, Algebraic Coding Theory and Information Theory.

[31]  Daniel Panario,et al.  Solving sparse linear systems of equations over finite fields using bit-flipping algorithm , 2013 .

[32]  Mohammad-Reza Rafsanjani-Sadeghi Low density parity check lattices , 2004 .

[33]  Dariush Kiani,et al.  One-level LDPC lattice codes for the relay channels , 2015, 2015 Iran Workshop on Communication and Information Theory (IWCIT).

[34]  Elwyn R. Berlekamp,et al.  On the inherent intractability of certain coding problems (Corresp.) , 1978, IEEE Trans. Inf. Theory.

[35]  Yair Be'ery,et al.  Moderate-Density Parity-Check Codes , 2009, ArXiv.

[36]  Mohammad Reza Aref,et al.  Public Key Cryptosystem Based on Low Density Lattice Codes , 2017, Wirel. Pers. Commun..

[37]  Phong Q. Nguyen Cryptanalysis of the Goldreich-Goldwasser-Halevi Cryptosystem from Crypto '97 , 1999, CRYPTO.

[38]  Mohammad Reza Aref,et al.  Squaring attacks on McEliece public-key cryptosystems using quasi-cyclic codes of even dimension , 2016, Des. Codes Cryptogr..

[39]  N. J. A. Sloane,et al.  Sphere Packings, Lattices and Groups , 1987, Grundlehren der mathematischen Wissenschaften.

[40]  Meir Feder,et al.  Low Density Lattice Codes , 2006, ISIT.

[41]  Oded Goldreich,et al.  Public-Key Cryptosystems from Lattice Reduction Problems , 1996, CRYPTO.

[42]  Thomas Johansson,et al.  A Key Recovery Attack on MDPC with CCA Security Using Decoding Errors , 2016, ASIACRYPT.

[43]  M.R. Sadeghi,et al.  Iterative decoding algorithm of lattices , 2004, Canadian Conference on Electrical and Computer Engineering 2004 (IEEE Cat. No.04CH37513).

[44]  Kazukuni Kobara,et al.  Semantic security for the McEliece cryptosystem without random oracles , 2008, Des. Codes Cryptogr..

[45]  Moon Sung Lee,et al.  Cryptanalysis of the GGH Cryptosystem , 2010, Math. Comput. Sci..

[46]  Paulo S. L. M. Barreto,et al.  MDPC-McEliece: New McEliece variants from Moderate Density Parity-Check codes , 2013, 2013 IEEE International Symposium on Information Theory.

[47]  Mohammad-Reza Sadeghi,et al.  On the performance of 1-level LDPC lattices , 2013, 2013 Iran Workshop on Communication and Information Theory.

[48]  Daniel Panario,et al.  Construction of full-diversity 1-level LDPC lattices for block-fading channels , 2016, 2016 IEEE International Symposium on Information Theory (ISIT).

[49]  Daniel Panario,et al.  Extended bit-flipping algorithm for solving sparse linear systems of equations modulo p , 2011, 2011 IEEE Information Theory Workshop.

[50]  Marco Baldi,et al.  Soft McEliece: MDPC code-based McEliece cryptosystems with very compact keys through real-valued intentional errors , 2016, 2016 IEEE International Symposium on Information Theory (ISIT).

[51]  Tatsuaki Okamoto,et al.  Secure Integration of Asymmetric and Symmetric Encryption Schemes , 1999, Journal of Cryptology.