资源简介
实现了sm3并已经调试成功,还有各个测试程序!十分全面!!

代码片段和文件信息
/*
* SM3 Hash alogrith
* thanks to Xyssl
* author:goldboar
* email:goldboar@163.com
* 2011-10-26
*/
//Testing data from SM3 Standards
//http://www.oscca.gov.cn/News/201012/News_1199.htm
// Sample 1
// Input:“abc“
// Output:66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0
// Sample 2
// Input:“abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd“
// Outpuf:debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba3 9c0c5732
#include “sm3.h“
#include
#include
/*
* 32-bit integer manipulation macros (big endian)
*/
#ifndef GET_ULONG_BE
#define GET_ULONG_BE(nbi) \
{ \
(n) = ( (unsigned long) (b)[(i) ] << 24 ) \
| ( (unsigned long) (b)[(i) + 1] << 16 ) \
| ( (unsigned long) (b)[(i) + 2] << 8 ) \
| ( (unsigned long) (b)[(i) + 3] ); \
}
#endif
#ifndef PUT_ULONG_BE
#define PUT_ULONG_BE(nbi) \
{ \
(b)[(i) ] = (unsigned char) ( (n) >> 24 ); \
(b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \
(b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \
(b)[(i) + 3] = (unsigned char) ( (n) ); \
}
#endif
/*
* SM3 context setup
*/
void sm3_starts( sm3_context *ctx )
{
ctx->total[0] = 0;
ctx->total[1] = 0;
ctx->state[0] = 0x7380166F;
ctx->state[1] = 0x4914B2B9;
ctx->state[2] = 0x172442D7;
ctx->state[3] = 0xDA8A0600;
ctx->state[4] = 0xA96F30BC;
ctx->state[5] = 0x163138AA;
ctx->state[6] = 0xE38DEE4D;
ctx->state[7] = 0xB0FB0E4E;
}
static void sm3_process( sm3_context *ctx unsigned char data[64] )
{
unsigned long SS1 SS2 TT1 TT2 W[68]W1[64];
unsigned long A B C D E F G H;
unsigned long T[64];
unsigned long Temp1Temp2Temp3Temp4Temp5;
int j;
#ifdef _DEBUG
int i;
#endif
// for(j=0; j < 68; j++)
// W[j] = 0;
// for(j=0; j < 64; j++)
// W1[j] = 0;
for(j = 0; j < 16; j++)
T[j] = 0x79CC4519;
for(j =16; j < 64; j++)
T[j] = 0x7A879D8A;
GET_ULONG_BE( W[ 0] data 0 );
GET_ULONG_BE( W[ 1] data 4 );
GET_ULONG_BE( W[ 2] data 8 );
GET_ULONG_BE( W[ 3] data 12 );
GET_ULONG_BE( W[ 4] data 16 );
GET_ULONG_BE( W[ 5] data 20 );
GET_ULONG_BE( W[ 6] data 24 );
GET_ULONG_BE( W[ 7] data 28 );
GET_ULONG_BE( W[ 8] data 32 );
GET_ULONG_BE( W[ 9] data 36 );
GET_ULONG_BE( W[10] data 40 );
GET_ULONG_BE( W[11] data 44 );
GET_ULONG_BE( W[12] data 48 );
GET_ULONG_BE( W[13] data 52 );
GET_ULONG_BE( W[14] data 56 );
GET_ULONG_BE( W[15] data 60 );
#ifdef _DEBUG
printf(“Message with padding:\n“);
for(i=0; i< 8; i++)
printf(“%08x “W[i]);
printf(“\n“);
for(i=8; i< 16;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-11-19 14:03 sm3\
目录 0 2012-11-19 15:21 sm3\Debug\
文件 5432 2012-11-19 15:21 sm3\Debug\BuildLog.htm
文件 65 2012-11-19 15:21 sm3\Debug\mt.dep
文件 16311 2012-11-18 22:21 sm3\Debug\sm3.obj
文件 474112 2012-11-19 15:21 sm3\Debug\sm3test.exe
文件 406 2012-11-18 21:37 sm3\Debug\sm3test.exe.em
文件 472 2012-11-18 21:37 sm3\Debug\sm3test.exe.em
文件 381 2012-11-19 15:21 sm3\Debug\sm3test.exe.intermediate.manifest
文件 1054956 2012-11-19 15:21 sm3\Debug\sm3test.ilk
文件 6954 2012-11-18 21:37 sm3\Debug\sm3test.obj
文件 182796 2012-11-18 21:38 sm3\Debug\sm3test.pch
文件 2149376 2012-11-19 15:21 sm3\Debug\sm3test.pdb
文件 33792 2012-11-18 22:21 sm3\Debug\vc60.idb
文件 53248 2012-11-18 22:21 sm3\Debug\vc60.pdb
文件 35840 2012-11-18 21:37 sm3\Debug\vc90.idb
文件 61440 2012-11-18 21:37 sm3\Debug\vc90.pdb
文件 10652 2012-11-18 21:37 sm3\sm3.c
文件 3017 2012-11-18 21:37 sm3\sm3.h
文件 846 2012-11-18 21:37 sm3\sm3test.c
文件 3581 2012-11-18 21:37 sm3\sm3test.dsp
文件 539 2012-11-18 21:37 sm3\sm3test.dsw
文件 494592 2012-11-19 23:27 sm3\sm3test.ncb
文件 53760 2012-11-18 22:21 sm3\sm3test.opt
文件 1161 2012-11-18 22:21 sm3\sm3test.plg
文件 879 2012-11-19 16:51 sm3\sm3test.sln
文件 12800 2012-11-19 23:27 sm3\sm3test.suo
文件 5346 2012-11-19 15:21 sm3\sm3test.vcproj
文件 1423 2012-11-18 21:37 sm3\sm3test.vcproj.Mounty_FSC-PC.Mounty_FSC.user
文件 1419 2012-11-19 23:27 sm3\sm3test.vcproj.xiaodong-PC.xiaodong.user
- 上一篇:手把手教您如何在WinCE设备上安装程序
- 下一篇:关于防雷元件tvs管的选型
相关资源
- ILASM32位 + 64位
- 慧荣SM32X_K0530量产工具
- 慧荣Test_SM32x_H0229汉化版
- 国密SM3算法Delphi实现
- Delphi 版 SM3 SM4加解密
- SM2_SM3_SM4计算常用工具
- 基于SM32F103C8T6的环境传感器
- 商密SM4-SM3-SM2FPGA实现源码.rar
- 国密SM2 / SM3 / SM4 / SM9 / ZUC算法的官方
- Radasm中文版安装包
- 国密算法SM2 SM3 SM4相关算法及推荐参数
- LSM303DLH 中文pdf (磁力计+ 线性加速
- iOS国密demoSM2 SM3 SM4 ZUC EEA3 EIA3
- 国密算法SM3验证与SM4文件加密工具C
- NIITsm3在线考试切图有答案
- 慧荣SM3267ABS(USB3.0)量产工具.rar
- Star_SM3281series_T0702.rar
- 慧荣SM3257ENBB量产工具
- 美国NVE SM324巨磁阻非接触式智能电流
- 国密算法SM系列
- lsm303dlhc Stm32f103 驱动程序
- SASM -- 调试、运行MASM、GAS、NASM、FAS
- 国密算法SM234及demo
- iOS demo SM2,SM4 加密算法,SM2+SM3签名
- SM32X 金士顿U盘量产工具
- SM3257ENLT U盘修改,量产工作
- MASM32和RadASM
- 计算文件SM3MD5 SHA1SHA256摘要值工具
- SM3动态链接库
- 国密SM3 C实现
评论
共有 条评论