Proposed Cipher suite (using aes-ecb):
cipherText = aes-ctr(key, ++iv, (plainText)); & authTag= aes-ctr(key, iv, aes-ecb(key, sha-1(cipherText+authData+key+iv)));
- Encryption of the plainText.
- Integrity of the cipherText & authData.
- Authenticity of the cipherText & authData.
Used components and reason behind using them:
- sha-1: For checking integrity of the cipherText & authData.
- aes-ctr: Used for encryption of the plaintext & aes-ecb(sha1).
- sha-1 is encrypted with aes-ecb to create hurdle in finding out the key stream used by aes-ctr to encrypt `aes-ecb(sha1). Because even if the attacker get to know sha-1, sha-1's encrypted value could not be guessed.
- sha-1 is used to encrypt the cipherText & authData along with key + iv: So that we can check integrity of cipherText & authData.
key + ivis added to create hurdle for attackers to guess value of sha-1.
The challenge/question is to find out security level of this cipher suite.
This question is for passionate & elite cryptanalysts, which would help them or other (from their answers), to understand how use of a broken hash function determines overall security?
I hope that some people would find this as a interesting challenge.
*Please note that value of sha-1 is truncated to block size.(i.e, 128 bits)
This method is improved version derived from the method proposed in this question.