AES 加密算法 C++的 AES 代码(转) 在 VC7
1 下编译调试成功,下面是源代码 //AES
H #pragma once class AES { public: typedef enum ENUM_KeySize_ { BIT128 = 0, BIT192, BIT256 }ENUM_KEYSIZE; public: AES( ENUM_KEYSIZE keysize, BYTE *key ); ~AES(void); void Cipher( BYTE *input, BYTE *output ); void InvCipher( BYTE *input, BYTE *output ); protected: BYTE *RotWord( BYTE *word ); BYTE *SubWord( BYTE *word ); void AddRoundKey(int round); void SubBytes(); void InvSubBytes(); void ShiftRows(); void InvShiftRows(); void MixColumns(); void InvMixColumns(); static BYTE gfmultby01(BYTE b) { return b; } static BYTE gfmultby02(BYTE b) { if (b < 0x80) return (BYTE)(int)(b