首页
社区
课程
招聘
[求助]使用CryptoAPI进行RSA加密,为什么不能生成256位的密钥?
2017-3-15 16:02 3673

[求助]使用CryptoAPI进行RSA加密,为什么不能生成256位的密钥?

2017-3-15 16:02
3673

不好意思,初次学习CryptoAPI,不是很懂;我想用CryptoAPI进行RSA加解密:


CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0);

CryptGenKey( hCryptProv, AT_KEYEXCHANGE, ( 256 << 16 )| CRYPT_EXPORTABLE, &hKey);


CryptGenKey 会调用失败,查了一下:

  • CALG_RSA_KEYX is used for AT_KEYEXCHANGE. 

而 CALG_RSA_KEYX ,Key length: Can be set, 384 bits to 16,384 bits in 8-bit increments.

MSDN上说,最小的长度为 384bit, 所以试图使用更小的256bit,CryptGenKey会失败;


现在另一方,规定密钥长度要为256bit,否则拒绝通信。 那没有办法使用CryptoAPI了?要自己实现RSA算法?关键是我对算法也不是很懂,网上找的代码无法完全符合要求(要求纯C实现至少256bit,但网上的全是C++),自己去改,但对算法不太懂,估计改不了,头痛。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (1)
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junkboy 2017-3-22 14:09
2
0
openssl的RSA_generate_key_ex和RSA_generate_key
游客
登录 | 注册 方可回帖
返回