2012-03-30 99 views
1

遵循使用AES算法的标准说明,我无法使用C#中的AES正确加密/解密一些文本。虽然我发现如果我将分别加密的数据与名为aesIV的数据分开,我可以。根据我的理解,aesIV已经嵌入到加密数据中。所以我认为这不会造成安全问题。请让我问我是否可以做到。您可以将aesIV附加到通过AES加密算法加密的数据吗?

预先感谢您。

+0

您可能从此获得灵感:http://stackoverflow.com/questions/9533768/bouncycastle-j2me-rsa-using-custom-keys/9534898#9534898 – rosco 2012-03-30 07:19:40

+0

http://crypto.stackexchange.com/questions/ 2173 /如何对计算-AN-IV-时-I-具有-A-共享私钥 – CodesInChaos 2012-03-30 08:43:15

回答

3

最常见的选项是在加密过程中将随机IV预先加密到密文中。然后将其从解密期间设置为IV的密文中删除。在C#的通用管理加密中,随机IV属性是自动生成的,因此您可以简单地检索它并将其前置。

参见AesManaged和示例(其中IV单独传输,但其他情况下可以)。

如果你在预先考虑IV后直接解密,那么你会得到blocksize字节的垃圾。通常情况下不是这样的,因为去除垃圾和提前使用IV一样容易。

正如您所设想的那样,IV可能会以纯文本传输。