2010-11-01 6 views
1

Je me demande comment je devrais aborder un devoir.Cryptage du trafic réseau avec Java et RSA

Je dois développer un serveur et un client simple en Java, ce que j'ai fait. Ensuite, je dois crypter le trafic entre ce serveur et client en utilisant RSA avec les clés suivantes.

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

Est-ce que Java a une fonctionnalité intégrée qui me permettra de le faire facilement?

Merci!

+0

Cela dépend de ce que l'assigment vous demande de faire maintenant, n'est-ce pas? Pouvez-vous poster un lien sur l'affectation? –

+0

Il me semble que vous devez implémenter l'algorithme RSA. –

+0

Voilà ce dont j'avais peur. J'espérais que quelqu'un pourrait savoir d'un moyen de contourner cela :) –

Répondre

2

Oui, Java a built-in support for RSA qui vous permettra de le faire facilement.

Il prend également en charge les entiers de précision arbitraire, including a modPow operation, ce qui facilite l'implémentation du chiffrement RSA. Honnêtement, il est probablement plus facile d'implémenter RSA avec BigInteger que d'en apprendre assez sur l'architecture de cryptographie Java pour utiliser l'implémentation RSA intégrée.

0

Vous devriez pouvoir utiliser l'extension Java Cryptographic fournie avec Java. Pour transformer les nombres donnés en clé RSA, les convertir en BigInteger et les "alimenter" en RSAPrivateKeySpec ou en "". RSAPublicKeySpec. En utilisant un KeyFactory, vous pouvez ensuite faire le * Spec à des clés publiques et privées régulières qui peuvent être utilisées avec toutes les fonctions cryptographiques dans Java.