MICKEY 2.0. 85: a Secure and Lighter MICKEY 2.0 Cipher Variant With
Total Page:16
File Type:pdf, Size:1020Kb
S S symmetry Article MICKEY 2.0.85: A Secure and Lighter MICKEY 2.0 Cipher Variant with Improved Power Consumption for Smaller Devices in the IoT Ahmed Alamer 1,2,*, Ben Soh 1 and David E. Brumbaugh 3 1 Department of Computer Science and Information Technology, School of Engineering and Mathematical Sciences, La Trobe University, Victoria 3086, Australia; [email protected] 2 Department of Mathematics, College of Science, Tabuk University, Tabuk 7149, Saudi Arabia 3 Techno Authority, Digital Consultant, 358 Dogwood Drive, Mobile, AL 36609, USA; [email protected] * Correspondence: [email protected]; Tel.: +61-431-292-034 Received: 31 October 2019; Accepted: 20 December 2019; Published: 22 December 2019 Abstract: Lightweight stream ciphers have attracted significant attention in the last two decades due to their security implementations in small devices with limited hardware. With low-power computation abilities, these devices consume less power, thus reducing costs. New directions in ultra-lightweight cryptosystem design include optimizing lightweight cryptosystems to work with a low number of gate equivalents (GEs); without affecting security, these designs consume less power via scaled-down versions of the Mutual Irregular Clocking KEYstream generator—version 2-(MICKEY 2.0) cipher. This study aims to obtain a scaled-down version of the MICKEY 2.0 cipher by modifying its internal state design via reducing shift registers and modifying the controlling bit positions to assure the ciphers’ pseudo-randomness. We measured these changes using the National Institutes of Standards and Testing (NIST) test suites, investigating the speed and power consumption of the proposed scaled-down version named MICKEY 2.0.85. The (85) refers to the new modified bit-lengths of each MICKEY 2.0 register. The results show that it is faster, requires less power, and needs fewer GEs. The proposed variant will enhance the security of applications, such asRadio-frequency identification (RFID) technology, sensor networks, and in Internet of things (IoT) in general. It also will enhance research on the optimization of existing lightweight cryptosystems. Keywords: cryptography; MICKEY 2.0 cipher; RFID; power consumption; lightweight encryption; gate equivalents; encryption 1. Introduction The need to implement lightweight, synchronous encryption algorithms that are suitable for RFID technology is significantly growing. These algorithms are important factors in the cost reduction in small and limited-sized devices and in ensuring financial efficiency in the use of smaller microcontrollers. Moreover, encryption methods need to be tested, as demonstrated in the tests performed for MICKEY 2.0 [1], and scaled-down variants should be proposed with standard randomness tests to ensure security. We introduced a further optimized version of MICKEY 2.0, which is suitable for implementation in real-life applications that require smaller ship sizes with less memory and power consumption (MICKEY 2.0.85). Then, we evaluated its performance to demonstrate its resistance against possible statistical attacks. Obtaining a scaled-down version of MICKEY 2.0 while maintaining its security is challenging. To achieve this, the objective is to reduce the internal state to save the number of gate equivalents (GEs), Symmetry 2020, 12, 32; doi:10.3390/sym12010032 www.mdpi.com/journal/symmetry Symmetry 2020, 12, 32 2 of 21 and to use the National Institutes of Standards and Testing (NIST) test suite [2] to test the keystream sequences that are sufficiently large in length and number. Lightweight cryptosystems aim to provide security for devices with specific restraints, such as small memory size and lower computing power and power consumption. Currently, the most effective and widely used cryptosystems, such as Advanced Encryption Standard (AES) [3], require greater computation ability as well as greater ship sizes. The non-lightweight ciphers have slower speed and low throughput [4,5]. Lightweight cryptosystems provide solutions for issues raised by implementing AES, for example, encryption speed and power consumption. Lightweight stream ciphers, for example, present a more secure solution for small devices, such as microcontrollers and RFID components, namely, RFID tags and RFID readers. Security is needed for small components in important technology, such as sensor networks and IoT technology [6–8]. Ciphers such as Trivium has been investigated to design scaled-down versions to suit small technology, such as the Micro-Trivium designed by [9]. However, our proposed MICKEY 2.0 cipher variants consume less power and require fewer GEs than other ciphers. This is discussed in more detail in Section 6.3. Considering the importance of applying a NIST candidate cipher to hardware [10] demonstrated how NIST can be used as a standard evaluation tool for ciphers. Moreover, their study discussed the hardware design and evaluations standardized by NIST for lightweight ciphers and investigated ACE and WAGE Ciphers. Additional details on the implementation of microcontrollers can be found in [11]. We chose to reduce the power consumption and increase the processing speed by reducing the number of bits in the internal registers (and corresponding driving data structures). The novel discovery is that the overall randomness of the keystream generated was actually slightly better than the MICKEY 2.0 algorithm. This indicated that the additional bits in MICKEY 2.0 were adding power consumption and time without providing additional value. We propose a MICKEY 2.0 variant to reduce the power consumption and the number of GEs without compromising security. By optimizing and testing the proposed variant with the NIST test suite for the pseudo-randomness comparison between MICKEY 2.0 and MICKEY 1.0, and performing a preliminary cryptanalysis, the security level for this variant appears to be as good as, or slightly better than, MICKEY 2.0. Additionally, its performance in terms of security, speed, and power consumption is measured. The main contributions of this paper to existing lightweight encryption methods are as follows: 1. We propose a new MICKEY 2.0 cipher variant, called MICKEY 2.0.85. This variant has been tested for pseudo-randomness, which, to the best of our knowledge, has never been done before. 2. We presented a reduction method for MICKEY 2.0, which resulted in fewer GES for MICKEY 2.0.85. 3. We propose a new variant (MICKEY 2.0.85), which is 23% faster and consumes 16% less power than MICKEY 2.0 while maintaining similar pseudo-randomness test results. 4. We performed two common cryptanalysis processes, each of which shows the lighter variant to be at least as resistant to attacks as its less efficient predecessor. This paper is organized as follows. The background and an overview of the MICKEY algorithm are provided in Section2. The study methodology is presented in Section3. Section4 presents an overview of the related work on symmetric encryption and lightweight encryption, in addition to the scaled-down version of the Trivium. Section5 provides an illustrated description of the MICKEY 2.0 scaled-down methodology. Section6 describes the utilization of the results and analysis of the following aspects: (1) the NIST test suite to test the pseudo-randomness of MICKEY 2.0 and MICKEY 2.0.85, (2) the speed test performance, and (3) the power consumption tests with the number of GEs. Section7 contains our cryptanalysis results. Section8 provides an overall discussion, and Section9 concludes the paper, along with suggestions for possible future work. Symmetry 2020, 12, 32 3 of 21 2. Background MICKEY 2.0 is a lightweight stream cipher designed for hardware implementation and can also be implemented in software applications. The following section provides an overview of how the MICKEY 2.0 cipher works. Additional details can be found in [1]. Symmetry 2020, 12, 32 3 of 23 2.1. MICKEY 2.0 Family of Ciphers 2. Background The MICKEYMICKEY 2.0 2.0 cipher is a lightweight family generates stream cipher a keystream designed for using hardware two implementation internal registers. and can These also registers are used tobe determine implemented the in valuesoftware (1 applications. or 0) for any The given following bit section position provides within an theoverview keystream. of how the In general,MICKEY a keystream2.0 cipher works. is intended Additional to details be XORed can be found with in a [1]. plaintext message to generate ciphertext. Ideally, the2.1. keystream MICKEY 2.0 should Family of be Ciphers random enough to mask any statistical patterns within the plaintext and to be irreversible so that the key cannot be derived. The MICKEY 2.0 cipher family generates a keystream using two internal registers. These Theregisters original are MICKEYused to determine algorithm the value (MICKEY(1 or 0) for any 1.0) givenwas bit position vulnerable within theto keystream. statistical attacks. Not surprisingly,In general, MICKEY a keystream 1.0 failed is intended all butto be oneXORed of with the a NIST plaintext randomness message to generate tests. ciphertext. The MICKEY 2.0 cipher is anIdeally, improved the keystream version should of be MICKEY random enough 1.0 [12 to ].mask The any MICKEY statistical patterns 2.0 cipher within has the plaintext two registers, R (linear register)and to andbe irreversible S (nonlinear so that register). the key cannot These be derived. registers are initialized by merging an 80-bit key and The original MICKEY algorithm (MICKEY 1.0) was vulnerable to statistical attacks. Not an 80-bit initializationsurprisingly, MICKEY vector 1.0 (IV). failed all but one of the NIST randomness tests. The MICKEY 2.0 cipher is As thean keystream improved version is generated, of MICKEY the 1.0 [12]. ‘clock’ The isMICKEY advanced 2.0 cipher along hasboth two registers, the linear R (linear (R) andregister) nonlinear (S) registers basedand S on(nonlinear the state register). of the These internal registers control are initialized structures, by whichmerging include an 80-bit R_TAPS, key and an COMP0, 80-bit COMP1, FB0, and FB1.initialization For simplicity, vector (IV).we will focus on the scaled-down process.