I recently came across this (PDF) journal article, which describes what it calls "A New Design Of A Hybrid Encryption Algorithm" (which I must say, doesn't sound very novel, even in 2014!):
- An AES key
Kis chosen Encrypt message
Musing AES and keyKeM = AES-encryption(M)AES key
Kis encrypted using RSA with the public key of the receivereK = RSA-encryption (K)The cipher text
eMis fed to SHA1, which generates a 160-bit message digestmD = SHA1 (eM)The message digest is signed using RSA with the private key of the sender
DS = RSA-sign (mD)- The encrypted message
eM, digital signatureDSand AES encrypted keyeKare transmitted to the user over a network
So, basically standard AES-RSA hybrid encryption, but with the additional of an RSA signature (a signed message digest) that is intended to provide message authentication.
My question is whether signing the ciphertext actually provides any extra security (i.e. integrity or authentication) - doesn't encrypting the AES key with the receiver's RSA public key effectively provide message authentication?