#ifndef _AES_H_
#define _AES_H_

typedef struct aes_st{
				unsigned char data[400];
				int size;
} aes_s;

#define AES_BLOCK_SIZE 16


/* AES加密总函数 10轮4类操作 Encrypt a single block with Nr Rounds(10,12,14)*/
void AesEncrypt(unsigned char *blk, unsigned char *expansionkey, int Nr);//加密一个区块

//AES 解密总函数
void AesDecrypt(unsigned char *blk, unsigned char *expansionkey, int Nr);

void ScheduleKey(unsigned char *inkey, unsigned char *outkey, int Nk, int Nr);//安排一个保密密钥使用

int ECBAesEncrypt(unsigned char *blk, unsigned char *expansionkey, int Nr);

void ECBAesDecrypt(unsigned char *blk,int len, unsigned char *expansionkey, int Nr);

int fillSrcData(char* data);

void cutSrcData(char* data);

#endif

