• 大小: 14KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-02
  • 语言: C/C++
  • 标签: aes  c语言  

资源简介

我从网上寻找了很多aes算法,进行了整合和更改,我提供的这个aes算法可以在单片机和PC上运行,可以进行连续加解密,这是比别人做的好的地方。128位密钥,10轮s和变换。

资源截图

代码片段和文件信息

#include 
#include “aes.h“

//这是一个适用于C51单片机的AES加解密算法,用C语言编写,Keil C uV3编译通过。是我根据网上多见的C++的AES算法改写而成。128bit加解密。
#define byte unsigned char



#define BPOLY 0x1b //!< Lower 8 bits of (x^8+x^4+x^3+x+1) ie. (x^4+x^3+x+1).
#define BLOCKSIZE 16 //!< Block size in number of bytes.



#define KEYBITS 128 //!< Use AES128.
#define ROUNDS 10 //!< Number of rounds.
#define KEYLENGTH 16 //!< Key length in number of bytes.


byte  block1[ 256 ]; //!< Workspace 1.
byte  block2[ 256 ]; //!< Worksapce 2.



byte  * powTbl; //!< Final location of exponentiation lookup table.
byte  * logTbl; //!< Final location of logarithm lookup table.
byte  * sBox; //!< Final location of s-box.
byte  * sBoxInv; //!< Final location of inverse s-box.
byte  * expandedKey; //!< Final locati

评论

共有 条评论