91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

按國密標準開發的C語言版(VC6)的SM3算法源代碼 參考xyssl源碼庫實現 計算結果與標準測試數據完全相同 附帶有SM3-HMAC算法

資源截圖

代碼片段和文件信息

/*
?*?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)????]?<????????|?(?(unsigned?long)?(b)[(i)?+?1]?<????????|?(?(unsigned?long)?(b)[(i)?+?2]?<????????|?(?(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?//? W[j]?=?0;
//? for(j=0;?j?//? W1[j]?=?0;

for(j?=?0;?j? T[j]?=?0x79CC4519;
for(j?=16;?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 printf(“%08x?“W[i]);
printf(“\n“);
for(i=8;?i

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3017??2011-11-03?14:31??sm3.h

?????文件????????846??2011-10-27?17:28??sm3test.c

?????文件???????3581??2011-10-27?17:23??sm3test.dsp

?????文件????????539??2011-10-22?16:52??sm3test.dsw

?????文件??????10598??2011-11-03?14:27??sm3.c

-----------?---------??----------?-----??----

????????????????18581????????????????????5


評論

共有 條評論