RSA非對稱加密2048與1024對比,性能差在哪裡

RSA非對稱加密2048與1024對比,性能差在哪裡

加密

最近公司將整個項目做了安全漏洞掃描,1萬多個漏洞,簡直崩潰,其中也包括非對稱加密的問題。項目要求非對稱加密使用算法RSA,大小2048,不推薦使用1024。這兩天一直在糾結,如果使用2048,那加解密性能不是要下降一節。非對稱加密隨著密鑰變長,安全性上升的同時性能也會有所下降。所以趕緊動起手來,測試以下性能jiu'j究竟怎麼樣?

1024位加解密耗時:

RSA非對稱加密2048與1024對比,性能差在哪裡

1024位加解密耗時

2048位加解密耗時:

RSA非對稱加密2048與1024對比,性能差在哪裡

2048位加解密耗時

總結:1024位加解密耗時差不都,2048位加解密耗時相差有點大,主要是在解密耗時。不過從中可以看出2048位解密所耗時間還是可以接受。當然安全,性能也要在具體的業務場景下進行取捨。

末尾附上測試源碼:

@Test
public void testRSA(){
 try{
 // 生成密鑰對
 KeyPair keyPair = RSAUtil.getKeyPair();
 String privateKey = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded()));
 String publicKey = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded()));
 System.out.println("私鑰:" + privateKey);
 System.out.println("公鑰:" + publicKey);
 // RSA加密
 String data = "您好啊 RSA!";
 System.out.println("加密前內容:" + data);
 //開始計時
 long startTime = System.currentTimeMillis() ;
 List list = new ArrayList 
<>() ; for(int i=0; i<10000>


分享到:


相關文章: