Paper 2021/010

Compcrypt -- Lightweight ANS-based Compression and Encryption

Seyit Camtepe, Jarek Duda, Arash Mahboubi, Pawel Morawiecki, Surya Nepal, Marcin Pawlowski, and Josef Pieprzyk


Compression is widely used in Internet communication to save communication time and bandwidth. Recently invented by Jarek Duda asymmetric numeral system (ANS) offers an improved efficiency and a close to optimal compression. The ANS algorithm has been deployed by major IT companies such as Facebook, Google and Apple. Compression by itself does not provide any security (such as confidentiality or authentication of transmitted data). An obvious solution to this problem is an encryption of compressed bitstream. However, it requires two algorithms: one for compression and the other for encryption. In this work, we investigate natural properties of ANS that allow to incorporate authenticated encryption using as little cryptography as possible. We target low-level security communication such as transmission of data from IoT devices/sensors. In particular, we propose three solutions for joint compression and encryption (compcrypt). All of them use a pseudorandom bit generator (PRGB) based on lightweight stream ciphers. The first solution applies state jumps controlled by PRGB. The second one employs two ANS algorithms, where compression switches between the two. The switch is controlled by a PRGB bit. The third compcrypt modifies the encoding function of ANS depending on PRGB bits. Security and efficiency of the proposed compcrypt algorithms are evaluated.

Available format(s)
Secret-key cryptography
Publication info
Preprint. MINOR revision.
Contact author(s)
josef pieprzyk @ csiro au
2021-01-06: received
Short URL
Creative Commons Attribution


      author = {Seyit Camtepe and Jarek Duda and Arash Mahboubi and Pawel Morawiecki and Surya Nepal and Marcin Pawlowski and Josef Pieprzyk},
      title = {Compcrypt -- Lightweight ANS-based Compression and Encryption},
      howpublished = {Cryptology ePrint Archive, Paper 2021/010},
      year = {2021},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.