But I don't think your use satisfies this as the sender signs rather than encrypts the first symmetric key; notice you use the wrong & misleading term `encrypt with the sender's secret key` to mean signing, which may be the root of this mistake.
Your solution is therefore essentially a combination of signature and encryption; this is not as simple as it seems and indeed I happened to work on this recently with a student, Yitchak Gertner, in his MSc thesis which he completed these days. I can provide details (or paper/thesis) but first I wonder if this is what you wanted to achieve at all.
Best,
Amir Herzberg Computer Science Dept, Bar Ilan University Lectures: http://www.cs.biu.ac.il/~herzbea/book.html
At 16:42 12/12/2003, wrote:
Hi,
I've been experimenting with ways to use XML-ENC to compact the wire format and provide a high degree of security. The following is a notational example of the the current 'thought' of the methodology. I would like to ask for input as to potential security holes to this method.
Thx,
-Matt Long Phalanx Systems, LLC
Summary: The concept is to super-encrypt a message. The method would: (1) Encrypt message with symmetric key algorithm, i.e., cipher1 (2) RSA_Encrypt (SHA1(message) + symmetric key) with sender's RSA private key (3) Encrypt cipher1 with symmetric key algorithm, i.e., cipher2 (4) RSA_Encrypt (symmetric key2) with receiver's RSA public key (5) Send super-encrypted message (6) RSA_Decrypt (symmetric key2) with receiver's RSA private key (7) Decrypt(cipher2) (8) RSA_Decrypt (symmetric key1), parse out digest, i.e., SHA1(message) (9) Decrypt(cipher1) (10) compare digest with SHA1(Decrypt(cipher1))
Sender's Algorithm
SymmetricKey1 = 3DES_IV1, 3DES_Key1 Cipher1 = 3DES_Encrypt(message) Digest = SHA1(message) RSA_Key1 = RSA_Private_Encrypt(Digest || 3DES_Key1)
SymmetricKey2 = 3DES_IV2, 3DES_Key2 Cipher2 = 3DES_Encrypt(Cipher1) RSA_Key2 = RSA_Public_Encrypt(3DES_Key2)
Receiver's Algorithm
3DES_Key2 = RSA_Private_Decrypt(RSA_Key2) Cipher1 = 3DES_Decrypt(Cipher2)
Digest || 3DES_Key1 = RSA_Public_Decrypt(RSA_Key1) message = 3DES_Decrypt(Cipher1)
Compare Digest with SHA1(message)
--------------------------------------------------------------------- The Cryptography Mailing List Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]
--------------------------------------------------------------------- The Cryptography Mailing List Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]
