是否有特定类型的加密算法或函数的名称,它与解密时使用的算法或函数相同?这是一个词汇问题,因为我基本上不熟悉加密术语。数学表达,如果f(x)是加密算法而f(f(x))= x,那么它是什么类型的加密算法。一个例子是将A转换为Z,B转换为Y,C转换为X,...,X转换为C,Y转换为B,Z转换为A的密码。
答案 0 :(得分:0)
如果我确实理解了“加密功能也用于解密”的意思(你可以通过再加密来获得密文的开放文本),最简单的这种功能就是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千字节的消息,他们需要一个相同总大小的密钥--100千字节 - 提前安全传输,因为正如我所说,他们的密钥数据可能无法重复使用。
加密函数的另一个例子也用于解密,是任何流密码函数,如RC4。
通过流密码,Alice和Bob可以生成用于XOR的长密钥,而无需以整个大小传输它们。它们仅发送一个短键,用于生成用于XOR的长键的序列。这种削片机被称为流密码。与真正牢不可破的One-Time-Pad不同,Stream Ciphers,因为它们使用比消息短得多的密钥,可以在理论上和有时实际上被打破。
并非所有对称密钥算法都是可用于加密和解密的函数。例如,DES具有用于加密和解密的单独功能。您不会通过使用DES再次加密来获得密文中的开放文本。