我想知道如何处理家庭作业。
我必须用Java开发一个简单的服务器和客户端,我已经完成了。接下来,我必须使用带有以下给定密钥的RSA加密此服务器和客户端之间的流量。
Client Public Key: (5, 10142789312725007)
Client Private Key: (8114231289041741, 10142789312725007)
Server Public Key: (5, 10142701089716483)
Server Private Key: (6085620532976717, 10142701089716483)
Java是否具有允许我轻松完成此操作的内置功能?
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:2)
是的,Java有built-in support for RSA可以让你轻松完成。
它还支持任意精度整数including a modPow
operation,使您可以自己轻松实现RSA加密。
老实说,简单地使用BigInteger
实现RSA可能比学习Java Cryptography Architecture以使用内置RSA实现更容易。
答案 2 :(得分:0)
您应该能够使用Java附带的Java Cryptographic Extension。
为了使给定的数字,RSA密钥将它们转换为BigInteger并将它们“馈送”为RSAPrivateKeySpec分配。 RSAPublicKeySpec。 使用KeyFactory,您可以将* Spec设置为可以与Java中的所有加密函数一起使用的常规公钥和私钥。