1
所以我必須根據位長度,模數,第一個素數和公開指數生成一個私鑰(RSA)。生成給定模數,公開指數和素數的RSA密鑰
問題是我有模數和prime1在十六進制對。我試過手動做,但數量變得非常長(顯然)。我也嘗試過使用openssl genpkey
,但是對於RSA,它沒有我需要的參數。
是否有人知道任何方式來做到這一點,否則我將不得不以十六進制/二進制手動操作?
所以我必須根據位長度,模數,第一個素數和公開指數生成一個私鑰(RSA)。生成給定模數,公開指數和素數的RSA密鑰
問題是我有模數和prime1在十六進制對。我試過手動做,但數量變得非常長(顯然)。我也嘗試過使用openssl genpkey
,但是對於RSA,它沒有我需要的參數。
是否有人知道任何方式來做到這一點,否則我將不得不以十六進制/二進制手動操作?
正如James K Polk評論這個問題,openssl不支持以這種方式生成密鑰。你必須親自編寫一個程序才能做到這一點。
例如,下面的Java代碼可以工作。您還需要處理異常。
BigInteger modulus = /* modulus here */;
BigInteger exponent = /* exponent here */;
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
keyFactory.generatePrivate(new RSAPrivateKeySpec(modulus, exponent));
你將不得不編寫一個程序來做到這一點。 openssl命令行工具不會爲你做這件事。 –
@GregS - 我認爲它比這更容易(我第一次閱讀它)。他有模數'n'和'p'。他只需要解決'q'。用'p','q'和'e',他可以有效地計算'd'。然後使用CRT恢復其他RSA私鑰參數,如'dp','dq'和'q-inv'。最後,他可以將它填入「RSA *」中。中提琴! – jww
@jww是的,但我缺少了3對p值的十六進制值,所以我不得不「猜測」它們。我已經解決了它,但無論如何感謝您的時間! – lpares12