Computer Science and Information Technology 5(5): 154-163, 2017 DOI: 10.13189/csit.2017.050502 http://www.hrpub.org Analysis of Development of Dynamic S-Box Generation Amandeep Singh 1,2, , Praveen Agarwal 3 , Mehar Chand 4 1 Department of Computer Science, Baba Farid College, Bathinda-151001, India 2 Department of Computer Science, Singhania University, Pacheri Bari, Jhunjhunu, India 3 Department of Mathematics, Anand International College of Engineering, Jaipur303012, India 4 Department of Applied Sciences, Guru Kashi University, Bathinda-1513002, India Copyright c 2017 by authors, all rights reserved. Authors agree that this article remains permanently open access under the terms of the Creative Commons Attribution License 4.0 International License Abstract Advanced Encryption Standard is a symmetric block cipher which is widely used in encrypting data by different organizations to make secure their data from being hacked. The only nonlinear part of Advanced Encryption Standard (AES) is S-Box (Substitution Box), which provides confusion in the algorithm. But the main limitation of the S-Box in AES is that it is a static one throughout the algorithm, which is the main center of attraction for the cryptanalyst to analysis the weakness for certain attacks. Since 2000 onwards a number of algebraic attacks on AES have been carried out, which challenged the security of AES. But at the same time till date a number of researches have being carried out for making AES more secure by using dynamic S-Boxes to provide more confusion to the cryptanalyst. In present paper we tried to address dynamic S-Box techniques and provide their analysis on the basis of S-Box properties, which are essential for secure S-Box construction like Non-linearity, XOR profile, Strict Avalanche criterion (SAC) and Bit independence criteria (BIC). Also these techniques are compared with the original AES results. Keywords Advanced Encryption Standard, S-Box, Dynamic S-Box, Non linearity, SAC, BIC, XOR Profile 1 Introduction Cryptography is a method or technique of secure commu- nication in the presence of an adversary. In modern age of computers, cryptography is a technique to scramble plain text or ordinary text into ciphertext (by using cryptographic algorithms called encryption process) and converting back into plain text on receiver side (called decryption). The central objective of modern cryptography is to attain data confidentiality, data integrity, authentication and non repudiation. Cryptography is broadly divided into two major categories. One is symmetric key cryptography and another is asym- metric key cryptography. Symmetric key encryption is a form of cryptosystem in which encryption and decryption are performed using the same key [1] . It is also known as conventional encryption. Symmetric encryption transforms plaintext into ciphertext using a secret key and an encryption algorithm. Using the same key and a decryption algorithm, the plaintext is recovered from the ciphertext. Most widely used symmetric ciphers are DES (Data Encryption Standard) and AES (Advanced Encryption Standard). Asymmetric key encryption is a form of cryptosystem in which encryption and decryption are performed using the different keys one is public key and another is private key [2]. It is also known as public-key encryption. Asymmetric key encryption transforms plaintext into ciphertext using a one of two keys and an encryption algorithm. Using the paired key and a decryption algorithm, the plaintext is re- covered from the ciphertext. Asymmetric encryption can be used for confidentiality, authentication or both. The most widely used public-key cryptosystem are RSA, Diffie- Hellman key exchange, ElGamal Cryptosystem, Elliptic Curve cryptography. 2 Advanced Encryption Standard AES is designed on the principle of combination of both substitution and permutation. AES is a variant of Rijndael which uses fixed input block size of 128 bits, which means data is divided into fixed 128 bit blocks and represented in matrix form, called state matrix and a key size of 128, 192, or 256 bits is used depending upon the variant