无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++ 中,modulus,privateExponent, pulbicExponent 如何轉(zhuǎn)換成 RSA密鑰

2022-04-10 20:32 作者:BDZNH  | 我要投稿

p.s: 以下內(nèi)容均以 openssl 實現(xiàn)。?

RSA 密鑰的存儲方式有很多,某些情況下,我們直接保存密鑰的 modulus(n),publicExponent(e),privateExponent(d),使用的時候再將它們轉(zhuǎn)換成 RSA 密鑰。下面來講講在 C/C++ 環(huán)境中,如何把這幾個大整數(shù)轉(zhuǎn)換成 RSA 密鑰來用。

根據(jù) openssl 的文檔(https://www.openssl.org/docs/man1.1.1/man3/RSA_set0_key.html),openssl提供了這樣一個函數(shù)

這個參數(shù)里面的 n , e , q 對應(yīng) RSA 算法里面的參數(shù),實際使用中,它們分別是

  1. n --> modulus

  2. e --> publicExponent

  3. d --> privateExponent

其中,n和e組成了公鑰,n和d組成私鑰(取自 [RSA算法原理](https://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html)),那么,我們想用 modulus(n),publicExponent(e),privateExponent(q) 來生成一個RSA密鑰使用的話,可以用下面這樣簡短的方式

其中,"the_modulus_hex_str" ,"the_publicexponent_hex_str","the_privateexponent_hex_str"是指對應(yīng)的巨大整數(shù)的十六進制字符串。例如??(注:下面的數(shù)據(jù)隱去了一部分)

上面對應(yīng)的巨大整數(shù)的十進制數(shù)為 (注:下面的數(shù)據(jù)隱去了一部分)

這樣,我們就得到了一個RSA密鑰。接下來可以使用這個密鑰對一些數(shù)據(jù)加密/解密。

比如,使用 RSA/ECB/PKCS1Padding?填充方式,進行公鑰加密,私鑰解密例子


openssl 里面,公鑰加密,私鑰解密的函數(shù)原型是

同樣的,還有私鑰加密,公鑰解密的函數(shù)原型是

---------------------

參考資料:?

1. [rsa-ecb-pkcs1padding(openssl)](http://www.longshine.wang/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/2017/10/24/rsa-ecb-pkcs1padding/)

2. [openssl doc](https://www.openssl.org/docs/)

3. [RSA算法原理](https://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html)


C/C++ 中,modulus,privateExponent, pulbicExponent 如何轉(zhuǎn)換成 RSA密鑰的評論 (共 條)

分享到微博請遵守國家法律
遂溪县| 玉山县| 深州市| 垫江县| 尼木县| 林口县| 上饶县| 鄄城县| 恩施市| 惠来县| 钦州市| 禹州市| 慈利县| 阳西县| 黔西| 墨竹工卡县| 当阳市| 浦县| 南陵县| 镶黄旗| 葵青区| 个旧市| 德州市| 定远县| 怀柔区| 贡嘎县| 松阳县| 无锡市| 常州市| 正蓝旗| 冕宁县| 莫力| 洪江市| 屏山县| 张家口市| 南江县| 正宁县| 尤溪县| 双柏县| 黎城县| 汝南县|