2

我在 Ruby 中使用 OpenSSL 密码在客户端和服务器之间发送文本,显然使用 IV 是个好主意,但是对于服务器端的解密,我需要生成客户端的 IV边。我的问题是我会在通过网络发送 IV 时遇到问题吗?我不知道关于密码学的第一件事,所以我不知道 IV 是否可以用来解密消息。

4

2 回答 2

2

IV 确保即使您要使用相同的密钥加密两个相同的明文,它们也会产生不同的密文(因为每次加密都应该使用一个新的、随机生成的 IV)。

IV 不能在没有密钥的情况下用于解密消息,并且不需要安全传输,因此可以与加密消息一起通过网络安全地发送。

于 2012-08-06T07:21:52.073 回答
2

IV 是公共信息,通过网络发送它是完全可以的。但是,您应该对每一次加密都使用加密安全随机数,尤其是在您使用 CBC 模式时。在这种情况下使用某种可预测的 IV 会使您的加密容易受到某些类型的攻击。

如果您对密码学和使用完全陌生,Cipher请查看文档,我们在其中添加了一些信息,可以帮助您入门。它说明了一些最佳实践,其中包括正确处理 IV。

于 2012-08-06T07:28:56.950 回答