是否有安全的加密算法,加密和解密可以按任何顺序进行?

时间:2010-01-20 21:08:17

标签: cryptography encryption

我正在寻找满足以下规则的加密算法:

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

对于解密来说显然也是一样。

这可能是一个很长的镜头,因为我怀疑这样的算法存在,但认为值得问。

由于

5 个答案:

答案 0 :(得分:7)

具有相同模数的RSA将执行此操作。升高到功率a然后功率b与升高功率b相同然后a。

但是你通常不会使用RSA加密你的消息,你用它来加密一个密钥 - RSA和大多数非对称密码是非常耗时的。

也许你正在使用该属性的对称算法?

答案 1 :(得分:3)

本文中有一些参考文献:http://www.cs.ucla.edu/wing/publication/papers/Yang.VTC04.pdf

其中一个是本文:http://icsd.i2r.a-star.edu.sg/publications/BaoFeng_21190190.pdf

当然,所有基于XOR的流密码都具有此属性。

答案 2 :(得分:3)

两个已知的满足

的密码系统
  

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

是Massey Omura crytosystem和Shamir的三通协议。更喜欢这两种方案的一个原因是以下属性:访问密文E(key1,Message),E(key2,Message)和E(key1,E(key2,Message))的攻击者无法找到该消息。另一方面,基于RSA或流密码的解决方案可以在此假设下打破。

假设攻击者可以访问上述所有密文,确实有意义,因为交换密码系统最有可能用于两个密钥保存在不同系统上的情况。为什么还需要反转解密的顺序呢?

答案 3 :(得分:1)

如果E只是密钥(或其密码生成的扩展)与文本(密码或普通文本)之间的异或函数,则它将显示您指示的属性。

即(key1 XOR消息)XOR key2 ==(key2 XOR消息)XOR key1,以便可以按加密或解密的顺序应用密钥,但是需要两个密钥来解密由此加密的消息

我可以想象这用于加密需要两个具有单独密钥的参与者的文档。但是这个方案不起作用,因为给定了密文,明文和任意一个密钥,另一个密钥可能会被轻易恢复。

答案 4 :(得分:1)

对于驳船和迟到的回复感到抱歉....

  
    

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

  
     

...即(key1 XOR消息)XOR key2 ==(key2 XOR消息)XOR key1,   以便密钥可以按任何顺序应用于加密或   解密,但两个密钥都需要解密消息   因此加密了。

这些不等同。在XOR提议下,可以找到第三个密钥key3,使得(key3 XOR消息)==((key1 XOR消息)XOR key2)。 key3将是(key1 XOR key2)。我相信该物业不符合OP的要求。

回到我的密码学课程(和IIRC),数学家花了一些时间来证明DES在其操作下没有关闭,因此使用2键三重设备和3没有简短的恢复纯文本-key triple des。也就是说,E(key1,E(key2,Message))!= E(key3,message)。

杰夫

相关问题