TinyJAMBU: An Introduction to a Lightweight Cryptography

TinyJAMBU is a lightweight, efficient block cipher algorithm designed by cryptographers at the Technical University of Denmark. It uses the design ideas of the JAMBU family and adopts some improvements that make it perform well on resource-constrained devices.
TinyJAMBU has three versions of 128, 192 and 256 bits. The main building block is 128 bits. Their tag, state, and nonce values ​​are 64, 128, and 96 bits, regardless of the version. But the difference is that the bit length of the key has changed, which are 128, 192, 256 bits respectively.

Features of TinyJAMBU include:
Lightweight: Its code is very compact, only a few hundred bytes, so it is very suitable for embedded systems and low-power devices.
Efficient: It has very high encryption and decryption speeds and can handle large amounts of data while having low memory and energy requirements.
Security: It adopts the latest encryption technology, has strong security, and can effectively prevent various attacks.
TinyJAMBU has been widely used in the Internet of Things, wireless sensor networks, embedded systems, etc., and is also regarded as a competitive AES encryption alternative.

JAMBU family

The JAMBU family is a set of design ideas based on block cipher algorithms, including cryptographic algorithms such as JAMBU, SANDstorm, and Piccolo. These algorithms are very similar in design, they all use the same block length and key length, and have similar encryption structures and security analysis methods.
The design idea of ​​the JAMBU family mainly includes the following features:
Based on permutation: The algorithm of the JAMBU family uses a permutation operation, which can fully confuse the input data and increase the strength of encryption.
Block encryption: They all adopt the design idea of ​​block cipher, which divides plaintext into multiple blocks for encryption, and adopts encryption modes such as CBC to further enhance security.
Streamlined structure: The algorithms of the JAMBU family adopt a streamlined structure, which avoids some unnecessary operations and makes the algorithm very efficient.
Security analysis: The algorithms of the JAMBU family have undergone sufficient security analysis and can effectively resist various attacks, including differential attacks, linear attacks, and related key attacks.
The algorithms of the JAMBU family have the characteristics of simple structure, high efficiency, and good security, and are widely used in the fields of the Internet of Things and embedded systems.

Specifications of TinyJAMBU

TinyJAMBU is a lightweight block cipher algorithm. Its Specification describes the specific design and encryption process of the algorithm. The following is a detailed explanation of the TinyJAMBU Specification:

Packet length: The packet length of TinyJAMBU is 64 bits (8 bytes), that is, each encrypted or decrypted data block is 64 bits.
Key length: The key length of TinyJAMBU is 128 bits (16 bytes).
Number of rounds: The encryption and decryption process of TinyJAMBU needs to go through 16 rounds of iterations, and each round includes operations such as replacement, diffusion, and round key addition.
Permutation: TinyJAMBU uses a permutation operation to confuse the input data and enhance the encryption strength. The permutation operation includes two parts: linear transformation and nonlinear transformation.
Diffusion: TinyJAMBU uses a diffusion operation that affects each bit in the data block to other bits, thereby enhancing the strength of the encryption. The diffusion operation includes two parts: linear diffusion and nonlinear diffusion.
Round key addition: TinyJAMBU uses a different round key in each iteration to enhance the strength of the encryption. The round key is generated by taking the master key and the round count value as input through a series of transformations.
Security: The design of TinyJAMBU has undergone sufficient security analysis and can resist various attacks, including differential attacks, linear attacks, and related key attacks.
Performance: The encryption and decryption speed of TinyJAMBU is very fast, while having low memory and energy consumption requirements, it is very suitable for resource-constrained environments such as embedded systems and low-power devices.

State

In TinyJAMBU, the state (state) is 64 bits (8 bytes), and it is also the input and output of the encryption and decryption process. Every encryption and decryption operation modifies the state and uses it to generate encrypted output or decrypted plaintext.
In the encryption and decryption process of TinyJAMBU, the input data block and the state are interactive, and they affect each other, but it will not cause information loss or incompleteness. The input data block is divided into two 32-bit half blocks, which participate in the encryption and decryption operations respectively, and are XORed with the state to generate a new state.
In the encryption process, the first 32-bit input block and the first 32-bit state half block are XORed, and then after 16 rounds of iterations, the encrypted output is generated. In each round iteration, the algorithm uses a different round key to strengthen the encryption.
During the decryption process, the algorithm will use the same round key as that used for encryption, input the ciphertext into the algorithm, and decrypt it through 16 rounds of iterations. In each iteration, the algorithm uses a different round key to decrypt the ciphertext.
In the TinyJAMBU algorithm, the input data block and the state are interacted through the XOR operation, rather than directly related. This design can avoid the loss and incompleteness of information, and at the same time enhance the strength of encryption.
To sum up, the state of TinyJAMBU and the input data block are interactive, and they participate in the encryption and decryption operations together to ensure the integrity and correctness of the encryption and decryption process.

Guess you like

Origin blog.csdn.net/Chahot/article/details/130407114