公共初始化向量?

时间:2012-08-06 04:26:55

标签: ruby cryptography

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

IV是公共信息,通过网络发送是完全没问题的。但是,您应该为每个加密使用加密安全随机,特别是如果您使用的是CBC模式。在这样的情况下使用某种可预测的IV会使您的加密容易受到某些类型的攻击。<​​/ p>

如果您不熟悉加密并使用Cipher,请查看docs,我们在那里添加了一些可以帮助您入门的信息。它说明了一些最佳实践,其中包括正确处理IV。