In: Computer Science
Which of the 5 AES modes satisfies COA (Ciphertext only attack)
This question is from topic Cryptography.
Ciphertext - It is one of the component of cryptosystem. It is the scrambled version of the plaintext generated by the encryption algorithm with help of a specific encryption key.
Ciphertext Only Attacks (COA) - It is one the method of attacks on cryptosystems. In this , the attacker has access to a set of ciphertexts.Here he does not have access to plaintext corresponding to ciphertext.COA is technique to find the corresponding plaintext from a given set of ciphertext. As the encryption key can be determined from this attack. Now-a-days cryptosystems are guarded against ciphertext-only attacks.
Advanced Encryption Standard(AES) is one of the most used and succesful algorithms for block encryption.
There are different modes of operation of a block cipher and are procedural rules for a generic block cipher. The five modes of AES are-
1) Electronic Code Book mode (ECB Mode) - It is very simple mode of processing a series of listed message blocks sequencially. Here the user divides the plaintext into different blocks. User takes the first block of plaintext and encrypts it with the key to produce the first block of ciphertext. After that he takes the second block of plaintext and follows the same process with same key and so on.
A ciphertext genrated from ECB can allow an attacker to guess the plaintext by hit and trial method if the plaintext message is within predictable. This is beacuse ECB is somehow deterministic cipher.
2) Cipher Block Chaining (CBC Mode) - The one of the advantage of this mode is that it provides dependency of message for generating ciphertext making the system non-deterministic. The steps of mode of operation are-
-> It first load the n-bit Initialization Vector (IV) in the top register.
-> After that it takes XOR of n-bit plaintext block with data value in top register.
-> Then it encrypt the result of XOR operation with block cipher with key K.
-> After this it feed ciphertext block into top register and this operation continues till all plaintext blocks are processed.
Now for decryption, IV data is XOR with first ciphertext block decrypted. The first ciphertext block is also fed into to register replacing IV for decrypting next ciphertext block.
3) Cipher FeedBack mode (CFB Mode) - In this mode of operation each ciphertext block is fedback into the encryption process in order to encrypt the next plaintext block. The steps of mode of operation are -
-> Firstly load the initialization vector IV as the initial random n-bit input block in the top register.
-> Then encrypt data value of top register with underlying block cipher with key K.
-> Then it take only ‘s’ number of most significant bits (MSB) of output of encryption process and XOR them with ‘s’ bit plaintext message block to generate ciphertext block where 's' is a message block size in bits.
-> Then feed ciphertext block into top register by shifting already present data to the left and the operation continues till all plaintext blocks are processed.
-> Here the previous ciphertext block is encrypted with the key and takes XOR of result with to the current plaintext block.
4) Output Feedback Mode (OFM Mode) - It feeds the successive output blocks from the underlying block cipher back to it. These feedback blocks provide string of bits to feed the encryption algorithm which act as the key-stream generator as in case of CFB mode.We take XOR of key stream with the plaintext blocks.This mode requires an IV as the initial random n-bit input block.
5) Counter Mode(CTR Mode) - It is a counter-based version of CFB mode without the feedback.Here sender and receiver need to access to a reliable counter which computes a new shared value each time a ciphertext block is exchanged. The steps of mode of operation are -
-> Firstly load the initial counter value in the top register for both sender and receiver.
-> Then it encrypt the contents of the counter with the key and puts the result in the bottom register.
-> Then it take the first plaintext block A1 and takes XOR with contents of the bottom register. The result of this is R1 and send R1 to the receiver and update the counter. The counter update replaces the ciphertext feedback. These steps are continued untill plaintext block is encrypted.
-> Here decryption is the reverse process.
-> We take XOR of the ciphertext block with the output of encrypted contents of counter value. After decryption of each ciphertext block counter is updated.