資源簡介
目前上傳到aes代碼,基本一段代碼,其實都只能16個char編碼,給到demo能正確解出,長了就失敗,花了我不少時間才發現這個問題。本人簡單修復了下,使用循環分段編碼,再循環分段解碼,前后文能一致。
AES的基本要求是,采用對稱分組密碼體制,密鑰長度的最少支持為128、192、256,分組長度128位,算法應易于各種硬件和軟件實現。1998年NIST開始AES第一輪分析、測試和征集,共產生了15個候選算法。1999年3月完成了第二輪AES2的分析、測試。2000年10月2日美國政府正式宣布選中比利時密碼學家Joan Daemen 和 Vincent Rijmen 提出的一種密碼算法RIJNDA
代碼片段和文件信息
#include?
#include?
#ifndef?uint8
#define?uint8??unsigned?char
#endif
#ifndef?uint32
#define?uint32?unsigned?long?int
#endif
typedef?struct
{
????uint32?erk[64];?????/*?encryption?round?keys?*/
????uint32?drk[64];?????/*?decryption?round?keys?*/
????int?nr;?????????????/*?number?of?rounds?*/
}
aes_context;
//#define?TEST
/*?uncomment?the?following?line?to?use?pre-computed?tables?*/
/*?otherwise?the?tables?will?be?generated?at?the?first?run?*/
/*?#define?FIXED_TABLES?*/
#ifndef?FIXED_TABLES
/*?forward?S-box?&?tables?*/
uint32?FSb[256];
uint32?FT0[256];
uint32?FT1[256];
uint32?FT2[256];
uint32?FT3[256];
/*?reverse?S-box?&?tables?*/
uint32?RSb[256];
uint32?RT0[256];
uint32?RT1[256];
uint32?RT2[256];
uint32?RT3[256];
/*?round?c
- 上一篇:中文轉拼音 完美支持多音字
- 下一篇:GRE紅寶書完全版EXCEL
評論
共有 條評論