This error comes from crypto / rsa / rsa_none.c
int RSA_padding_add_none(unsigned char *to, int tlen, const unsigned char *from, int flen) { if (flen > tlen) { RSAerr(RSA_F_RSA_PADDING_ADD_NONE,RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE); return(0); } if (flen < tlen) { RSAerr(RSA_F_RSA_PADDING_ADD_NONE,RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE); return(0); } memcpy(to,from,(unsigned int)flen); return(1); }
Rypto / rsa / rsa_eay.c is called
static int RSA_eay_public_encrypt(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding) ... i=RSA_padding_add_none(buf,num,from,flen);
flen is a len message; and tlen has the meaning: num=BN_num_bytes(rsa->n);
So,. Your data has the same byte length as your RSA key parameter N
In addition, as I know, your data should be less than N (if you count one long long binary number)
source share