OSDN Git Service

add japanese site html
[sevenzip/7-Zip.git] / 7z457 / CPP / 7zip / Crypto / AES / MyAES.h
1 // Crypto/AES/MyAES.h
2
3 #ifndef __CIPHER_MYAES_H
4 #define __CIPHER_MYAES_H
5
6 #include "Common/Types.h"
7 #include "Common/MyCom.h"
8
9 #include "../../ICoder.h"
10
11 extern "C" 
12
13 #include "../../../../C/Crypto/Aes.h"
14 }
15
16 namespace NCrypto {
17
18 class CAesCbcEncoder:
19   public ICompressFilter,
20   public ICryptoProperties,
21   public CMyUnknownImp
22
23   CAesCbc Aes;
24 public:
25   MY_UNKNOWN_IMP1(ICryptoProperties)
26   STDMETHOD(Init)();
27   STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size);
28   STDMETHOD(SetKey)(const Byte *data, UInt32 size);
29   STDMETHOD(SetInitVector)(const Byte *data, UInt32 size);
30 };
31
32 class CAesCbcDecoder:
33   public ICompressFilter,
34   public ICryptoProperties,
35   public CMyUnknownImp
36
37   CAesCbc Aes;
38 public:
39   MY_UNKNOWN_IMP1(ICryptoProperties)
40   STDMETHOD(Init)();
41   STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size);
42   STDMETHOD(SetKey)(const Byte *data, UInt32 size);
43   STDMETHOD(SetInitVector)(const Byte *data, UInt32 size);
44 };
45
46 }
47
48 #endif