Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 键+;初始化向量到新密钥?_C#_Java_Security_Encryption_Aes - Fatal编程技术网

C# 键+;初始化向量到新密钥?

C# 键+;初始化向量到新密钥?,c#,java,security,encryption,aes,C#,Java,Security,Encryption,Aes,我有一个解密数据的API。此API仅接收密钥(AES密钥的字节)。此API不接收初始化向量(它使用零向量作为初始化向量) 我从第三方收到加密数据。该数据使用特定密钥和初始化向量加密到AES 256 我有密钥和初始化向量。有没有办法用API解密这些数据?或者,换句话说,如果密钥和初始化向量都是常量,我可以创建一个密钥,它允许我用{0,0,0,…}初始化向量解密这些数据吗 谢谢。是的,可以解密。。。不,不是你描述的那样 AES是一种分组密码 大多数情况下,密码没有按原样使用,但它被置于一种特殊的操作

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

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

我有密钥和初始化向量。有没有办法用API解密这些数据?或者,换句话说,如果密钥和初始化向量都是常量,我可以创建一个密钥,它允许我用{0,0,0,…}初始化向量解密这些数据吗


谢谢。

是的,可以解密。。。不,不是你描述的那样

AES是一种分组密码

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

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

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

将密文拆分为128位块,并从索引1开始对其编号

将静脉注射预处理为cypher_块0

现在,为了获得纯文本,我们可以围绕API函数定义一个函数

明文\u块[i]=密码\u块[i-1]异或aes\u解密(密码\u块[i],密钥)

如您所见,您可以从索引1开始获取所有纯文本块


一旦获得所有纯文本块,您可能会想要去除填充,但这是另一个故事…

看看下面的图表,例如,看看IV是如何使用的。
我有一个解密数据的API
有没有办法用API解密这些数据?
如果我们不知道您使用的是什么API,我们怎么回答这个问题?!正如我提到的,API接收密钥(作为字节缓冲区)和要解密的数据(作为字节缓冲区),并使用AES-256算法(即密钥)对数据进行解密。它使用{0,0,0,0,0…}作为IV(我无法更改)。