键+初始化向量到新键
本文关键字:新键 向量 初始化 | 更新日期: 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以后获得所有明文块…
一旦您获得了所有明文块,您可能会想要去掉填充,但那是另一回事…