可以对数字实现一次一密吗?如果是,你能告诉我同样的算法或工作代码(最好是java)吗?
还有,一次一密和异或密码有什么区别?
发布于 2019-04-30 06:08:00
当(且仅当)以下假设成立时,OTP和您所描述的xor密码是相同的:
>F29
这些都是一些非常沉重的假设
例如,如果您想要加密一张DVD,您的密钥也将与一张DVD一样大,该DVD必须安全地传输给接收者,而且该密钥DVD只能用于此单一数据交换,并且可能永远不会重复使用
您可能不会简单地通过使用random类来创建随机位...动态口令要求真正的随机性...没有伪随机数生成器...甚至不是一个加密的安全的。OTP定义要求提供真正的随机值...为什么不是CSPRNG呢?因为OTP的力量是牢不可破的。一旦你依赖不是真正的随机源的东西,总体加密强度就会从无限下降到CSPRNG的加密强度……这可能是一个相当好的密码强度,但有限的.有可能打破它……对于真正的动态口令来说,即使拥有无限的资源,从信息论的角度来看,该系统也是不可破解的,这一点值得注意,因为它是已知的唯一具有这种性质的密码系统。
OTP通常不适用于我们日常的加密应用程序,并且通常只在处理特殊情况时使用,例如间谍和他/她工作的秘密机构之间的通信。
算法本身是众所周知的。
有一个对上述所有假设都成立的密钥
与明文进行逐位xor运算
完成
https://stackoverflow.com/questions/55911022
复制相似问题