Is there a secure cryptographic algorithm in which encryption and decryption can be in any order?

I am looking for a cryptographic algorithm that satisfies the following rules:

E (key1, E (key2, message)) = E (key2, E (key1, message))

And, obviously, the same goes for decryption.

This is probably a long shot, as I doubt such an algorithm exists, but thought it was worth asking.

thanks

+4
source share
5 answers

Two well-known cryptosystems that satisfy

E (key1, E (key2, message)) = E (key2, E (key1, Message))

- Massi Omur cryptosystem and Shamir’s three-step protocol. One of the reasons for the preference of these two schemes is the following property: an attacker with access to the encrypted texts E (key1, Message), E (key2, Message) and E (key1, E (key2, Message)) cannot find the message. On the other hand, decisions based on RSA or stream cipher may be broken in this assumption.

It makes sense to assume that an attacker can have access to all encrypted texts above, since commutative cryptosystems are most likely used in scenarios where these two keys are stored on different systems. Why else do I need to change the decryption order?

+3
source

An RSA with the same module will do this. Rising to power a, then power b is the same as increasing power b, then a.

But you usually did not use RSA to encrypt your message, you would use it to encrypt a key - RSA and most asymmetric cryptographs are very laborious.

Maybe you are after a symmetric algorithm with this property?

+7
source

Here are some links in this article: http://www.cs.ucla.edu/wing/publication/papers/Yang.VTC04.pdf

One of them is an article: http://icsd.i2r.a-star.edu.sg/publications/BaoFeng_21190190.pdf

In addition, of course, all XOR-based stream ciphers have this property.

+3
source

If E is only an XOR function between the key (or some cryptographically generated extension) and the text (cypher or plain), then it will show the property you specify.

That is, (key1 XOR message) XOR key2 == (key2 XOR message) XOR key1, so the keys can be used in any order to encrypt or decrypt, but both keys are needed to decrypt the message, which is thus encrypted.

I can imagine that this is used to encrypt a document that requires two members with separate private keys. But this scheme will not work, because, given cyphertext, plaintext and any of the keys, the other key can be restored trivially.

+1
source

Sorry for the barge and answer late ....

E (key1, E (key2, message)) = E (key2, E (key1, message))

... that is, (key1 XOR message) XOR key2 == (key2 XOR message) XOR key1, so the keys can be used in any order for encryption or decryption, but both keys are needed to decrypt the message, which is thus encrypted.

They are not equivalent. Within the XOR clause, you can find a third key, key3, such that (key3 XOR message) == ((key1 XOR message) XOR key2). key3 will be (key1 XOR key2). I believe the property does not meet the OP requirements.

Returning to my cryptography class (and IIRC), it took some mathematicians some time to prove that DES was not closed under his operation, so there was no short break in restoring plain text using 2-key triple des and 3-key triple des. That is, E (key1, E (key2, Message))! = E (key3, message).

Jeff

+1
source

Source: https://habr.com/ru/post/1298930/


All Articles