diff options
Diffstat (limited to 'src/pk_pad/emsa1_bsi/emsa1_bsi.cpp')
-rw-r--r-- | src/pk_pad/emsa1_bsi/emsa1_bsi.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp b/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp new file mode 100644 index 000000000..cc7868a1d --- /dev/null +++ b/src/pk_pad/emsa1_bsi/emsa1_bsi.cpp @@ -0,0 +1,27 @@ +/************************************************* +* EMSA1 BSI Source File * +* (C) 1999-2008 Jack Lloyd * +* 2008 Falko Strenzke, FlexSecure GmbH * +*************************************************/ + +#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"); + } + +} |