AES Encryption Terminology Simplified: The Cornerstone of Modern Digital Security
Encryption is a fundamental technique used in various aspects of information security to protect data from unauthorized access and ensure confidentiality. Here are some of the key uses of encryption: Internet security, Data storage, secure software deployment, etc.
In this article, I will explain Symmetric Encryption with metaphors, so it's easy to understand.
Symmetric encryption primary ingredients are Algorithm, Keys, Initialization Vector, Cipher Block Chaining (CBC) vs Electronic Codebook (ECB), Number of rounds. Algorithm is like a class and needs couple of key properties — keys, initialization Vector and needs couple of key methods CBC, and number of rounds.
Properties for Algorithms
There are several Algorithms and AES currently is strong algorithm in symmetric algorithm. AES algorithm supports following key sizes- AES-128 bit, AES-192 bits, AES-256 bits. You guessed it right, AES-256 is stronger, because of bigger key size.
In ASCII character set, a character is typically one byte — which means AES-256 bits would mean 32 characters. Why are we even calculating number of characters, reason is the key selected should exactly be characters that of key size selected.
AES uses block encryption which means that encryption is done one block at a time, and AES algorithm always encrypts based on 128 bits. IV is random string of bits, that has to be chosen just like the key. IV should always be 16 characters as each block is 128 bits.
Methods for Algorithms
If a block of text encrypted with a given key always results in same value, it would be a weakness as well as easy to crack the key. If a value “the” is encrypted with a key every time to “x78hu”, then data could be deduced/decrypted (this is called ECB). solution is to ensure encryption of same plain text will result in different encrypted cypher text. In order to achieve that prior block of encrypted text is used to encrypt the next block of plain text. (This process is called CBC); CBC is powerful compared to ECB for this reason.
First block of text should be XOR’ed using the random chosen IV, as that creates the randomness for the first block of text.
Let's illustrate XOR’ing process: P1 and P2 are two blocks of text as example (for illustration process I am using below 4 bits for Cipher encryption). Plaintext: 1010 (P1), 1111 (P2) IV: 0101
Encryption Process: First Block (P1 = 1010):
Combine P1 with IV: 1010 XOR 0101 = 1111 Encrypt Combined Block: Shift right 1111 → 1111 (since it’s a simple shift and 1111 remains the same) C1 = 1111 Second Block (P2 = 1111):
Combine P2 with C1: 1111 XOR 1111 = 0000 Encrypt Combined Block: Shift right 0000 → 0000. C2 = 0000
Result is C1 C2
To keep the encryption stronger CBC process has to be iterated multiple times, and this is called rounds.
Conclusion:
AES is the de facto standard for encryption and has been adopted by governments and industries worldwide, reflecting its reliability and effectiveness, While AES is secure against current computational capabilities, the emergence of quantum computing could pose future challenges. However, AES-256 is believed to be relatively resistant to quantum attacks compared to some other encryption methods.
