键+初始化向量到新键

本文关键字:新键 向量 初始化 | 更新日期: 2023-09-27 18:07:47

我有一个解密数据的API。这个API只接收密钥(AES密钥的字节数)。这个API不接收初始化向量(它使用0的向量作为初始化向量)。

我正在从第三方接收加密数据。该数据使用特定的密钥和初始化向量加密为AES 256。

我有键和初始化向量。是否有一种方法来解密这些数据使用API?或者,换句话说,如果密钥和初始化向量都是常量,并且我都有,那么我是否可以创建一个密钥,允许我用{0,0,0,…}初始化向量?

谢谢。

键+初始化向量到新键

是可以解密…不,不是你说的那样

AES是分组密码

大多数情况下,密码不是按原来的样子使用的,而是被置于一种特殊的操作模式中(这可能是您的API无法做到的)

您将不得不围绕密码实现解密例程,并将您的AES-API用作加密原语

例如,使用通用AES实现对AES- cbc进行解密

将密文分成128位块,并从索引1开始编号

将IV附加为cypher_block 0

为了获得明文,我们可以在API函数 周围定义一个函数

plaintext_block[i] = cypher_block[i-1] XOR aes_decrypt(cypher_block[i],key)

如您所见,您可以从索引1以后获得所有明文块…

一旦您获得了所有明文块,您可能会想要去掉填充,但那是另一回事…