Files
easy7zip/CPP/7zip/Crypto/MyAes.h
Igor Pavlov 1fbaf0aac5 9.09 beta
2016-05-28 00:16:01 +01:00

39 lines
805 B
C++
Executable File

// Crypto/MyAes.h
#ifndef __CRYPTO_MY_AES_H
#define __CRYPTO_MY_AES_H
#include "../../../C/Aes.h"
#include "../../Common/MyCom.h"
#include "../ICoder.h"
namespace NCrypto {
class CAesCbcCoder:
public ICompressFilter,
public ICryptoProperties,
public CMyUnknownImp
{
protected:
AES_CODE_FUNC _codeFunc;
AES_SET_KEY_FUNC _setKeyFunc;
unsigned _offset;
UInt32 _aes[AES_NUM_IVMRK_WORDS + 3];
public:
CAesCbcCoder();
MY_UNKNOWN_IMP1(ICryptoProperties)
STDMETHOD(Init)();
STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size);
STDMETHOD(SetKey)(const Byte *data, UInt32 size);
STDMETHOD(SetInitVector)(const Byte *data, UInt32 size);
};
struct CAesCbcEncoder: public CAesCbcCoder { CAesCbcEncoder(); };
struct CAesCbcDecoder: public CAesCbcCoder { CAesCbcDecoder(); };
}
#endif