00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _AES_H
00028 #define _AES_H
00029
00032 typedef struct
00033 {
00034 uint32 k[64];
00035 uint32 nr;
00036 uint32 fdback[4];
00037 } aesParam;
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00045
00046 extern const BEECRYPTAPI blockCipher aes;
00047
00050
00051 BEECRYPTAPI
00052 int aesSetup (aesParam* ap, const uint32* key, int keybits, cipherOperation op)
00053 ;
00054
00055
00058
00059 BEECRYPTAPI
00060 int aesSetIV (aesParam* ap, const uint32* iv)
00061 ;
00062
00063
00066
00067 BEECRYPTAPI
00068 int aesEncrypt(aesParam* ap, uint32* dst, const uint32* src)
00069 ;
00070
00071
00074
00075 BEECRYPTAPI
00076 int aesDecrypt(aesParam* ap, uint32* dst, const uint32* src)
00077 ;
00078
00079
00082
00083 BEECRYPTAPI
00084 int aesECBEncrypt(aesParam* ap, int count, uint32* dst, const uint32* src)
00085 ;
00086
00087
00090
00091 BEECRYPTAPI
00092 int aesECBDecrypt(aesParam* ap, int count, uint32* dst, const uint32* src)
00093 ;
00094
00095
00098
00099 BEECRYPTAPI
00100 int aesCBCEncrypt(aesParam* ap, int count, uint32* dst, const uint32* src)
00101 ;
00102
00103
00106
00107 BEECRYPTAPI
00108 int aesCBCDecrypt(aesParam* ap, int count, uint32* dst, const uint32* src)
00109 ;
00110
00111
00112 #ifdef __cplusplus
00113 }
00114 #endif
00115
00116 #endif