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
K
is chosen Encrypt message
M
using AES and keyK
eM = AES-encryption(M)
AES key
K
is encrypted using RSA with the public key of the receivereK = RSA-encryption (K)
The cipher text
eM
is 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 signatureDS
and AES encrypted keyeK
are 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?