Шифрование сетевого трафика с помощью Java и RSA - PullRequest
1 голос
/ 01 ноября 2010

Мне интересно, как мне подойти к домашнему заданию.

Я должен разработать простой сервер и клиент на Java, что я и сделал. Затем я должен зашифровать трафик между этим сервером и клиентом, используя RSA со следующими заданными ключами.

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

Имеет ли Java встроенную функциональность, которая позволит мне легко это сделать?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 01 ноября 2010

Да, в Java есть встроенная поддержка RSA , которая позволит вам легко это сделать.

Он также поддерживает целые числа произвольной точности, , включая modPow операцию , которая позволяет вам довольно легко реализовать шифрование RSA самостоятельно.

Честно говоря, просто внедрить RSA с использованием BigInteger, вероятно, проще, чем достаточно узнать об архитектуре криптографии Java, чтобы использовать встроенную реализацию RSA.

2 голосов
/ 01 ноября 2010

Вот несколько ссылок, которые могут помочь:

Java-реализация RSA

Класс Java - реализация RSA

Создать N-битный публичный и приватный Ключ RSA и использовать для шифрования и дешифрования случайное сообщение.

Использование шифрования RSA с Java - учебное пособие

0 голосов
/ 02 декабря 2010

Вы должны быть в состоянии использовать Java Cryptographic Extension, который поставляется с Java.

Для создания заданных чисел ключ RSA преобразует их в BigInteger и «подает» их в RSAPrivateKeySpec соотв. RSAPublicKeySpec .Используя KeyFactory , вы можете сделать * Spec обычным открытым и закрытым ключами, которые можно использовать со всеми криптографическими функциями в Java.

...