diff options
Diffstat (limited to 'src/pk_pad/emsa_raw')
-rw-r--r-- | src/pk_pad/emsa_raw/emsa_raw.cpp | 48 | ||||
-rw-r--r-- | src/pk_pad/emsa_raw/emsa_raw.h | 32 | ||||
-rw-r--r-- | src/pk_pad/emsa_raw/modinfo.txt | 10 |
3 files changed, 90 insertions, 0 deletions
diff --git a/src/pk_pad/emsa_raw/emsa_raw.cpp b/src/pk_pad/emsa_raw/emsa_raw.cpp new file mode 100644 index 000000000..c10bb4890 --- /dev/null +++ b/src/pk_pad/emsa_raw/emsa_raw.cpp @@ -0,0 +1,48 @@ +/************************************************* +* EMSA-Raw Source File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#include <botan/emsa_raw.h> + +namespace Botan { + +/************************************************* +* EMSA-Raw Encode Operation * +*************************************************/ +void EMSA_Raw::update(const byte input[], u32bit length) + { + message.append(input, length); + } + +/************************************************* +* Return the raw (unencoded) data * +*************************************************/ +SecureVector<byte> EMSA_Raw::raw_data() + { + SecureVector<byte> buf = message; + message.destroy(); + return buf; + } + +/************************************************* +* EMSA-Raw Encode Operation * +*************************************************/ +SecureVector<byte> EMSA_Raw::encoding_of(const MemoryRegion<byte>& msg, + u32bit, + RandomNumberGenerator&) + { + return msg; + } + +/************************************************* +* EMSA-Raw Verify Operation * +*************************************************/ +bool EMSA_Raw::verify(const MemoryRegion<byte>& coded, + const MemoryRegion<byte>& raw, + u32bit) throw() + { + return (coded == raw); + } + +} diff --git a/src/pk_pad/emsa_raw/emsa_raw.h b/src/pk_pad/emsa_raw/emsa_raw.h new file mode 100644 index 000000000..a9e21d0e0 --- /dev/null +++ b/src/pk_pad/emsa_raw/emsa_raw.h @@ -0,0 +1,32 @@ +/************************************************* +* EMSA-Raw Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_EMSA_RAW_H__ +#define BOTAN_EMSA_RAW_H__ + +#include <botan/pk_util.h> + +namespace Botan { + +/************************************************* +* EMSA-Raw * +*************************************************/ +class BOTAN_DLL EMSA_Raw : public EMSA + { + private: + void update(const byte[], u32bit); + SecureVector<byte> raw_data(); + + SecureVector<byte> encoding_of(const MemoryRegion<byte>&, u32bit, + RandomNumberGenerator&); + bool verify(const MemoryRegion<byte>&, const MemoryRegion<byte>&, + u32bit) throw(); + + SecureVector<byte> message; + }; + +} + +#endif diff --git a/src/pk_pad/emsa_raw/modinfo.txt b/src/pk_pad/emsa_raw/modinfo.txt new file mode 100644 index 000000000..2a88d10fa --- /dev/null +++ b/src/pk_pad/emsa_raw/modinfo.txt @@ -0,0 +1,10 @@ +realname "EMSA-Raw" + +define EMSA_RAW + +load_on auto + +<add> +emsa_raw.h +emsa_raw.cpp +</add> |