diff options
Diffstat (limited to 'botan/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp')
-rw-r--r-- | botan/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/botan/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp b/botan/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp new file mode 100644 index 0000000..212091e --- /dev/null +++ b/botan/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp @@ -0,0 +1,29 @@ +/* +* EMSA1 BSI +* (C) 1999-2008 Jack Lloyd +* 2008 Falko Strenzke, FlexSecure GmbH +* +* Distributed under the terms of the Botan license +*/ + +#include <botan/emsa1_bsi.h> + +namespace Botan { + +/* +* EMSA1 BSI Encode Operation +*/ +SecureVector<byte> EMSA1_BSI::encoding_of(const MemoryRegion<byte>& msg, + u32bit output_bits, + RandomNumberGenerator&) + { + if(msg.size() != hash_ptr()->OUTPUT_LENGTH) + throw Encoding_Error("EMSA1_BSI::encoding_of: Invalid size for input"); + + if(8*msg.size() <= output_bits) + return msg; + + throw Encoding_Error("EMSA1_BSI::encoding_of: max key input size exceeded"); + } + +} |