Question: What is AES encryption?
Advanced Encryption Standard is a specification for the encryption of data established by the NIST (National Institute of Standards and Technology) in 2001.
Question: What are different key sizes availbles?
- 128 bits
- 192 bits
- 256 bits
Question: How AES encryption works?
AES comprises three block ciphers i.e AES-128, AES-192 and AES-256. Each cipher encrypts and decrypts data in blocks of 128 bits using cryptographic keys of 128-bits, 192-bits and 256-bits, respectively. Secret-key ciphers use the same key for encrypting and decrypting. In this encryption method works three times faster in software than DES.
Question: Write a Function to encrypt/decrypt?
function encrypt_string($string = '', $salt = '8638FD63E6CC16872ACDED6CE49E5A270ECDE1B3B938B590E547138BB7F120EA') { $key = pack('H*', $salt); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $string, MCRYPT_MODE_CBC, $iv); return base64_encode($iv . $ciphertext); } function decrypt_string($encodedText = '', $salt = '8638FD63E6CC16872ACDED6CE49E5A270ECDE1B3B938B590E547138BB7F120EA') { $key = pack('H*', $salt); $ciphertext_dec = base64_decode($encodedText); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); $iv_dec = substr($ciphertext_dec, 0, $iv_size); $ciphertext_dec = substr($ciphertext_dec, $iv_size); return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec); } /** Encoded Decoded with 256 bits * */ $encodedText = encrypt_string('hello'); echo decrypt_string($encodedText);
Question: How to encrypt/decrypt a string using 192 bits?
/** Encoded Decoded with 192 bits * */ $encodedText = encrypt_string('hello', '8638FD63E6CC16872ACDED6CE49E5A270ECDE1B3B938B590'); echo decrypt_string($encodedText , '8638FD63E6CC16872ACDED6CE49E5A270ECDE1B3B938B590');
Question: How to encrypt/decrypt a string using 128 bits?
/** Encoded Decoded with 128 bits * */ $encodedText = encrypt_string('hello', '8638FD63E6CC16872ACDED6CE49E5A27'); echo decrypt_string($encodedText , '8638FD63E6CC16872ACDED6CE49E5A27');