Hi,

In my work, I need a cryptographic primitive (a cipher, to be more
specific) with the following attribute:
If we define the the encryption function as "E(k,p)" where "k" is the
key and "p" is the plain text, I need the cipher to have the property
that "E(k2, E(k1, p)) = E(k3, p)". In other words, I need the result
of the double encryption of any given plaintext with two different
keys, be equal to a single encryption with another key.
Obviously, I also need the "k3" above to be computable given "k1" and
"k2", but (ideally) neither "k1" nor "k2" should be retrievable given
the other two keys.

Now, I don't have a strong theoretical background in cryptography, so
I don't even know what this property is called, or even whether it has
a specific name (that's why I had to choose such a non-descriptive
subject,) but as I understand it, this is generally an undesirable
property in a cipher.
Can such a property be implemented using conventional cryptographic
primitives? I would prefer the use of a block cipher, but public key-
based solutions wouldn't be too problematic either. Does anyone have
any advice as how should I go about implementing this? Does Crypto++
have any features to help me here?

I'm not even sure whether this mailing list is the proper place to ask
such questions. If so, I'd appreciate to be directed to the proper
place to ask this. I apologize if I'm violating any rules or
conventions.

Any information, pointers, help or even RTFMs (with mention of the M
in point!) is greatly appreciated. I'd even appreciate it if someone
could tell me what this property is called, so I can do an informed
web search!

-yzt
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [EMAIL PROTECTED]
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to