我正在制作一个程序,为发送方生成私钥和公钥priva和puba,为接收方生成私钥和公钥privb和pubb。然后我将每个密钥对导出到文件中,以下是我为发送方编写的部分代码:
BIGNUM *ppub_a,*ppriv_a;
point = EC_KEY_get0_public_key(a);
ppub_a = EC_POINT_point2bn(group, point, POINT_CONVERSION_UNCOMPRESSED, ppub_a, ctx);
int kk, kk2;
ppriv_a = EC_KEY_get0_private_key(a);
kk = BN_print_fp(keypuba,ppub_a);
kk2 = BN_print_fp(keypriva, ppriv_a);
我需要这对私钥(priv)和公钥(pub),以及公钥B(十六进制文件pubb)来生成ECDH密钥,然后再生成AES密钥。然后加密一个文件。
我不知道如何获取并转换此十六进制文件为公钥,以便生成ECDH密钥。有人可以帮我吗?谢谢。