diff options
author | lloyd <[email protected]> | 2008-10-26 02:23:38 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-10-26 02:23:38 +0000 |
commit | dea1aa500fd7da2968448677fd628e8a4dddb6fb (patch) | |
tree | 48e401fe5cbb07a094b59ef742167ad5070a1dbe /src/pk_pad/pk_pad.h | |
parent | 17231ebbb95cc45cca50eabc4799c3058fc78ee9 (diff) |
Put pk_pad.{h,cpp} from core into pk_pad/ dir (cleaner I think)
Diffstat (limited to 'src/pk_pad/pk_pad.h')
-rw-r--r-- | src/pk_pad/pk_pad.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/pk_pad/pk_pad.h b/src/pk_pad/pk_pad.h new file mode 100644 index 000000000..ed1742155 --- /dev/null +++ b/src/pk_pad/pk_pad.h @@ -0,0 +1,58 @@ +/************************************************* +* EME/EMSA Classes Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_PUBKEY_PAD_H__ +#define BOTAN_PUBKEY_PAD_H__ + +#include <botan/base.h> +#include <botan/rng.h> + +namespace Botan { + +/************************************************* +* Encoding Method for Encryption * +*************************************************/ +class BOTAN_DLL EME + { + public: + virtual u32bit maximum_input_size(u32bit) const = 0; + + SecureVector<byte> encode(const byte[], u32bit, u32bit, + RandomNumberGenerator&) const; + SecureVector<byte> encode(const MemoryRegion<byte>&, u32bit, + RandomNumberGenerator&) const; + + SecureVector<byte> decode(const byte[], u32bit, u32bit) const; + SecureVector<byte> decode(const MemoryRegion<byte>&, u32bit) const; + + virtual ~EME() {} + private: + virtual SecureVector<byte> pad(const byte[], u32bit, u32bit, + RandomNumberGenerator&) const = 0; + + virtual SecureVector<byte> unpad(const byte[], u32bit, u32bit) const = 0; + }; + +/************************************************* +* Encoding Method for Signatures, Appendix * +*************************************************/ +class BOTAN_DLL EMSA + { + public: + virtual void update(const byte[], u32bit) = 0; + virtual SecureVector<byte> raw_data() = 0; + + virtual SecureVector<byte> encoding_of(const MemoryRegion<byte>&, + u32bit, + RandomNumberGenerator& rng) = 0; + + virtual bool verify(const MemoryRegion<byte>&, const MemoryRegion<byte>&, + u32bit) throw() = 0; + virtual ~EMSA() {} + }; + +} + +#endif |