可以为数字实施一次密码吗?如果是的话,你能告诉我同样的算法或工作代码(最好是java)吗?
另外,一次性密码和异或密码有什么区别。
当(且仅当)以下假设为真时,OTP 和您描述为 xor cipher 的内容是相同的:
这些是一些相当沉重的假设
例如,如果您想加密一张 DVD,您的密钥也将与一张 DVD 一样大,必须安全地传送给接收者,而且该密钥 DVD 可能仅用于该单一数据交换并且可能永远不会被重复使用
您可能不会简单地通过使用随机类来创建随机位...... OTP 需要真正的随机性......没有伪随机数生成器......甚至不是加密安全的...... OTP 定义要求真正的随机值...... . 为什么连 CSPRNG 都不行?因为 OTP 的强度是牢不可破的……一旦你依赖的东西不是真正的随机源,整体密码强度就会从无限下降到 CSPRNG 的密码强度……这可能是一种密码强度相当好,但有限……有可能打破它……对于真正的 OTP,已经证明即使有无限的资源,从信息论方面来看,系统也无法破解,这很了不起,因为它是唯一已知的具有此属性的密码系统
OTP 对于我们通常的日常加密应用程序通常是不切实际的,并且通常仅在您处理特殊情况时使用,例如间谍与他/她工作的秘密机构之间的通信......
算法本身是众所周知的......
有一个适用于上述所有假设的密钥
与明文按位异或
完毕