8 #include <botan/eme_pkcs.h>
15 SecureVector<byte> EME_PKCS1v15::pad(
const byte in[],
size_t inlen,
17 RandomNumberGenerator&
rng)
const
22 throw Encoding_Error(
"PKCS1: Output space too small");
24 throw Encoding_Error(
"PKCS1: Input is too large");
26 SecureVector<byte> out(olen);
29 for(
size_t j = 1; j != olen - inlen - 1; ++j)
31 out[j] = rng.next_byte();
32 out.copy(olen - inlen, in, inlen);
40 SecureVector<byte> EME_PKCS1v15::unpad(
const byte in[],
size_t inlen,
43 if(inlen != key_len / 8 || inlen < 10 || in[0] != 0x02)
44 throw Decoding_Error(
"PKCS1::unpad");
47 for(
size_t j = 0; j != inlen; ++j)
54 throw Decoding_Error(
"PKCS1::unpad");
56 return SecureVector<byte>(in + seperator + 1, inlen - seperator - 1);
65 return ((keybits / 8) - 10);
size_t maximum_input_size(size_t) const
RandomNumberGenerator * rng