从C++中的RSA私钥中提取公钥没有openssl

从C++中的RSA私钥中提取公钥没有openssl

问题描述:

我知道RSA私钥包含相关公钥的信息。我怎样才能从私钥转储公钥?我想在没有openssl的iOS环境中执行此操作。可能吗?从C++中的RSA私钥中提取公钥没有openssl

+0

你的私钥是什么格式? – 2014-09-29 08:14:17

+0

私钥为PEM格式。 – yohon 2014-09-29 08:28:54

+0

PEM是一种编码,而不是格式。什么*格式*是你的钥匙? – 2014-09-29 08:29:31

是有可能......

但你要处理大约关键是如何表示的方式,所有的东西,即如何在关键的特定部分存储在一个文件中,等

您的私钥由一些数字组成,通常是这样的: d(私有指数),N(共同模数)P,Q(两个非常大的素数)dP和dQ(计算快捷方式的中间值...忽略你的任务)

你想要做的是计算PHI =(P-1)*(Q-1),然后运行扩展的欧几里德算法HM(参见*为)为d和PHI找到d国防部PHI的乘法逆元素......这个元素是E(公共指数)

你的公钥,然后是元组(E,N)

+0

许多私有关键格式也存储公共指数。这使生活变得相当容易。 – 2014-09-29 08:27:50

+0

你有任何源代码参考? – yohon 2014-09-29 09:28:04

+0

nope ...但它不应该是很难找到的东西,把你的关键分解成它的部分...寻找开源的东西,像你的处理键... openssl例如...也许这也可以帮助你https://www.openssl.org/docs/apps/asn1parse.html – DarkSquirrel42 2014-10-02 06:33:35