Anyone able to assist me in this matter? I'm not able to obtain the plaintext value after decrypting. I get the error "RNG required but not provided"
#include <stdio.h>
#include <wolfssl/options.h>
#include <wolfssl/wolfcrypt/rsa.h>
#include <wolfssl/wolfcrypt/random.h>
#include <wolfssl/wolfcrypt/error-crypt.h>int main(){
RsaKey priv;
WC_RNG rng;
int ret = 0;
byte out[256];
byte in[40] = "hello";
byte plain[40];
char errorString[80];long e = 65537; // standard value to use for exponent
wc_InitRsaKey(&priv, NULL); // not using heap hint. No custom memory
wc_InitRng(&rng);
// generate 2048 bit long private key
ret = wc_MakeRsaKey(&priv, 2048, e, &rng);
if( ret != 0 )
{
printf("key not generated!");
}ret = wc_RsaPublicEncrypt(in, sizeof(in), out, sizeof(out), &priv, &rng);
if ( ret < 0 )
{
printf("Encrypting message failed");
}printf("%s\n", out);
printf("hello world \n");
printf("%d", ret);ret = wc_RsaPrivateDecrypt(out, ret, plain, sizeof(plain), &priv);
// if (ret < 0)
// {
// return -1;
// }printf("\n%d\n", ret);
printf("\n%s\n", plain);return 0;
}