使用AES非对称加密和解密时存储IV


不见你
2025-03-09 08:28:07 (1天前)
  1. 我正在看一个CAES


非对称
</跨度>

加密
</跨度>
和解密示例在这里,不知道我是否应该将IV存储在安全的地方(也加密??)。或者我可以将它附加到加密文本中

3 条回复
  1. 0# 求赞有赞必回 | 2019-08-31 10-32



    传输加密数据是相当标准的

    IV.Concat(cipherText)

    。将IV放在一边也是相当标准的,比如

    PKCS#5




    IV-on-side方法与.NET想要处理数据的方式更紧密地匹配,因为切断IV以将其单独传递给IV参数(或属性)有点烦人,然后有更多使用密文(或恢复的明文)进行复杂的切片操作。



    但IV通常以明确的方式传输。



    所以,将它粘合在一起,或者将它作为一个单独的列…更适合你的程序和结构。


  2. 1# 疯子哥哥 | 2019-08-31 10-32




    回答:
    </强>
    只要内容已经用它加密,IV就是解密所必需的。您不需要加密或隐藏IV。它可能是公开的。


    1. -



    IV的目的是组合到你正在使用的密钥,所以就像你用不同的“最终密钥”加密每个“数据块”然后它保证密码数据(加密的数据)将在加密(和解密)过程中总是不同的。



    这是一个非常好的例子说明会发生什么

    如果你不这样做
    </强>
    使用IV。








    基本上,加密过程是通过以块为单位加密输入数据来完成的。所以在这个例子的加密过程中,如果你总是使用相同的键,那么具有相同颜色的图像的所有部分(比如白色背景)将输出相同的“密码数据”,然后仍然可以找到一个模式,然后你没有按照需要隐藏图像。



    结合起来

    不同的
    </强>
    附加数据(IV)到密钥


    </强>
    块就像你为每个块使用不同的“最终键”,然后你解决了你的问题。


登录 后才能参与评论