SGD_SM4_CTR和SGD_SM4_OFB加密算法有什么区别?为什么可以用SGD_SM4_OFB加密数据,但是SGD_SM4_CTR加密的时候就报错。...
时间: 2023-09-18 18:12:55 浏览: 42
SGD_SM4_CTR和SGD_SM4_OFB都是基于SM4算法的分组密码模式,但它们之间存在一些区别。
SGD_SM4_CTR是一种加密模式,它使用一个计数器来产生密钥流,然后将明文与密钥流异或加密。而SGD_SM4_OFB则是一种流加密模式,它使用一个初始化向量作为输入,然后将明文与加密输出异或。因此,SGD_SM4_CTR产生的密文长度与明文长度相同,而SGD_SM4_OFB产生的密文长度可能会略长于明文长度,因为它使用了填充。
至于为什么可以用SGD_SM4_OFB加密数据,但是SGD_SM4_CTR加密的时候却报错,可能是因为你使用了错误的参数或者调用方式导致的。你可以检查一下你的代码,确保使用了正确的参数和调用方式。另外,也可以参考相关文档或者API文档来了解正确的使用方法。
相关问题
请以SGD_SM4_ECB算法重新举例
好的,以SGD_SM4_ECB算法为例,一个有效的密钥应该是符合以下要求的:
1. 密钥长度应该为16字节(即128位)。
2. 密钥应该是一个二进制数据,可以采用16进制表示。
3. 密钥应该符合SM4算法的校验规则。
以下是一个有效的SM4密钥的示例:
```
0x0123456789abcdef0123456789abcdef
```
该密钥采用16进制表示,共32个字符。它符合SM4算法的要求,长度为16字节,格式为二进制数据。
为什么pycharm里会有'sgd_experimental' is not callable
这可能是由于您正在尝试调用一个名为'sgd_experimental'的未定义函数或方法。此外,该函数或方法可能已被重命名或删除。请检查您的代码并确保函数或方法的名称正确并已正确定义。如果问题仍然存在,请尝试更新您的PyCharm版本或重新安装PyCharm。