# Security Analysis of the Symmetric Cryptosystem Tiny Jambu
## 1 Introduction  
Nowadays, the Internet of Things (IoT) is an essential component in both information technologies and computer science. In our digital society, IoT technology is more and more deployed to connect diverse devices of daily use. All these connections need security, which is the use of cryptographic primitives. At the same time, the devices to be interconnected exhibit very different features: some of them are equipped with powerful processors that are able to support any cryptographic algorithm (public or private cryptography), while many others include just low-power microcontrollers; consequently, they are unable to support most of the current cryptosystems. Symmetric cryptography provides the only type of algorithm that can be applied in the frame of lightweight cryptography. In fact, this cryptography tackles the problem of protecting all these interconnected devices, considering their specific characteristics. Lightweight cryptography does not mean less secure cryptography. Indeed, it tries to keep the same level of security as that of traditional algorithms but under much more severe conditions. In August 2018, \"the National Institute of Standards and Technology (NIST) initiated a process to solicit and standardize lightweight cryptography algorithms to be deployed in constrained environments where the current NIST standards were not yet suitable\"; see reference [1]. Given this call to action, the TinyJambu algorithm was submitted and was one of the ten finalists [2]. Moreover, due to its lightweight design and very simple components, it was the fastest among all of candidates submitted to this selection process. Within symmetric cryptography, stream ciphers unify, in a single scheme, the characteristics of speed and simplicity. In conventional cryptography, a stream cipher design generates, from a short and truly random key, a long and pseudorandom binary sequence, the so-called keystream sequence. In a symmetric cryptosystem, in emission, a bitwise XOR operation between the original message (plaintext) and the keystream sequence is performed to generate the ciphertext. In reception, a bitwise XOR operation between theciphertext and the same keystream sequence is performed to recover the original message. A stream cipher is just an approximation of a one-time pad encryption [3] (p. 36), the only unconditionally secure cryptosystem. In fact, quantum cryptography and quantum key distribution aim to securely implement the one-time pad procedure, making use of quantum mechanics laws [4; 5]. Currently, there are experimental applications of quantum key distribution, although they are not yet technically suitable for deployment as a standard component in lightweight environments. In cryptographic terms, stream cipher security lies in the quality of the keystream sequences or, equivalently, in the randomness degree of such sequences. In fact, keystream sequences should meet the following requirements: (a) the generated sequence must not be distinguishable from a truly random sequence; (b) the sequence must be unpredictable; (c) the period of the keystream sequence must be extremely large; (d) the key space of the sequence generator must be large enough to prevent a brute force attack; and (e) the design of the keystream generator should be resistant to any cryptanalytic attack reported in the literature. In brief, we studied the security of this cryptosystem from two different points of view: the improvement of the best cryptanalytical attack and a randomness analysis of the keystream sequence. In this work, we analyzed the symmetric cryptosystem TinyJambu as a stream cipher algorithm, paying particular attention to above requirements (a), (b) and (e). In fact, we studied conditions (a) and (b), that is, the randomness and unpredictability of a TinyJambu bit sequence, by applying a number of empirical tests to determine its cryptographic suitability.