Block ciphers are basic building blocks for network security. In recent years, designing a lightweight block cipher is the main goal of VLSI design engineers.
In this paper, we have designed and verified the functionality of the RECTANGLE block cipher which is one of the lightweight block cipher using Modelsim simulator and implemented using Intel Quartus Prime 18.0 FPGA device. Using the bit-slice technique a RECTANGLE block cipher allows lightweight and fast implementations. The en-cryption architecture has two parts one is round transformation and the other is key scheduling.
RECTANGLE uses Substitution-Permutation network. It takes 64-bit plain text and an 80-bit key as an input and converts it into a 64-bit ciphertext.
There are three main advantages of using the RECTANGLE block cipher. First, it has a simple design. Second, it is very hardware friendly. By selecting the proper S-block RECTANGLE can achieve good security performance.
Introduction
I. INTRODUCTION
In a world, full of cybercrimes and data misuse, information and network security is the need of the hour. Here cryptography plays an important role. Cryptography is nothing but a process that converts an ordinary plaintext into ciphertext and vice-versa. It is the method that protects information and communicates through the codes. Cryptography is classified into two categories first is the mode of operation and second Feistel network, substitution-permutation network. It can be done by symmetric key and asymmetric key.
Block ciphers are the primary integrant of cybersecurity as they are used to convert plaintext to ciphertext and back. But light-weighted block ciphers have substituted all the other conventional block ciphers because of its low computing resource, low memory usage, and power.
Symmetric cryptography utilizes only one key for encryption and decryption of data, while in the other hand asymmetric or public-key cryptography utilizes both public and private keys for encryption and decryption of data. Block cipher is a symmetric cipher process information block of various bits using constant mapping.
A lightweight block cipher is not the same as block ciphers as it used different algorithms that require less area, memory (RAM, ROM), power, etc. It gives a much simpler and faster result compared to the conventional ones. In this paper, we have verified the functionality of an architecture that has been designed and implemented using the Intel Quartus Prime 18.0 FPGA tool in the Cyclone IV device.
Our main objective in this project is to design and verify the functionality of a lightweight RECTANGLE block cipher which consists of various blocks. For this, we have designed different blocks such as S-blocks, Permutation block, 2:1 multiplexers, round counters, etc.
In this paper, we present a design of a RECTANGLE lightweight block cipher using 4x4 S-block. The paper contains the following sub-sections: in section II, a literature review is presented. In that, subsection A explains the rectangular block cipher. The architecture of RECTANGLE is discussed in subsection B again it has four parts, part 1 explains the subkey state and cipher state. Part 2 describes the round transformation methodology in the architecture. Subsequently, in part, the 3 S-block design has been discussed.
In part, 4 explains the key scheduling methodology in architecture. Simulation results are shown in subsection C. Section III will conclude all the work.
II. LITERATURE REVIEW
Following observations are made from different papers.
In [1], The Author has implemented an L-block lightweight ci-pher. A full functional RTL is designed for L-block lightweight cipher which requires 32-clock cycles to encrypt a block of 64-bit message. In [2], the Author has proposed A Lightweight VLSI Architecture for the RECTANGLE cipher. He proposed an efficient lightweight block architecture for an extremely hardware constrained environment and further implementing ASIC on CMOS 180nm technology. In [3], the Author pro-posed a design of RECTANGLE light-weighted block cipher and RECTANGLE S-box and asymmetric design of the P layer for fast implementations by using bit-slice techniques. In [4], Survey on lightweight symmetric and asymmetric block ciphers is done. In [5], the author has synthesized and implemented an ultra-lightweight block cipher RECTANGLE, which has 64 bit and 80 or 128 bit for block and key, respectively. In paper [6], the authors described KLEIN as a new family of lightweight block cipher which is designed for resource-constrained devices such as wireless sensors and RFID tags. It has efficient software performance in sensor platforms, and also its hardware implementation is compact. In [7], the authors described HIGHT as a lightweight block cipher with a 64-bit block size and 128-bit key that provides a low resource hardware implementation. It requires 3048 gates implemented on a 0.25um technology. In [8], the present block cipher is implemented and the simulation of encryption and decryption is done using the blowfish algorithm so that it pro-vides great security between sender and receiver. In paper [9] architecture is based on 8-bit datapath and requires 48 clock cycles for processing of 64-bit plaintext and 128-bit user key and the performance is validated by using intellectual property of SoCs.Paper [10] is the deep comparison present and the latest developments in the field are also noted. Hardware and software implementations of block ciphers were examined. Security, cost and performance properties of all the different proposals were considered and a comparative analysis was presented.
A. Rectangle Block Cipher
A rectangular block cipher operates on 64-bit block size matrices (in 4x16 array) for ciphertext, plain text, and intermediate results along with 80-bit or 128-bit key. In this paper, we would be implementing hardware architecture with an 80-bit key for RECTANGLE lightweight block cipher on FPGA. RECTANGLE uses SP network cipher which consists of two layers- Substitution Layer(a Non-Linear layer) and Permutation Layer(a Linear layer). It requires 25 internal rounds of Key-scheduling. Each round consists of three stages:
Add Round Key: Each byte of state undergoes a bit-wise XOR operation with a round key.
Mix Columns: A non-linear parallel substitution operation in which each byte is being substituted with another byte-based on a look-up table.
Shift Rows: A transposition operation in which each row is left-shifted in a certain order by a certain number of steps.
After the 25th round, there is a final Add Round Key. We would be listing out all these operations in detail while we go further into the data pathway.
B. Rectangle Architecture
The RECTANGLE Lightweight Block Cipher architecture shown in fig. 1 utilizes a 64-bit datapath to get the encrypted cipher state. 16 S-Boxes operate parallelly as it is applied to all 64-bits. In Key scheduling, S-box substitution is applied to only 16-bits, so requires only four S-Boxes. The round Transformation and Key scheduling operations run parallelly. These all will be described in precisionl in the subsequent sections.
Sub-Key State and Cipher State: One of the main reasons of naming the lightweighted cipher as RECTANGLE is that the block sizes can be pictured as a (4 x 16) array of bits. The cipher state consists of a 64-bit plaintext or ar 64-bit cipher text. let w15, w14.... w1,w0 represent the cipher state in first row. Similarly,w31 .....w17,w16 bits are arranged in second row and so on as shown below in Matrix1.
In the next clock cycle, 16 bits of cipher state is XORed with correspondent bits of subkey register. By the end of one clock cycle , the control signal is used to rotate the four rows over the conditions specified in shift row transformation and simultaneously store the values of the last S-Box output. This is known as Round Transformation.One clock cycle completes one round transformation. The control signal simultaneously loads the next round key into the sub-key register that is extracted from key-scheduling. After 25 rounds of 64-bit XOR of the current state with a sub-key state, the cipher state gives the final output.
3. S-Box Design : S-box executes substitution operation. Here, we have taken a 4 x 4 S-Box ( i.e. four inputs and four outputs). We have generated a look up table as shown in table1.
4. Key Scheduling: Key scheduling requires 80- bit ( rep-resented as 5 x 16 array) key registers. It can be represented in matrix form as shown below in matrix 5.
IV. ACKNOWLEDGMENT
We owe our deep gratitude to our mentor for his constant encouragement, support, and guidance throughout this journey. His keen supervision has not only helped us learn but grow our knowledge base to a new horizon.
Conclusion
A RECTANGLE block cipher is a flexible lightweight ( based on bit-slicing) algorithm that is used in many applica-tions such as RFID, WSNs, etc. From the simulation results.It operates at a maximum of 150MHz. The architecture has been implemented on the Intel Quartus Prime 18.0 device. It has the flexibility to choose different key sizes. It can trigger many problems in the field of cryptography and design. The P-Layer uses three left rotations, which not only reduces cost in hardware but also has software efficiency. Yet RECTANGLE is an interesting design, and there is always a further scope of security-based research in RECTANGLE, be it be in reducing the S-box used, using fewer clock cycles for each rotation, etc.
References
[1] Md. Nazmul Hasan, Md. Tariq Hasan, Rafia Nishat Toma, and Md. Maniruzzaman, “Fpga implementation of l-block lightweight block cipher,” March, 2017, doi: 10.1109/CEEICT.2016.7873062.
[2] Jai Gopal Pandey, Ayush Laddha, and Sashwat Deb Samaddar, “A lightweight vlsi architecture for RECTANGLE cipher and its Im-plementation on an FPGA,” 24th International Symposium on VLSI Design and Test (VDAT), Bhubaneswar, India, 2020, pp.16, doi: 10.1109/VDAT50263.2020.9190623.
[3] Wentao Zhang, Zhenzhen Bao, Dongdai Lin, Vincent Rijmen, Bohan Yang, and Ingrid Verbauwhede, “Rectangle: a bit-slice lightweight block cipher suitable for multiple platforms,” Sci. China Inf. Sci. 58, 1–15 (2015).
[4] Hatzivasilis, G., Fysarakis, K., Papaefstathiou, I. et al., “ A review of lightweight block ciphers,” doi:10.1007/s13389-017-0160-y
[5] Soheil Feizi, Ali Nemati, Arash Ahmadi, and Vahab AI-din Makki, “A high-speed fpga implementation of a bit-slice ultra-lightweight block cipher, rectangle,” 2015 5th International Conference on Computer and Knowledge Engineering (ICCKE).
[6] Zheng Gong, Svetla Nikova, and Yee Wei Law. “KLEIN: a new family of lightweight block ciphers”, RFID Security and Privacy, 26-28 June 2011.
[7] D. Hong, J. Sung, S. Hong, J. Lim, S. Lee, B. Koo, C. Lee, D. Chang, K. Jeong, H. Kim and S. Chee, “HIGHT: A new block cipher suitable for low-resource device”, LNCS 4249, pp. 46-59, Springer-Verlag, 2006.
[8] Sweta K. Parmar, K.C. Dave, “Implementation of Data Encryption and Decryption Algorithm for Information Technology”, International Journal of Advances in Science Engineering and Technology, Volume-1, Issue- 2, Oct-2013.
[9] Jai Gopal Pandey, Tarun Goel, Mausam Nayak, Chhavi Mitharwal, Abhijit Karmakar, Raj Singh, “A High-performance VLSI Architecture of the PRESENT Cipher and its Implementations for SoCs”, IEEE, 2018.
[10] George Hatzivasilis, Konstantinos Fysarakis, Ioannis Papaefstathiou, Harry Manifavas, “A review of lightweight Block Ciphers”, DOI: 10.1007/s13389-017-0160, JCE, 2017.