• 大小: 28KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-01-11
  • 语言: 其他
  • 标签: aes  加密  c程序  

资源简介

目前上传到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

评论

共有 条评论