【问题标题】:What kind of encryption function is also used for decryption?还用什么样的加密函数来解密?
【发布时间】:2017-10-09 17:10:55
【问题描述】:

是否有特定类型的加密算法或函数的名称与用于解密的算法或函数相同?这是一个词汇问题,因为我在很大程度上不熟悉加密的术语。用数学来表示,如果f(x)是一个加密算法,f(f(x))=x,它是什么类型的加密算法。例如,将 A 转换为 Z、B 转换为 Y、C 转换为 X、...、X 转换为 C、Y 转换为 B、Z 转换为 A 的密码。

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为这与软件开发没有直接关系。 Cryptography 更适合这类问题。

标签: encryption terminology


【解决方案1】:

如果我确实理解了您所说的“加密函数也用于解密”的意思(您通过再次加密从密文中获得开放文本),那么最简单的此类功能是 One-Time Pad – 一种无法破解的加密技术,但需要使用与被加密消息相同大小的一次性预共享密钥。

密钥必须是真正的随机数据。

发送者 Alice 应该提前将密钥安全地转移给 Bob。 然后,稍后,当 Alice 想向 Bob 发送加密消息时,她只需在消息和密钥之间进行“异或”逻辑运算 (XOR) 即可得到密文。

Bob 然后在密文和密钥之间再次应用 XOR 以获得解密的消息。

Frank Miller 在 1882 年首次描述一次性密码本,并于 1917 年重新发明。1919 年 7 月 22 日,美国专利 1,310,719 授予 Gilbert S. Vernam,用于对一次性密码进行加密的 XOR 操作。时间垫。

如果 Alice 和 Bob 总共交换 100 KB 的消息,他们需要一个总大小相同的密钥 - 100 KB - 提前安全传输,因为正如我所说,他们的密钥数据可能不会被重复使用。

加密函数的另一个例子也用于解密,是任何流密码函数,如 RC4。

通过流密码,Alice 和 Bob 可以生成用于 XOR 的长密钥,而无需传输它们的全部大小。它们只传输一个短密钥,该密钥将用于为用于 XOR 的长密钥生成序列。这种削片机称为流密码。与真正牢不可破的 One-Time-Pad 不同,Stream Ciphers 由于使用的密钥比消息短得多,因此理论上可以破解,有时实际上也可以破解。

并非所有对称密钥算法都是可用于加密和解密的函数。例如,DES 具有单独的加密和解密功能。使用 DES 再次加密后,您将无法从密文中获取开放文本。

【讨论】:

  • 严格来说,RC4不符合条件,因为IV是在加密过程中添加,在解密过程中删除,所以f(f(x))≠x。但这同样适用于任何概率密码。
  • @squeamishossifrage 流函数本身对IV一无所知,它只是生成一个位序列。更高级别的协议可以处理所有这些。 RC4 等传统流密码不支持显式 IV 作为输入。
猜你喜欢
  • 2011-04-01
  • 2017-03-21
  • 2014-04-19
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-21
  • 1970-01-01
相关资源
最近更新 更多