diff options
Diffstat (limited to 'botan/src/pk_pad/emsa_raw')
-rw-r--r-- | botan/src/pk_pad/emsa_raw/emsa_raw.cpp | 50 | ||||
-rw-r--r-- | botan/src/pk_pad/emsa_raw/emsa_raw.h | 34 | ||||
-rw-r--r-- | botan/src/pk_pad/emsa_raw/info.txt | 10 |
3 files changed, 94 insertions, 0 deletions
diff --git a/botan/src/pk_pad/emsa_raw/emsa_raw.cpp b/botan/src/pk_pad/emsa_raw/emsa_raw.cpp new file mode 100644 index 0000000..d5973ee --- /dev/null +++ b/botan/src/pk_pad/emsa_raw/emsa_raw.cpp @@ -0,0 +1,50 @@ +/* +* EMSA-Raw +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#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/botan/src/pk_pad/emsa_raw/emsa_raw.h b/botan/src/pk_pad/emsa_raw/emsa_raw.h new file mode 100644 index 0000000..1b0ad51 --- /dev/null +++ b/botan/src/pk_pad/emsa_raw/emsa_raw.h @@ -0,0 +1,34 @@ +/* +* EMSA-Raw +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_EMSA_RAW_H__ +#define BOTAN_EMSA_RAW_H__ + +#include <botan/emsa.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/botan/src/pk_pad/emsa_raw/info.txt b/botan/src/pk_pad/emsa_raw/info.txt new file mode 100644 index 0000000..2a88d10 --- /dev/null +++ b/botan/src/pk_pad/emsa_raw/info.txt @@ -0,0 +1,10 @@ +realname "EMSA-Raw" + +define EMSA_RAW + +load_on auto + +<add> +emsa_raw.h +emsa_raw.cpp +</add> |