Paper 2018/1009

LAC: Practical Ring-LWE Based Public-Key Encryption with Byte-Level Modulus

Xianhui Lu, Yamin Liu, Zhenfei Zhang, Dingding Jia, Haiyang Xue, Jingnan He, Bao Li, and Kunpeng Wang


We propose an instantiation of public key encryption scheme based on the ring learning with error problem, where the modulus is at a byte level and the noise is at a bit level, achieving one of the most compact lattice based schemes in the literature. The main technical challenges are a) the decryption error rates increases and needs to be handled elegantly, and b) we cannot use the Number Theoretic Transform (NTT) technique to speed up the implementation. We overcome those limitations with some customized parameter sets and heavy error correction codes. We give a treatment of the concrete security of the proposed parameter set, with regards to the recent advance in lattice based cryptanalysis. We present an optimized implementation taking advantage of our byte level modulus and bit level noise. In addition, a byte level modulus allows for high parallelization and the bit level noise avoids the modulus reduction during multiplication. Our result shows that \LAC~is more compact than most of the existing (Ring-)LWE based solutions, while achieving a similar level of efficiency, compared with popular solutions in this domain, such as Kyber.

Note: revise to update the parameters according to efficiency improvement and security analysis result.

Available format(s)
Public-key cryptography
Publication info
Preprint. MINOR revision.
lattice based cryptographylearning with errorserror correction
Contact author(s)
luxianhui @ outlook com
2019-12-19: last of 3 revisions
2018-10-24: received
See all versions
Short URL
Creative Commons Attribution


      author = {Xianhui Lu and Yamin Liu and Zhenfei Zhang and Dingding Jia and Haiyang Xue and Jingnan He and Bao Li and Kunpeng Wang},
      title = {LAC: Practical Ring-LWE Based Public-Key Encryption with Byte-Level Modulus},
      howpublished = {Cryptology ePrint Archive, Paper 2018/1009},
      year = {2018},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.