【问题标题】:What encryption scheme should be used where the order of encryption and decryption doesn't matter?如果加密和解密的顺序无关紧要,应该使用什么加密方案?
【发布时间】:2014-03-28 07:11:01
【问题描述】:

例如,两个密钥用于加密纯文本,相同的密钥用于解密加密的消息或密文,无论密钥在加密或解密消息中的使用顺序如何。根据我的理解似乎应该使用对称加密方案,因为相同的密钥用于加密和解密消息,但我不确定密钥使用的顺序是否重要。是否有不同的方案应该/可以用于此示例?提前感谢您的回答!

【问题讨论】:

标签: encryption cryptography


【解决方案1】:

根据我的理解,似乎应该使用对称加密方案,因为相同的密钥用于加密和解密消息,但我不确定密钥使用顺序是否重要

如果我没看错,您应该使用 (1) 流密码,因为加密是与密钥流的 XOR; (2) 分组密码,其模式与明文进行异或。您可能需要确保分组密码始终使用密码的前向变换来进行加密和解密(例如,CTR 模式)。

这里的棘手之处在于避免形成一个群体。也就是说,你不想要E_1(E_2(m)) == E_3(m) 这样的东西。我认为使用上面的(1)和(2)很容易形成一个组。如果您在 CBC 之类的模式下使用分组密码(例如,3 密钥 TDEA 或三重 DES),那么您将不会形成一个组。但是你也不会得到你正在寻找的关联属性。

您也可以使用公钥密码术来做到这一点。但是您可能需要选择,例如,其中一个 RSA 指数为 1,因此它是恒等函数。您还可以在 RSA 中做一些其他的事情,但您可能拥有与身份元素等效的东西,以确保原像和图像在生成的复合模数的范围内。

Damien_The_Unbeliever 有一个很好的建议:将其移至 crypto.stackexchange.com。交流中有很多人才。

【讨论】:

  • XOR 有效,但不提供安全性。有几个基于模幂运算的结构符合 OP 的要求并且是安全的。
  • CodesInChaos - 不确定您对异或的意思。这是关于流密码的一般评论吗?在最坏的情况下,这两个操作将形成一个组,因此您基本上拥有使用单个密钥的单个流密码。还是我错过了什么?
  • 流密码在交换加密环境中使用时并不安全,因为了解所有P xor K1P xor K2P xor K1 xor K2 的攻击者可以为P 解决这个问题。当密码用于three-pass protocol 时,攻击者会了解到这些,这是交换加密的典型应用。
  • 这种情况会出现吗?攻击者只能看到P xor K1 xor K2。说他能看到这一切就像说攻击者如果获得密文和密钥就可以恢复明文。
  • 那你为什么首先需要交换加密呢?通常,您需要 Alice 拥有明文,对其进行加密,然后将其发送给 Bob(所以 eve 看到 P xor KA)Bob 再次对其进行加密并将其发送回(Eve 看到 P xor KA xor KB),然后 Alice 将其解密并再次发送给 bob (Eve 看到了P xor KB),Bob 现在解密了消息。这种协议在 Shamir 方案中是安全的,但在 XOR 中不安全。阅读我链接的维基百科页面以获取更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
  • 2012-12-12
  • 1970-01-01
  • 2018-07-09
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多