Encryption 数字的一次性密码

Encryption 数字的一次性密码,encryption,one-time-pad,Encryption,One Time Pad,可以对数字实施一次性密码吗?如果是的话,你能告诉我同样的算法或工作代码吗 此外,一次性密码和异或密码之间有什么区别。OTP和您所描述的异或密码是相同的,当且仅当以下假设成立时: 您的密钥至少与明文一样大,换句话说:每个明文位至少有一个唯一的密钥位 密钥由均匀分布的真正随机二进制数据组成 你的钥匙永远不会重复使用 你的钥匙是保密的 这些都是相当沉重的假设 例如,如果要加密DVD,您的密钥也将与一张DVD一样大,必须安全地传输给收件人,而且该密钥DVD可能仅用于此单一数据交换,并且可能永远不会重复使

可以对数字实施一次性密码吗?如果是的话,你能告诉我同样的算法或工作代码吗


此外,一次性密码和异或密码之间有什么区别。

OTP和您所描述的异或密码是相同的,当且仅当以下假设成立时:

您的密钥至少与明文一样大,换句话说:每个明文位至少有一个唯一的密钥位 密钥由均匀分布的真正随机二进制数据组成 你的钥匙永远不会重复使用 你的钥匙是保密的 这些都是相当沉重的假设

例如,如果要加密DVD,您的密钥也将与一张DVD一样大,必须安全地传输给收件人,而且该密钥DVD可能仅用于此单一数据交换,并且可能永远不会重复使用

您不能简单地使用random类创建随机位。。。OTP要求真正的随机性。。。没有伪随机数生成器。。。甚至不是加密安全的。。。OTP定义要求真实的随机值。。。为什么连CSPRNG都没有?因为OTP的力量是牢不可破的。。。只要您依赖的不是真正的随机源,总体加密强度就会从无限下降到CSPRNG的加密强度。。。这可能是一个很好的密码强度,但有限。。。有可能打破它。。。对于真正的OTP,人们已经证明,即使有无限的资源,该系统从信息论的角度来看也是不可破坏的,这是值得注意的,因为它是已知的唯一具有这种性质的密码系统

OTP通常不适用于我们日常的加密应用,通常仅在处理特殊情况时使用,例如间谍和他/她工作的秘密机构之间的通信

算法本身是众所周知的

拥有适用于上述所有假设的关键

带明文的按位异或


完成

请定义xor密码。。。只是带一个静态字节的xor?是的。xoring keyyte[i]和inputbyte[i]奇怪的问题。你难道不知道一切都可以用位来表示吗?把你的数字转换成比特。X-or密码是一般情况下,您可以将其转换为OTP或流密码。当密钥流由伪随机数生成器生成时,结果是流密码。使用一个真正随机的键,结果是一个一次性的键盘,从理论上讲,它是牢不可破的。