
Research Article


Humming Bird with Coloured Wings: A Feedback Security Approach 

Siva Janakiraman,
K.V.Sai Krishna Kumar,
R.Rohit Kumar Reddy,
A. Srinivasulu,
Rengarajan Amirtharajan,
K. Thenmozhi
and
John Bosco Balaguru Rayappan



ABSTRACT

The day to day amplification on technology and the demand on shrinking the device sizes reflect in the diminution on memory sizes and constraints on device outlay. In the present times of mass communication with the swift escalating technology, there is a dire necessity for security on the information traversing between authorized individuals. All these factors invite the property of light weightiness and the focused security algorithms such as Hummingbird for devices with humiliated resources. This study present an efficient software implementation of modified Humming Bird algorithm on an 8bit microcontroller with randomization on subkey selection based on LFSR. We also do comparative analysis on performance in terms of memory foot print and execution time between our modified one and the original algorithm implementations. The obtained results make it evident that the proposed method raises the complexity significantly without hike in resource consumption and makes it more suitable to provide security in extremely constrained devices.





Received: March 05, 2013;
Accepted: April 23, 2013;
Published: April 18, 2014


INTRODUCTION
In the present scenario of widely evolving technologies of communication and hence, the information security of critical data arises with the requirement for impregnable covert channel arises when critical information has to be communed. Modern cryptographic methods use a key to control encryption and decryption (Schneier, 2007). Two classes of keybased encryption algorithms are namely symmetric (secretkey) and asymmetric (publickey) (Abomhara et al., 2010; Muda et al., 2010). Symmetric ciphers can be divided into stream ciphers (encrypt a single bit of plaintext at a time) and block ciphers (take a number of bits and encrypt them as a single unit) (Romanet al., 2007). In symmetric algorithms, both sender and receiver share the same key to encrypt as well as to decrypt the messages. In order to provide privacy and thus, security, this key needs to be kept covert. The amount of power consumed by the symmetric algorithms for computation is always much less. Among the wellknown, a few like: DES, AES, TripleDES (Zaidan et al., 2010a; Leander et al., 2007; Daemen and Rijmen, 2002), BLOWFISH (symmetric 64bit block cipher. Key lengths can vary from 32 to 448 bits in length) and TWOFISH (128bit block cipher using 128, 192, or 256bit keys). DES better known the Digital Encryption Standard is a widely used symmetric algorithm which encrypts a 64bit block using a 56bit key (Rabah, 2005a). However, asymmetric algorithms implement the use of a pairs of keysone for encryption and the other for decryption. While a decryption key is basically kept a secret and hence called the ''private key'' or ''secret key'', the encryption key is passed to everyone who ever wants to encrypt and send messages, so called ''public key''. The reconstruction of secret key is not possible using public key. The motivation of asymmetric algorithms was published by Diffie and Hellmann (1976). The Asymmetric algorithms turned to be the best for realworld implementation since the secret key remains clandestine and thus, the threat of getting recognized is much lesser. Some of the wellknown asymmetric algorithms are RSA (Gura et al., 2004; Mousa, 2005), DSA. Due to the property of slowness in asymmetric algorithms compared to symmetric ones, in many applications, an amalgam of both is being used. In vision of this, the use of asymmetric keys to provide authentication (Rabah, 2005b) and later than the successful implementation; one or more of the symmetric keys are evolved and exchanged using the former i.e., asymmetric encryption. On a further note, the advantages of both algorithms can be utilized to overcome the limitations. Classic examples for this procedure are RSA/IDEA (International Data Encryption Algorithm) combination of PGP2. In the current digital era, the Implementation of cryptography or steganography algorithms on application specific or reconfigurable hardware platforms has become popular. Always the cost effectiveness on microcontrollers and faster performance on FPGAs being the weapon in the battle field for device selection (Rajagopalan et al., 2012a, b; Zaidan et al., 2010b). As goes the quotation “As light as a feather and as hard as dragon scales”, there evolves the ‘lightweight cryptography’ (Rinne et al., 2007 and Janakiraman et al., 2012) in the realm of information security with lightweight algorithms involving a short internal state (to lower area) to allow serialization (to lower power). However, the characteristic feature remains to be their short processing time (to lower energy) and short output (to lower communication cost). Thus, the cryptography is wellsuited for (extremely) constrained devices and not purposed for allpowerful adversaries. Though, it serves to be a strong crypto, it is no comparison to traditional cryptography. Therefore, it is known to be a pervasive methodology which primarily is an amalgam of wireless, embedded which results in a constrained CPU, memory and finally at the scope of battery (Janakiraman et al., 2012; Salem et al., 2011). In this work we suggest a method to perk up the security level of the Humming bird algorithm and also we analyze its impact on memory occupancy and execution speed in comparison with original algorithm (Engels et al., 2010).
Humming Bird is a well known light weight symmetric cipher that was designed with a focus for constrained devices (Engels et al., 2010). The algorithm has the following specifications: •  Size of a plain text block is 16 bits 
• 
Five 16 bit registers RS_{i} (i = 1 to 4) and a 16 bit Linear Feedback Shift Register (LFSR) are used 
• 
A symmetric key of size 256 bit is used, which is divided into 16 sub keys of 16 bits each 
The algorithm consists of the following three main processes. Initialization process: The process starts by choosing four 16 bit values that are used to initialize the four internal state registers RS_{i }(i = 1 to 4) and then performing modulo addition operation between the registers before the process of encryption. Encryption process: This is same as initialization process where the input is a 16bit plain text (PT_{i}) and the output of cipher block (Ek4) is the cipher text (CT_{i}). Cipher block (Eki): Each cipher block has a block size of 16 bits and uses a 64 bit key (K_{i}). This block has four regular rounds and a final round. The 64 bit key is subdivided into four 16bit keys (ki,1., ki,2., ki,3., ki,4) which will be used in four regular rounds. The final round uses two derived keys ki,5 where, ki,5 = (ki,1^ki,3) and ki,6 = (ki,2^ki,4). Each round has the following three steps: •  ExclusiveOR operation of input and sub key ki,j 
• 
Mapping the obtained result using Sbox 
• 
Applying linear transform L (m) = circular Left shift for 7 bits (m) for the Sbox result 
The result obtained after 4 rounds is EXORed with derived key k5 and the result obtained is mapped using Sbox. Then ExclusiveOR operation is performed with derived key k6. The result obtained is the output of the cipher block (Ek_{i}). Decryption process: This is similar to the encryption process. Here the registers and cipher blocks are taken in reverse order to that of encryption process and modulo 2^{16} subtraction is performed instead of modulo addition. The cipher text (CT_{i}) obtained in encryption process is given as the input to the decryption process to obtain the plain text (PT_{i}) as decrypted output. Inorder to provide more security randomization can be done at various levels. Rajagopalan and Upadhyay (2011), described the implementations on generation of pseudorandom numbers using LFSR. Based on the results obtained on software implementations and analysis of Light weight crypto systems made by Rinne et al. (2007) hummingbird gives better performance on both during size and code optimizations on comparison with other well known light weight algorithm present.
PROPOSED METHOD Random subkey selection (RSS) using LFSR: The two main objectives of a good symmetric crpto algorithm are: •  The algorithm itself should be known, only the key is secret 
• 
Key should be randomized with a good algorithm in such a way to make identification of key is impossible though the plaintext and ciphertext are known 
In order to improve the complexity level of the humming bird algorithm, we propose a random sequence for the usage of the 16 subkeys with the help of a 4bit LFSR. The LFSR takes a 4bit initial value as its seed as shown in Fig. 1 to produce random numbers between 1 to 15 and finally a ‘0’ is appended as the 16th value to select the usage sequence 0 to 15 of 16subkeys used to encrypt or decrypt a plaintext block. The operation of 4bit LFSR is shown in the Fig. 2.
The following process shows the sample calculation for random number generation using LFSR Let us take: L.F.S.R = [1 0 1 0 10 1 0 0 1 1 1 0 1 1 1]
So by taking bits (0 1 1 1) as seed values to the shift registers we get the results as given in Table 1. This brings out the random numbers as: Rand [16] = [7,3,1,8,4,2,12,6,11,5,10,13,14,15,0]
 Fig. 1: 
Seed value selection 
 Fig. 2: 
Operation of 4bit LFSR 
Table 1: 
Stage by stage shifted output of 4bit LFSR 

Note: the 16th digit ‘0’ was inserted manually after the generation of random numbers 1 to 15 by LFSR. The pseudo code given below describes the procedure for random key selection using LFSR:
The process of dividing the 256 bit key (KEYM) into four 64bit keys(Ki) a shown in Fig. 3.
Similarly 16bit sub keys can be obtained by subdividing each 64 bit key (Ki) into four 16bit keys (ki,j). The order of these 16 sub keys are determined by the array ranom numbers in the array “Rand [16]” obtained from the output of the 4bit LFSR. Based on the sample calcuations shown above as the first random number generated by 4bit LFSR is 7, the sub key (7) i.e., Fig. 3. k 2,4 is taken as the first 16bit sub key for the encryption process. The next number in the array is 3 therefore, the sub key (3) i.e., k 1,4 is taken as the second key. The sample output of the 4bit LFSR is shown below.
Now these randomized keys are used while encrypting the given plain text as explained in the above.
Original key sequence 

Randomized key sequence 

 Fig. 3: 
64bit subkey generation 
In decryption also this modification has to be done to obtain the required plain text. This will increase the complexity and there by the security is raised to a great extend.
The above said algorithm was implemented in software using the Embedded ‘C’ language with the 8bit microcontroller ATmega8 as the target device. The device features with Reduced Instruction Set Computers (RISC) architecture that supports throughput of about 1 MIPS/1 MHZ. The target device is well known in the application areas that demands low power consumption and low cost. The execution was tested with AVR GCC compiler on an open source Integrated Development Environment (IDE), AVR studio.
RESULTS The simulation results obtained from the AVR studio on memory footprint and execution time for the original version of the hummingbird and the modified version with randomized subkey selection using LFSR were taken for comparative analysis. Table 2 and 3, respectively gives the results on FLASH Memory occupancy and execution time for code size and execution speed optimizations done by the compiler. All these values are taken for encryption or decryption of one block of data.
Sample I/P and O/P for basic algorithm: 

Sample I/P and O/P after randomizing key sequence: 

Table 2: 
With size optimization 

Table 3: 
With time optimization 

CONCLUSION The present results show the 4bit LFSR employed to randomize the subkey usage improves the security level of the hummingbird algorithm by 2^{4} times. The inference from the above graphs in Fig. 47 makes it clear that this hike in security can be achieved without significant raise in the execution time.
 Fig. 4:  Memory footprint comparisoncode optimized 
 Fig. 5:  Execution time comparisoncode optimized 
 Fig. 6:  Execution time comparisontime optimized 
 Fig. 7:  Memory footprint comparisontime optimized 
Though the code size for the modified algorithm is slightly high, it does not make any negative impact on algorithm since the memory footprint is very less compared to the existing code memory area of ATmega8.finally it is clear that considerable improvement in execution time can be obtained by using compiler specific optimizations on AVR studio.

REFERENCES 
1: Abomhara, M., O.O. Khalifa, O. Zakaria, A.A. Zaidan, B.B. Zaidan and H.O. Alanazi, 2010. Suitability of using symmetric key to secure multimedia data: An overview. J. Applied Sci., 10: 16561661. CrossRef  Direct Link 
2: Daemen, J. and V. Rijmen, 2002. The Design of Rijndael: AESthe Advanced Encryption Standard. SpringerVerlag, Berlin
3: Diffie, W. and M.E. Hellman, 1976. New directions in cryptography. IEEE Trans. Inform. Theory, 22: 644654. CrossRef  Direct Link 
4: Engels, D., X. Fan, G. Gong, H. Hu and E.M. Smith, 2010. Hummingbird: Ultralightweight cryptography for resourceconstrained devices. Fin. Cryptogr. Data Security, LNCS, 6054: 318. Direct Link 
5: Gura, N., A. Patel, A. Wander, H. Eberle and S.C. Shantz, 2004. Comparing elliptic curve cryptography and RSA on 8bit CPUs. Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, LNCS., 3156, August 1113, 2004, Springer, Berlin, Heidelberg, pp: 119132 CrossRef  Direct Link 
6: Janakiraman, S., R. Amirtharajan, K. Thenmozhi and J.B.B. Rayappan, 2012. Firmware for data security: A review. Res. J. Inform. Technol., 4: 6172. CrossRef  Direct Link 
7: Leander, G., C. Paar, A. Poschmann and K. Schramm, 2007. New lightweight DES variants. Proc. Int. Workshop Fast Software Encrypt., 4593: 196210. CrossRef 
8: Mousa, A., 2005. Sensitivity of changing the RSA parameters on the complexity and performance of the algorithm. J. Applied Sci., 5: 6063. CrossRef  Direct Link 
9: Muda, Z., R. Mahmod and M.R. Sulong, 2010. Key transformation approach for rijndael security. Inform. Technol. J., 9: 290297. CrossRef  Direct Link 
10: Rabah, K., 2005. Theory and implementation of data encryption standard: A review. Inform. Technol. J., 4: 307325. CrossRef  Direct Link 
11: Rabah, K., 2005. Secure implementation of message digest, authentication and digital signature. Inform. Technol. J., 4: 204221. CrossRef  Direct Link 
12: Rajagopalan, S., R. Amirtharajan, H.N. Upadhyay and J.B.B. Rayappan, 2012. Survey and analysis of hardware cryptographic and steganographic systems on FPGA. J. Applied Sci., 12: 201210. CrossRef  Direct Link 
13: Rajagopalan, S., S. Janakiraman, H.N. Upadhyay and K. Thenmozhi, 2012. Hide and seek in silicon: Performance analysis of Quad block Equisum Hardware Steganographic systems. Procedia Eng., 30: 806813. CrossRef  Direct Link 
14: Rinne, S., T. Eisenbarth and C. Paar, 2007. Performance analysis of contemporary lightweight block ciphers on 8bit microcontrollers. SPEED 2007, http://www.ei.rub.de/media/crypto/veroeffentlichungen/2011/01/29/lw_speed2007.pdf.
15: Roman, R., C. Alcaraz and J. Lopez, 2007. A survey of cryptographic primitives and implementations for hardwareconstrained sensor network nodes. Mobile Networks Appl., 12: 231244. CrossRef  Direct Link 
16: Salem, Y., M. Abomhara, O.O. Khalifa, A.A. Zaidan and B.B. Zaidan, 2011. A review on multimedia communications cryptography. Res. J. Inform. Technol., 3: 146152. CrossRef  Direct Link 
17: Schneier, B., 2007. Applied Cryptography: Protocols, Algorithms and Source Code in C. 2nd Edn., John Wiley and Sons, New Delhi, India, ISBN13: 9788126513680, Pages: 784
18: Sundararaman, R. and H.N. Upadhyay, 2011. Stego system on chip with LFSR based information hiding approach. Int. J. Comput. Appl., 18: 2431. CrossRef  Direct Link 
19: Zaidan, A.A., B.B. Zaidan, A.K. AlFrajat and H.A. Jalab, 2010. An overview: Theoretical and mathematical perspectives for advance encryption standard/rijndael. J. Applied Sci., 10: 21612167. CrossRef  Direct Link 
20: Zaidan, B.B., A.A. Zaidan, A.K. AlFrajat and H.A. Jalab, 2010. On the differences between hiding information and cryptography techniques: An overview. J. Applied Sci., 10: 16501655. CrossRef  Direct Link 



