aes.h

来自「AES算法软件的实现」· C头文件 代码 · 共 59 行

H
59
字号
// AES.h: interface for the AES class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_AES_H__B16D2A82_A0A4_4E1F_AE73_3C458AC2A2FE__INCLUDED_)
#define AFX_AES_H__B16D2A82_A0A4_4E1F_AE73_3C458AC2A2FE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class AES  
{
public:
	AES();
	virtual ~AES();

};
unsigned char FieldMultiply_08(	unsigned char Mtpcand,unsigned char Mtper);
void RotBytes(unsigned long *pOperand);
void SubBytes(	unsigned char *pSBox,
				unsigned char *pState,
				unsigned char cNum);
void InvSubBytes(	unsigned char *pSBox,
					unsigned char *pState, 
			 		unsigned char cNum);
void ShiftRows(unsigned char *pState);
void InvShiftRows(unsigned char *pState);
void MixColumn(unsigned char *pState);
void InvMixColumn(unsigned char *pState);
void AddRoundKey(	unsigned char *pState, 
			 		unsigned char *pRoundKey);
char KeyExpansion(	unsigned char *pExpandedKey,
					unsigned char *pSBox,
					unsigned char *pCipherKey, 
					unsigned char keySize);
void Round(	unsigned char *pSBox,
			unsigned char *pState, 
	 		unsigned char *pRoundKey);
void InvRound(	unsigned char *pSBox,
				unsigned char *pState, 
		  		unsigned char *pRoundKey);
void FinalRound(unsigned char *pSBox,
				unsigned char *pState, 
				unsigned char *pRoundKey);
void InvFinalRound(	unsigned char *pSBox,
					unsigned char *pState, 
		   			unsigned char *pRoundKey);
char AES_Encrypt(	unsigned char *pOut, 
					unsigned char *pIn, 
					unsigned char *pCipherKey,
					unsigned char keySize);
char AES_Decrypt(	unsigned char *pOut, 
					unsigned char *pIn, 
					unsigned char *pCipherKey,
					unsigned char keySize);

#endif // !defined(AFX_AES_H__B16D2A82_A0A4_4E1F_AE73_3C458AC2A2FE__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?