Paper 2021/403

Atom: A Stream Cipher with Double Key Filter

Subhadeep Banik, Andrea Caforio, Takanori Isobe, Fukang Liu, Willi Meier, Kosei Sakamoto, and Santanu Sarkar


It has been common knowledge that for a stream cipher to be secure against generic TMD tradeoff attacks, the size of its internal state in bits needs to be at least twice the size of the length of its secret key. In FSE 2015, Armknecht and Mikhalev however proposed the stream cipher Sprout with a Grain-like architecture, whose internal state was equal in size with its secret key and yet resistant against TMD attacks. Although Sprout had other weaknesses, it germinated a sequence of stream cipher designs like Lizard and Plantlet with short internal states. Both these designs have had cryptanalytic results reported against them. In this paper, we propose the stream cipher Atom that has an internal state of 159 bits and offers a security of 128 bits. Atom uses two key filters simultaneously to thwart certain cryptanalytic attacks that have been recently reported against keystream generators. In addition, we found that our design is one of the smallest stream ciphers that offers this security level, and we prove in this paper that Atom resists all the attacks that have been proposed against stream ciphers so far in literature. On the face of it, Atom also builds on the basic structure of the Grain family of stream ciphers. However, we try to prove that by including the additional key filter in the architecture of Atom we can make it immune to all cryptanalytic advances proposed against stream ciphers in recent cryptographic literature.

Available format(s)
Secret-key cryptography
Publication info
Published by the IACR in FSE 2021
Short State Stream CipherLightweight CryptographyGrain family
Contact author(s)
subhadeep banik @ epfl ch
2021-03-27: received
Short URL
Creative Commons Attribution


      author = {Subhadeep Banik and Andrea Caforio and Takanori Isobe and Fukang Liu and Willi Meier and Kosei Sakamoto and Santanu Sarkar},
      title = {Atom: A Stream Cipher with Double Key Filter},
      howpublished = {Cryptology ePrint Archive, Paper 2021/403},
      year = {2021},
      doi = {10.46586/tosc.v2021.i1.5-36},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.