2010-11-01 35 views
1

我想知道我應該如何處理作業。使用Java和RSA加密網絡流量

我必須在Java中開發一個簡單的服務器和客戶端,我已經完成了。接下來,我必須通過使用以下給定密鑰的RSA來加密此服務器和客戶端之間的流量。

Client Public Key: (5, 10142789312725007) 
Client Private Key: (8114231289041741, 10142789312725007) 
Server Public Key: (5, 10142701089716483) 
Server Private Key: (6085620532976717, 10142701089716483) 

Java是否有內置的功能,可以讓我輕鬆做到這一點?

謝謝!

+0

這取決於assigment要求你現在做什麼,不是嗎?你能發佈一個鏈接到作業嗎? – 2010-11-01 18:35:13

+0

這聽起來像你需要實現RSA算法。 – 2010-11-01 18:37:57

+0

這就是我所害怕的。我希望有人可能知道一個方法:) – 2010-11-01 18:40:51

回答

2

是,Java有built-in support for RSA,將讓你輕鬆做到這一點。

它還支持任意精度整數,including a modPow operation,使您可以很容易地自己實現RSA加密。

說實話,簡單地使用BigInteger實現RSA比學習足夠的關於Java密碼體系結構使用內置的RSA實現更容易。

0

您應該能夠使用Java附帶的Java加密擴展。

爲了使給定數的RSA密鑰並將其轉換爲BigInteger和「養活」他們入RSAPrivateKeySpec RESP。 RSAPublicKeySpec。 使用KeyFactory然後,您可以將* Spec設置爲常規公鑰和私鑰,這些公鑰和私鑰可用於Java中的所有加密函數。