SMx
SMx copied to clipboard
国家商用加密算法 SMx(SM2,SM3,SM4)
(gdb) bt #0 0x0009939a in sm4_one_round () Backtrace stopped: Cannot access memory at address 0x19b84582 看源码应该是移位的过程中发生的断错误
SM3文档示例1 > 输入消息为“abc”,其ASCII码表示为616263 ... 杂凑值 66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0 在linux下编译输出结果为 > Message: abc Hash: 37bc43d1 1cab393d 7899ef62 24f568ec 18a8fd85 1d165c50 0c375402 0f466a04 代码粗略看了下, 至少位移的宏看起来有问题 ``` #define...
has a problem, how to trim the padding chars? and I do not want to pad files whose sizes are 16 times. ```cpp #include #include #include "sm4.h" int main(int argc,...
你好,能在添加生成SM2密钥对的代码吗?非常感谢
支持过国家密码局的检测么?或者支持定制么?
sm4 输入必须是16的倍数,如果不够就会补位,这里的补位逻辑不通用,我手动对输入进行了补位,如果是16的倍数,就补16个16,差8个到16的倍数就补8个8。 sm3 定义的变量全是long win是4字节 移植到linux long是8字节,会导致sm3计算的结果不一致。变量把long全改成int就可以了。