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

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: 其他
  • 標簽: SM3??verilogHDL??

資源簡介

SM3的一種verilogHDL實現,包括testbench測試文件。SM3是國家密碼管理局編制的商用算法,用于密碼應用中的數字簽名和驗證、消息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求。

資源截圖

代碼片段和文件信息

/***************************************************************************
*?File?name????: SM3c.c
*?Function?????: SM3?function
*?Author???????:? ?
*?Date?????????: 2011/03/?
*?Version??????:????v1.0
*?Description??:?????
*?ModifyRecord?:
****************************************************************************/
#include?“HDR\AS5xx_Device.h“
#include?“SM3.h“



static?void?SM3Transform(UINT32?stateIV[8]?UINT32?T[64]?UINT8?block[64]);
static?void?Extend(UINT32?*outputUINT32?*output1UINT32?*inputUINT32?len);
static?void?Encode(UINT8?*outputUINT32?*inputUINT32?len);
static?void?Decode(UINT32?*outputUINT8?*inputUINT32?len);


static?UINT8?PADDING[64]?=?{
??0x80?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
??0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0
};


/*?ROTATE_LEFT?rotates?x?left?n?bits.?
*/
#define?ROTATE_LEFT(x?n)?(((x)?<>?(32-(n))))


/*Substi_P0Substi_P1Bool_FF?and?Bool_GG?are?basic?SM3?functions.
*/
#define?Substi_P0(x)?((x)?^?ROTATE_LEFT((x)?9)?^?ROTATE_LEFT((x)?17))
#define?Substi_P1(x)?((x)?^?ROTATE_LEFT((x)?15)?^?ROTATE_LEFT((x)?23))
#define?Bool_FF(x?y?z?j)?((j)?#define?Bool_GG(x?y?z?j)?((j)?

/*?SS1SS2TT1?and?TT2?are?the?transform?functions?for?the?SM3?algorithm
be?using?to?generate?intervening?variables?ss1ss2tt1tt2.
?
#define?SS1(a?b?t?j)?{\
????????UINT32?s1?=?ROTATE_LEFT(a?12)?+?b?+?ROTATE_LEFT(t?j);\
????????s1?=?ROTATE_LEFT(s1?7);\
????????return?s1;\
????}
#define?SS2(a?b)?{\
????????(UINT32)?s2?=?a?^?ROTATE_LEFT(b?12);\
????????return?s2;\
????}
#define?TT1(a?b?c?d?x?w1?j)?{\
????????(UINT32)?t1?=?Bool_FF(a?b?c?j)?+?d?+?x?+?w1[j];\
????????return?t1;\
????}
#define?TT2(a?b?c?d?x?w?j)?{\
????????(UINT32)?t2?=?Bool_GG(a?b?c?j)?+?d?+?x?+?w[j];\
????????return?t2;\
????}
*/



/***************************************************************************
*?Subroutine: SM3_Init
*?Function: SM3?initialization.?Begins?an?SM3?operation?writing?a?new?context.
*?Input: context-SM3?Context?struct
*?Output: None;
*?Description: ?
*?Date: 2011.03.?
*?ModifyRecord:
*?*************************************************************************/?
void?SM3_Init?(SM3_CONTEXT?*context)
{
??context->count[0]?=?context->count[1]?=?0;

??/*?Load?magic?initialization?constants.
???*/
??context->stateIV[0]?=?0x7380166f;
??context->stateIV[1]?=?0x4914b2b9;
??context->stateIV[2]?=?0x172442d7;
??context->stateIV[3]?=?0xda8a0600;
??context->stateIV[4]?=?0xa96f30bc;
??context->stateIV[5]?=?0x163138aa;
??context->stateIV[6]?=?0xe38dee4d;
??context->stateIV[7]?=?0xb0fb0e4e;
??/*?Load?initial?constant?list?T.?
???*/
??for?(UINT16?j=0;j<=15;j++)
??{
?? context->T[

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

?????文件????????913??2011-03-10?15:38??SM3.h

?????文件???????9487??2011-03-15?10:08??SM3.c

?????文件???????3769??2013-06-07?16:38??test_SM3.v

?????文件??????16233??2013-05-07?16:31??SM3.v

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

????????????????30402????????????????????4


評論

共有 條評論