簡體   English   中英

如何在Android中為Diffie-Hellman密鑰協商算法生成參數集

[英]How To Generate Parameter Set for the Diffie-Hellman Key Agreement Algorithm in Android

我正在從事與移動/服務器安全性相關的項目。 我現在停留在生成Diffie-Hellman密鑰協商部分。 它可以在服務器端程序中正常工作,但不能在移動端程序中工作。 因此,我認為它不能與Android一起壓縮。

我使用以下類來獲取參數。 它返回一個逗號分隔的3個值的字符串。 第一個數字是質數模數P。第二個數字是基數發生器G。第三個數字是隨機指數L的位大小。

我的問題是代碼有什么問題或對於Android無法壓縮嗎?我應該做哪些更改?
您的建議和指導將對我有很大幫助。 非常感謝。

public static String genDhParams() {
 try {
// Create the parameter generator for a 1024-bit DH key pair
AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator.getInstance("DH");
paramGen.init(1024);
// Generate the parameters
AlgorithmParameters params = paramGen.generateParameters();
DHParameterSpec dhSpec = (DHParameterSpec)params.getParameterSpec(DHParameterSpec.class);
// Return the three values in a string
return ""+dhSpec.getP()+","+dhSpec.getG()+","+dhSpec.getL();
} catch (NoSuchAlgorithmException e) {
} catch (InvalidParameterSpecException e) {
}
return null;
}

問候,
塞比

正如這個問題所揭示的那樣,在Android上,DH參數生成的速度非常慢。 DHParametersGenerator.generateParameters()者以為罪魁禍首正在生成一個new SecureRandom() ,但我發現DHParametersGenerator.generateParameters()的運行緩慢,特別是它對java.math.BigInt.generatePrimeDefault()調用。)

此外,該詢問器還顯示了如何使用預生成的參數。 參數可以固定,並且密鑰對生成器每次仍將生成一個新的密鑰對。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM