资源简介
国密SM4算法源码及demo,支持ECB、CBC,包含可直接拿来使用的算法源代码和头文件,测试demo,Linux下解压直接make即可编译测试。
代码片段和文件信息
/* 测试代码
* SM4/SMS4 algorithm test programme
* 2017-4-20
*/
#include
#include
#include “sm4.h“
// plain: 0b 0b 2b 4f 54 05 fe f1 e8 a2 64 fc 89 ab 21 0a 0b 0b 2b 4f 54 05 fe f1 e8 a2 64 fc 89 ab 21 0a
// key: b1 22 ad 0a 7a 36 2e c3 ab a1 dd ef b3 af 49 15
// iv: 11 11 11 11 d1 a1 6c 20 67 70 8a cb d1 a1 6c 20
// ECB cypher: 70 dc 8d 69 65 da 2a 36 7c db a4 63 1c 39 a3 84 70 dc 8d 69 65 da 2a 36 7c db a4 63 1c 39 a3 84
// CBC cypher: 33 91 0d d4 61 7b f4 3b 17 fc 7c 4c 7c 99 71 9c 6a 85 d9 07 7f 95 87 93 04 9e b0 cd a9 7a a9 ad
int main()
{
unsigned char key[16] = {0xB10x220xAD0x0A0x7A0x360x2E0xC30xAB0xA10xDD0xEF0xB30xAF0x490x15};
unsigned char iv[16] = {0x110x110x110x110xd10xa10x6c0x200x670x700x8a0xcb0xd10xa10x6c0x20};
unsigned char input[32] = {0x0B0x0B0x2B0x4F0x540x050xFE0xF10xE80xA20x640xFC0x890xAB0x210x0A
0x0B0x0B0x2B0x4F0x540x050xFE0xF10xE80xA20x640xFC0x890xAB0x210x0A};
unsigned char output[32];
sm4_context ctx;
unsigned long i;
unsigned long len = 32;
printf(“%-15s““Key:“);
for(i=0;i<16;i++)
printf(“%02x “ key[i]);
printf(“\n“);
printf(“%-15s““IV:“);
for(i=0;i<16;i++)
printf(“%02x “ iv[i]);
printf(“\n“);
//sm4 ecb encrypt testing
sm4_setkey_enc(&ctxkey);
sm4_crypt_ecb(&ctx1leninputoutput);
printf(“%-15s““ECB cipher:“);
for(i=0;i printf(“%02x “ output[i]);
printf(“\n“);
//sm4 ecb decrypt testing
sm4_setkey_dec(&ctxkey);
sm4_crypt_ecb(&ctx0lenoutputoutput);
printf(“%-15s““ECB dec plain:“);
for(i=0;i printf(“%02x “ output[i]);
printf(“\n“);
//sm4 cbc encrypt testing
sm4_setkey_enc(&ctxkey);
sm4_crypt_cbc(&ctx1lenivinputoutput);
printf(“%-15s““CBC cipher:“);
for(i=0;i printf(“%02x “ output[i]);
printf(“\n“);
//sm4 cbc decrypt testing
sm4_setkey_dec(&ctxkey);
sm4_crypt_cbc(&ctx0lenivoutputoutput);
printf(“%-15s““ECB dec plain:“);
for(i=0;i printf(“%02x “ output[i]);
printf(“\n“);
return 0;
}
相关资源
- 飞天3000国密key驱动
- sm2/sm3算法验证工具,预运算、大数计
- sm4算法_Verilog
- 国密4算法的verilog实现
- 使用openssl 1.1.1版本调试国密SM4算法
- SM2 SM4 国密算法 运算工具测试必备
- 国密sm2算法c实现
- SM4加解密工具
- GM-T 0054-2018信息系统密码应用基本要求
- 国密SM2文档详细
- SM4.zip
- 国密SM2算法基于Openssl实现
- 《GM/T 0028-2014 密码模块安全技术要求
- 国密SM2算法规范
- 国密算法工具SmartTool_V1.3
- 国密 SM4 ECB 加解密字符串
- 国密 SM2 SM3 签名 验签 加解密 公私钥
- ( 银行金融IC卡(PBOC3.0 支持国密SM算
- 国密SM2SM3SM4计算工具
- 典型密码算法FPGA实现-DESAES3DESECCSM2,
- security-sm2-sm3.zip
- GM-T 0018-2012密码设备应用接口规范
- 使用openssl 1.1.1版本调试国密SM2 P7 Si
- 使用openssl 1.1.1版本调试国密SM2签名、
- 国密Poker测试实现说明
- sm4加解密工具new
- e语言-国密SM4加解密源码
- 大宝CA版本的国密算法DoubleCA-JCE实现,
- miracl.lib库
- 国密 SM3算法(管理局说明文档)
评论
共有 条评论