Abstract: Fast evaluation of digital data exchange occurs in recent years. Due to that security of information is much important in data storage and transmission process. Security of internet banking account passwords, email accounts password etc. requires text protection in digital media. In the same way image transmission and storage during industrial and research processes requires image protection.
The National Institute of Standards and Technology (NIST) have initiated a process to develop Federal information Processing Standard (FIPS) which should be most flexible, secure, fast and which can replace Data Encryption standard. This new standard is recognized by name Advanced Encryption Standard (AES). Features of data are depends on its types. Therefore same encryption technique cannot be used used for all types of data. Images have large data size and also has real time constrain problem hence similar method cannot be used to protect images as well as text from unauthorized access. However with few variations in method AES can be used to protect image as well as text. In this project I have implemented encryption and decryption for text and image using AES.
For text encryption 128 bit text inputs are synthesized and simulated on TMS320C6713 DSP processor using Code Composer Studio tool in simple C language code.
For image encryption java code is synthesized and simulated by Java Application Platform SDK. Mainly Code Block Chaining (CBC) mode with PKCS 5 padding is used for image encryption.
Keywords — Advanced Encryption Standard (AES), CBC mode, FIPS, NIST, Rijndael
1. INTRODUCTION
Due to increasing use of computers, now a day security of digital information is most important issue. Intruder is an unwanted person who reads and changes the information while transmission occurs. This activity of intruder is called intrusion attack. To avoid such attack data may be encrypted to some formats that is unreadable by an unauthorized person. AES is mainly advance version of data encryption standard (DES).
Effort towards developing the AES was started by NIST from January 1997. AES is a symmetric key encryption algorithm, and NIST made a worldwide public call for the algorithm to succeed DES. Initially 15 algorithms were selected. After detail analysis they were reduced down to 5 algorithms namely MARS, RC6, Rijndael, Serpent and Twofish. All these algorithms were iterated block ciphers. The all five finalists were determined to be qualified as the algorithm for AES [3]. After complete analysis
Rijndael is selected as the algorithm for AES. Characteristics of Rijndael are: High security, mathematical soundness, resistance to all known attacks, high encryption speed, worldwide royalty free use, suitability across wide range of hardware and software.
2. Literature Survey
1. D. S. Abdul. Elminaam et.al., (2009) presents a performance evaluation of selected symmetric encryption algorithms on power consumption for wireless devices in their paper named “Evaluating the Effects of Cryptography Algorithms on power consumption for wireless devices.” following points are concluded by him from his experimental result. 1) If packet size is changing with or without transmission of data using various WLANs protocols and different architectures. It was concluded form the result that Blowfish and AES has better performance than other common encryption algorithms used, followed by RC6. Worm holes are present in the security mechanism of DES and 3DES; Blowfish and AES do not have such worm holes any so far [4].
2. Energy Consumption of RC4 and AES Algorithms in Wireless LANs is analyzed in the year 2003 by P. Prasithsangaree and his collegeue P. Krishnamurthy. RC4 and AES encryption algorithms performance evaluation is made by their research. The matrics for such evaluation are as follows: CPU work load, encryption throughput, key size variation and energy cost. Experimental results conclude that for encrypting large packets the RC4 is energy efficient and fast. However, for a smaller packet size encryption AES was more efficient than RC4. Therefore it appears that by using a combination of RC4 and AES we can save energy to provide encryption for any packet size.
3. Seyed Hossein Kamali, Reza Shakerian, Maysam Hedayati, Mohsen Rahmani, “A New Modified Version of Advanced Encryption Standard (AES) Based Algorithm for Image Encryption” (2010) [26]
The authors proposed an enhanced model of Advanced Encryption Standard to possess good level of security and better range of image encryption. The modification process can be carried out by adjusting the Shift Row Transformation. As the result shown, that the comparison has been made in between the original AES encryption algorithm and the modified algorithm which produces very good encryption results focusing towards the security against statistical attacks.
Text and Image Encryption Decryption Using
Advanced Encryption Standard
Kundankumar Rameshwar Saraf1, Vishal Prakash Jagtap2, Amit Kumar Mishra3
123
Assistant Professor, Department of Electronics and Telecommunication Engineering Sandip Institute of Technology and Research Centre,
3. Text encryption and decryption by AES
3.1 Rounds in AESLength of the input output block and the State is 128 for AES algorithm. This is represented by Nb = 4, which reflects the number of 32-bit words (number of columns) in the State. For the AES algorithm 128, 192, or 256 bits is the length of the Cipher Key, K. The key length of the block is denoted by Nk and its value is 4, 6, or 8. This value reflects the number of 32-bit words (number of columns) in the Cipher Key.
Table 1: Key-Block-Round Combinations
Algorithm Block Size (Nb words) Key Length (Nk words) Number of Rounds (Nr) AES-128 4 4 10 AES-192 4 6 12 AES-256 4 8 14
For the AES algorithm, during the execution of algorithm the numbers of rounds to be performed are dependent on the key size. Nr is used to represent the number of rounds. The combinations of Key-Block-Round that conform to this standard are given in table 1 above.
AES algorithm uses a round function for both its Cipher and Inverse Cipher. This function is composed of four different byte-oriented transformations: A) Using a substitution table (S-box) byte substitution, B) By different offsets shifting rows of the State array, C) mixing the data within each column of the State array, and D) adding a Round Key to the State. No. of round keys generated by key-expansion algorithm is always one more than the actual no. of rounds present in the algorithm. Therefore the equation can be made as follows:
Number of round keys = Nr+1 (1) We refer to the round keys as K0, K1, K2……….KNr
3.2 The Algorithm
The input (block size Nb, also known as plaintext) of the
AES algorithm is converted into a 4 x 4 array, called a state. Four transformations, AddRoundKey, SubBytes, ShiftRows and MixColumns, perform various operations on the state to calculate the output state (the final cipher text). Except for AddRoundKey each of these operations are invertible.
InvMethod( Method( a ) ) = a (2) If AddRoundKey operates on a variable twice, the variable itself is returned.
3.3 Transformation in AES
To perform all these transformations above, some mathematical operations are needed to understand which are given as below.
a. AddRoundKey Routine K0,0 K0,1 K0,2 K0,3 a0,0 a0,1 a0,2 a0,3 K1,0 K1,1 K1,2 K1,3 a1,0 a1,1 a1,2 a1,3 K2,0 K2,1 K2,2 K2,3 a2,0 a2,1 a2,2 a2,3 K3,0 K3,1 K3,2 K3,3 a3,0 a3,1 a3,2 a3,3
=
B0,0 B0,1 B0,2 B0,3 B1,0 B1,1 B1,2 B1,3 B2,0 B2,1 B2,2 B2,3 B3,0 B3,1 B3,2 B3,3The AddRoundKey routine is simple XOR addition of round key and a portion of expanded key into plaintext.
b. SubBytes
Subbyte is the SBOX for AES. It operates on each byte in the state and performs a non-linear substitution in the GF(28) field, which is what makes AES a non-linear cryptographic system. In order to be invertible each value of b’ must be generated from a unique value of b. A look up table can also be implemented for SubBytes. SubByte operation performs an affine transformation on the inverse of byte b, and adds it to 0xC6.
c. ShiftRows
ShiftRows operates on individual rows of the state. It provides diffusion throughout the AES algorithm. The first row is not changed. The second row is shifted one byte to the left, with the left most byte wrapping around. The third row shifts two bytes to the left, and the fourth row shifts three bytes to the left with appropriate wrapping to the right. This description is for AES-128, the number of shifts for each row changes based on the key size.
Table 2: Number of shifts in ShiftRows Nb Row 0 Row 1 Row 2 Row 3
4 0 1 2 3
6 0 1 2 3
8 0 1 3 4
d. MixColumns
MixColumns operates on individual columns of the state. It provides diffusion throughout the AES algorithm. The columns are considered polynomials over GF(28) and multiplied modulo x4+1 with a(x) where a(x) = {03}x3 + {01}x2 + {01}x + {02} NOTE: x4+1 is relatively prime to a(x). This can be represented as a matrix equation:
This can be converted to a system of equations which can be computed per the addition and multiplication rules described in section 2. InvMixColumns can be described by the equation:
As shown in figure 1 and 2 below the AES algorithm loops through certain sections Nr times. The
AddRoundKey is performed at the beginning and at the end of the cipher in order to provide initial and final randomness to the algorithm. Without this operation, anyone can easily deduct the first or last portion of the cipher, and therefore it would be irrelevant to the security of the cipher. In order to make the encryption and decryption routines more similar the last round in the cipher is completely different from the other rounds. It reduces the complexity in hardware, and software, implementations. Plain Text AddRoundKey SubBytes ShiftRows MixColumns AddRoundKey SubBytes ShiftRows AddRoundKey Cipher Text
Figure 1: AES encryption algorithm
Figure 2: AES decryption algorithm
4. Implementation
I have successfully implemented the AES text encryption using C code and DSP Processor using Code Composer Studio software for simulation. I got all the desired results of encryption as well as correct decryption of text message and produces original message. The maximum positions in the input message as well as in key should not exceed 16 positions in length. Because I use the 128 bit size of data and key. Therefore each position whether it is alphabet, number, symbol or blank space is encrypted into 8 bit sequence.
Number of positions = 128/8 = 16 (3)
One block comprises total sixteen bytes of 8 bit sequence format. From this block first four bytes forms first column elements. In such a way next four bytes forms second, third and fourth column elements. One row contains total four letters and 32 bits. Four such rows are placed one below another. It forms 4*4 sizes square of blocks. This block is then further encrypted as well as decrypted.
5. Results for Text Encryption and
Decryption
When I download the C program in DSP processor TMS320C6713, the following results are obtained to me.
1. 128 bit key: swapnil ghorpade (16 positions)
INPUT MESSAGE: Kundan Saraf!82 (16 positions)
Encrypted message:
Decrypted message: Same as input message
2. 128 bit key: 1234567891234567 (16 positions)
INPUT MESSAGE: 1234567891234567(16 positions)
Encrypted message: Decrypted message:
3. 128 bit key: 1234567891234567(16 positions)
INPUT MESSAGE: 9876543219876543 (16 positions)
Encrypted message: Decrypted message:
4. 128 bit key: k.k.w.i.e.e.r.(14positions)
INPUT MESSAGE: k.k.w.i.e.e.r.(14positions)
Encrypted message:
Decrypted message: Same as input message
5. 128 bit key: abcdefghijk (11 positions)
INPUT MESSAGE:pqrstuvwxyz (11 positions)
Encrypted message:
Decrypted message: Same as input message
Round Key Round Key Round Key 1st Round Repeat Nr-1 Round Last Round
6. 128 bit key: ABCDEFGHIJK(11positions)
INPUT MESSAGE: pqrstuvwxyz (11positions)
Encrypted message:
Decrypted message: Same as input message
7. 128 bit key: ABCDEFGHIJK(11positions)
INPUT MESSAGE: PQRSTUVWXYZ (11 positions)
Encrypted message:
Decrypted message: Same as input message
8. 128 bit key: zyxwvutsrqp{?”% (15 positions)
INPUT MESSAGE: 678912345054321(15positions)
Encrypted message:
Decrypted message: Same as input message
9. 128 bit key: 7891223737445576 (16 postions)
INPUT MESSAGE: Iugehawrmuetbyjl(16postions)
Encrypted message: Decrypted message:
6. Observations
Observation 1 concludes that any normal text along with symbol in both key as well as input can be easily encrypted and decrypted.
Observation 2 concludes that any same number sequence written in key as well as input produces the decrypted message which contains encrypted message also.
Observation 3 concludes that any number different types of number sequence written as a key and input produce decrypted output along with encrypted message. It means that if we write numbers in key and input message at that time decrypted message contains original message along with input message.
Observation 4 concludes that if we write same text message in input as well as key it will perform normal encryption and decryption.
Observation 5, 6 and 7 concludes that AES is case sensitive algorithm if case of input message only or key only or both input message and key are change then it will produces a different encrypted message and expected decrypted message.
Observation 8 if we write letters along with symbols in place of key and if input provided is in number form it will perform normal encryption and decryption and provide input message as a decrypted message.
Observation 9 if we write key in the form of numbers and input message in the form of letters it provides at that time decrypted message contains original message along with input message.
7. Image Encryption
7.1 Need of Image EncryptionMany digital services like multimedia systems, medical and military imaging systems, internet communication require reliable security in storage and transmission of digital images. Due to growth of internet, cell phones, multimedia technology in our society digital image security is the most critical problem. In these technology digital images plays more significant role than the traditional texts. It demands serious protection of users' privacy for all applications. Therefore image encryption techniques are usually used to avoid intrusion attack [7]. Correlation among pixels and high redundancy, these characteristics are varies according to type of multimedia data. Therefore generally same technique cannot be used to protect all types of multimedia data.
We may not use the traditional encryption algorithms to encrypt images directly because two reasons.
1) The size of image is often larger than text. Hence traditional encryption algorithms take larger time to encrypt and decrypt images compared to text.
2) In text encryption both decrypted and original text must be equal. This condition is never true for images. Because due to human perception; decrypted image with small distortion is usually acceptable (Chang et al, 2001), (Jiri Jan, 2005), (David Salomon, 2005). We can reduce this perceivable information by decreasing the correlation among image elements using certain transformation techniques (Mitra et al, 2006).
Considering the above points, this research of image encryption is divided into two parts. 1) First encryption and decryption of image data is perform by Code Block Chaining method with PKC 5 padding of Advanced Encryption standard. 2) After this we will perform password based encryption and decryption of image with the help of using MD5 and DES algorithm together.
7.2 Digital Image Formats
There are many types of digital image formats like .bmp, .gif, .jpg, .pict, .eps and .png. This project can use any kind of format. The results obtain in this paper are mainly using .gif format only. Therefore the detail explanation regarding .gif file format is given below.
a. GIF Files
The Graphics Interchange Format (GIF) was originally invented by CompuServe in 1987. It is mainly used file formats for web graphics and exchanging graphics files between computers. GIF format supports 8 bits of color information. This information is limited to 8 bits palette and 256 colors. Therefore 256 different colors are available in this format to represent the picture. GIF also
support transparency, interlacing and animation. (Gardner and Betcher, 2006), (Robert Fry, 2006). When we use LZW (Lempel-Ziv-Welch) method to save GIF images, GIF images are automatically compressed. LZW method also does degrade any image quality. Features of GIF format: transparency, interlacing, file compression, and primitive animation.
The interlacing feature browser can display portions of the image as it updates. Because of updating of interlacing part the original poor image becomes more and better.
8. AES Block Cipher Mode of Operation
ECB, CBC, OFB, CFB, CTR, and XTS are the different modes of operation of AES. Here we use CBC mode with PKCS5 padding. Following section briefly introduces cryptographic modes and padding techniques.
A.What is Mode of Operation?
In cryptography some algorithm uses a block cipher to provide an information service such as confidentiality or authenticity, these algorithm are called as mode of operation of cryptography.[15] The secure cryptographic transformation (encryption or decryption) of one fixed-length group of bits called a block is the only function performs by block cipher.[16] To securely transform amounts of data larger than a block it is needed to repeatedly apply cipher’s single-block operation. The procedure of applying this operation is described by mode of operation algorithm.[17][18][19]
.
For each encryption operation most of the modes require a unique binary sequence which is called initialization vector (IV). The IV is always needed to be non-repeating and for some modes random as well. Even when the same plaintext is encrypted multiple times independently with the same key, distinct ciphertexts must be produced each time. To ensure that use of initialization vector is important.[20] Size of blocks within a block cipher mode may be variable but during transformation the block size is always fixed. Operation by block cipher is performed onto the complete block. During this operation it is require that, the last part of the data must be padded to a full block if it is smaller than the current block size.[16] In some modes block cipher is effectively used as a stream cipher. In such modes padding does not require.
Traditionally, main use of encryption modes is to provide error propagation property under various scenarios of data modification. Recently integrity protection is an entirely separate cryptographic goal. In efficient way combination of confidentiality and authenticity is provided by some modern modes of operation. These modes are known as authenticated encryption modes.[17]
In AES algorithm confidentiality is provided by block cipher modes such as ECB, CBC, OFB, CFB, CTR, and XTS, but they do not protect against accidental modification or malicious tampering. These accidents are
detected with a separate message authentication code such as CBC-MAC, or a digital signature.
8.1 Initialization Vector (IV)
Initialization vector (IV) or starting variable (SV) [19] is a block of bits. Several modes use it to randomize the encryption. By this randomization it produces distinct ciphertexts even if the same plaintext is encrypted multiple times, without the need for a slower re-keying process [20]
.
Security requirements of an initialization vector are different than a key, so the IV usually does not need to be secret. Therefore in most cases, it is important that an initialization vector is never reused under the same key. But for CBC and CFB mode, due to reusing an IV leaks some information about the first block of plaintext, and about any common prefix shared by the two messages. For OFB and CTR both modes effectively create a bit stream that is XORed with the plaintext, and this bit stream is dependent on the password and IV only. Due to that in these modes, reusing an IV completely destroys security [20]
.
This can be seen because both modes effectively create a bit stream that is XORed with the plaintext, and this bit stream is dependent on the password and IV only [22].
In CBC mode use of the IV is must; in addition, it should be unpredictable at encryption time. Therefore it can be conclude that, the (previously) common practice of re-using the last cipher text block of a message as the IV for the next message is insecure. In TLS CBC IV attack, if an attacker knows the IV or he knows the previous block of cipher text before he specifies next plaintext. In such scenario an attacker can guess about the plaintext of some block that was encrypted with the same key before [23].8.2 Padding
A block cipher works on fixed block size units, but length of coming messages are variable. So some modes like ECB and CBC require that the final block be padded before encryption. In padding method extra bits are padded (i.e. added) in text message to make require size of block for encryption. Several padding schemes exist. In simplest padding scheme we add null bytes to the plaintext to bring its length up to a multiple of the block size. In this scheme care must be taken that the original length of the plaintext can be recovered. For example, if the plaintext is a java style string which contains no null bytes except at the end. Another more complex example is the original DES method. In this method to fill out the block a single bit is added, followed by enough zero bits. A whole padding block will be added whenever this message ends on a block boundary. Schneier and Ferguson suggest two simple methods of padding which are as follows: (a) Pad the last block with n bytes all with value n. (b) Append a byte with value 128 (hex 80), followed by as many zero bytes as needed to fill the last block.
8.3 Operation of Image Encryption and Decryption Execute the Encrypt code
Encrypted Image
Figure 3: Flowchart of Encryption Process
The detail process of image encryption and decryption is shown in the block diagrams given in figure 3 and figure 4 below.
Execute the Decrypt code
No
Yes
Decrypted Image
Figure 4: Flowchart of Decryption Process
8.4 What is PKCS5 padding?
This scheme is use to pad clear text to be multiples of 8-byte blocks.
DES algorithm requires that the input data to be 8-byte blocks. Suppose any text message is not the multiples of 8-byte blocks. Then the encryption of such text messages is performing by padding method. In this we pad additional bytes to text message to make text messages to be multiple of 8-byte blocks.
PKCS5Padding scheme is described in: RSA Laboratories, "PKCS #5: Password-Based Encryption Standard," version 1.5, November 1993.
It follows the following rules:
1)The number of bytes to be padded = 8 – (number Of Bytes (clearText) mod 8).
2)Depending on the length of the clear text data 1 to 8 bytes will be padded to the clear text data.
3) All padded bytes have the same value - the number of bytes padded.
PKCS5Padding scheme can also be explained with the diagram below.
Where, M= original clear text and PM = padded clear text:
If number Of Bytes (clearText) mod 8 == 7, PM = M + 0x01 (6)
If number Of Bytes (clearText) mod 8 == 6, PM = M + 0x0202 (7)
If number Of Bytes (clearText) mod 8 == 5, PM = M + 0x030303 (8)
If number Of Bytes (clearText) mod 8 == 0, PM = M + 0x0808080808080808 (9)
8.5 What Is The Use Of Hash Function?
It is a cryptographic function. It is mainly an algorithm that takes an arbitrary block of data and returns a fixed-size bit string. Any change in data will change the hash value. The data to be encoded is called the “message,” and the hash value is simply called digest or called the
message digest.
8.6 Why Salt is needed to add?
If any password is hashed, any identical password will have the same hash. Only storing the password’s hash creates two drawbacks as given: (1) Attacker can find a password very quickly by using birthday paradox method (given at http://en.wikipedia.org/wiki/Birthday_paradox). It will become much easier if large numbers of passwords are store in database. (2) An attacker can break the password in seconds by using the list of pre computed
hashes (given at
http://en.wikipedia.org/wiki/Rainbow_table).
To remove these drawbacks a salt can be concatenated to the password before performing the hash operation.
Salt: It is fixed length random number. It must be different for each stored entry. It is stored after hashed password in the form of clear text.
In this configuration, on each individual password an attacker must handle a brute force attack. Birthday attack/rainbow crack resistant is the database in this case.
Read the input image from the specified location
Apply AES –CBC–PKCS5 padding algorithm to this image
Get a password from the user
Append salt bytes to the password before it is used to calculate the key
Make password based encryption with MD5 and DES algorithm
Make a PBE Cipher object and initialize it to encrypt using the given password
Save the new encrypted image to the specified location
Get another same password from the user
Detect and remove the appended salt bytes from the password
Now read the encrypted image from the specified location
Make a PBE Cipher object using MD5 and DES algorithm and initialize it to decrypt using the given password.
Decrypt the image and save it to specified location Is this expected
8.7 Key Derivation of Password-Based Encryption in Java
For password-based encryption, a random salt sequence is used to prevent dictionary attacks. Also a deliberately slow function is used to generate a key (such as an AES or DES key) from a given password and salt.
There are several possible schemes available, but a common scheme is as follows:
We append counter, which will start at 1 and also append the password to the salt.
We first create a sequence using first step then calculate hash function of the sequence.
After that we repeat the process for some number of iterations. In each of the iteration it forms the new sequence which is to be hashed from the output of the previous hash and also append the incremented counter and salt
PBEWithMD5AndDES
This option is the combination of all benefits of insecure 56-bit encryption, slow operation, with an insecure hash function (MD5). It mainly used to interface with legacy code.
9. Results of Image Encryption
The original input image taken by this project is of .GIF file of size 204 kb which is as follows:
Figure 5: Input original image before encryption
The cipher text image is blank image .GIF file of size 216 kb as shown below:
Figure 6: Encrypted image
This image is output of encryption and input to decryption. The decrypted output image looks like original image. It is also .GIF file of size 216 kb as below:
Figure 7: Decrypted image after decryption
9.1 Performance Parameter
Table 3. Time taken for Different Images [1]
Image Size
Image Size on Disk
Time taken to Encrypt and Decrypt 256*256 66KB 0.707322ms 512*512 258KB 2.796286ms 1024*102
4
3.07MB 167.11ms
Table 4. Average Time Required By AES for Different Images [29]
Image (Size) Image (Size) Lisaw (256×256) 31.75 ms Lena(256×256) 31.75 ms Cheetah(200×320 ) 29, 25 ms Clown (200×320) 29, 25 ms Rose (200×320) 29, 25 ms
Table 5. Encryption Time Using Different Algorithms with Lena as a Test Image [29]
Algorithm Encryption (s) MIE 0,27 VC 1,98 N/KC 0,15 AES 0,03175
10. Conclusion
This paper shows successful implementation of text and image encryption as well as decryption. Due to combination of C code, Code Composer Studio and DSP processor a unique solution for text encryption is provided here. This text encryption uses 128 bit size of key as well as plaintext. Each word or space is converted into 8 bit sequence. Therefore maximum total 16 positions are recognized by this code. Letters, spaces, numbers or symbols can be written to these 16 positions. Results showed here uses different numbers, symbols and letters for text encryption. All the observations clearly conclude the behaviour of text encryption code.
AES encryption algorithm in CFB mode is used here for image encryption. PKCS5Padding method is used here. The comparative performance benefit of code is clearly shown here. It can clearly conclude from the table 5, 6 and 7 that AES is fastest algorithm among all others. Java Application Platform SDK is open source software therefore image encryption can be provided without investing any cost.
The proposed methodology is applied for ensuring the personal privacy in the context of surveillance video-camera systems. Only authorized users that possess the key key can decrypt the entire encrypted image sequence. The proposed method has the advantage of being suitable for mobile devices, which currently use the JPEG image compression algorithm, due to its lower computational requirements. The experiments have shown that we can
achieve the desired level of encryption in selected areas of the image, while maintaining the full JPEG image compression compliance, under a minimal set of computational requirements.
11. Future Scope
The proposed system can be extended to standard video coding systems such as those using MPEG and other video formats. All the existing costly encryption products will have no use in future if the video encryption also invented with royalty free open source software. Therefore it will be the most flexible and cheaper solution.
In this world of internet encryption of every multimedia data is the basic need of all communication systems. Tremendous change in technology will appear if this solution is free of cost.
Today mobile phones are most important and habitual thing for each human being. In the same way this encryption technology will become the basic need of everyone.
References
[1] Manoj. B, Manjula N Harihar, “Image Encryption and Decryption using AES” International Journal of Engineering and Advanced Technology (IJEAT) ISSN: 2249 – 8958, Volume-1, Issue-5, June 2012
[2] Swati Paliwal and Ravindra Gupta, “A Review of Some Popular Encryption Techniques”, International Journal of Advanced Research in Computer Science and Software Engineering Research Paper, Volume 3, Issue 2, February 2013, ISSN: 2277 128X Available online at: www.ijarcsse.com
[3] William Roche, “The Advanced Encryption Standard, The Process, Its Strengths and Weaknesses”, University of Colorado, Denver, Spring 2006 Computer Security Class, CSC 7002, Final Paper May 6, 2006.
[4] Simar Preet Singh, and Raman Maini “Comparison of Data Encryption Algorithms” International Journal of Computer Science and Communication Vol.2, No. 1, January-June 2011, pp. 125-127
[5] Prasithsangaree.P and Krishnamurthy.P(2003), “Analysis of Energy Consumption of RC4 and AES Algorithms in Wireless LANs,” in the Proceedings of the IEEE GLOBECOM 2003, pp. 1445-1449.
[6] Dr. S.A.M Rizvi1, Dr. Syed Zeeshan Hussain2 and Neeta Wadhwa “A Comparative Study of Two Symmetric Encryption Algorithms Across Different Platforms”
[7] Mohammad Ali Moh'd Bani Younes, “An Approach To Enhance Image Encryption Using Block-Based Transformation Algorithm”, Thesis submitted in fulfillment of the requirements for the degree of Doctor of Philosophy University of Sains Malaysia, 2009.
[8] AES page available via http://www.nist.gov/CryptoToolkit.
[9] Computer Security Objects Register (CSOR): http://csrc.nist.gov/csor/.
[10]J. Daemen and V. Rijmen, “AES Proposal: Rijndael, AES Algorithm Submission”, September 3, 1999.
[11]J Daemen and V. Rijmen, “Ihe block cipher Rijndael Smart Card research and Applications”, LNCS 1820, Springer-Verlag, pp. 288-296.
[12]B. Gladman’s AES related home page http://fp.gladman.plus.com/cryptography_technology /.
[13]A. Menezes, P. van Oorschot, and S. Vanstone, Handbook of Applied Cryptography, CRC Press, New York, 1997, p. 81-83.
[14]A. Lee, NIST Special Publication 800-21, Guideline for Implementing Cryptography in the Federal Government, National Institute of Standards and Technology, November 1999.
[15]NIST Computer Security Division's (CSD) Security Technology Group (STG) (2013). "Block cipher modes". Cryptographic Toolkit. NIST. Retrieved April 12, 2013.
[16]Ferguson, N.,Schneier, B. and Kohno, T. Indianapolis “Cryptography Engineering: Design Principles and Practical Applications.” Wiley Publishing, Inc. 2010. pp. 63, 64. ISBN 978-0-470-47424-2.
[17]NIST Computer Security Division's (CSD) Security Technology Group (STG) (2013). "Proposed modes". Cryptographic Toolkit. NIST. Retrieved April 14, 2013.
[18]Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone (1996). Handbook of Applied Cryptography. CRC Press. pp. 228–233. ISBN 0-8493-8523-7.
[19]ISO, JTC 1/SC 27 (2006). "ISO/IEC 10116:2006 - Information technology --Security techniques -- Modes of operation for an n-bit block cipher". ISO Standards catalogue.
[20]Kuo-Tsang Huang, Jung-Hui Chiu, and Sung-Shiou Shen (2013). “A Novel Structure with Dynamic Operation Mode for Symmetric-Key Block Ciphers” International Journal of Network Security & Its Applications (IJNSA) 5 (1): 19.
[21]NIST Computer Security Division's (CSD) Security Technology Group (STG) (2013). "Current modes". Cryptographic Toolkit. NIST. Retrieved April 12, 2013.
[22]"Stream Cipher Reuse: A Graphic Example". Cryptosmith LLC. Retrieved 27 March 2013.
[23]B. Moeller (May 20, 2004), Security of CBC Ciphersuites in SSL/TLS: Problems and Countermeasures
[24]William F. Ehrsam, Carl H. W. Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976
About the Author
Mr. Kundankumar Rameshwar Saraf
received his M.E. degree in VLSI Design and
Embedded System from K.K.W.I.E.E.R. Pune University in 2013. He
has got 3 years of teaching experience as Assistant Professor in Electronics and
Tele Communication Engineering. He has received his B.E. degree in Electronics from S.S.V.P.S.’s C.O.E., North Maharashtra University, Maharashtra
Mr. Vishal Prakash Jagtap received his M.E.degree in Electronics & Tele Communication A.E.C.O.E., Beed, BAMU University in 2013.He has got 3 years experience as Assistant Professor in Electronics and Telecommunication. He has received his B.E. degree in Electronics and communication from S.S.V.P.S.’s C.O.E., North Maharashtra University, Maharashtra
Mr. Amit Kumar Mishra received his M.E.degree in Communication System from MITCOE, Aurangabad, BAMU University in 2013.He has got 6 years experience as Assistant Professor in Electronics and Telecommunication. He has received his B.E. degree in Electronics and communication from S.S.E.C. Bhavangar University, Gujrat