#java #rsa
#java #rsa
Вопрос:
Я использую KeyPairGenerator
для генерации пары ключей RSA. Теперь моему другому приложению необходимо, чтобы длина экспоненты составляла 4 байта. Есть ли способ установить ее так, KeyPairGenerator
чтобы использовать показатель в 4 байта вместо os 3 байта?
Комментарии:
1. заполнение нулями, я полагаю, не вариант?
2. Что ж, я нашел место, где говорится об этом Pad в начальных октетах. но я понятия не имею, как это сделать..
3. Почему именно вашему другому приложению требуется, чтобы показатель сохранялся в виде 4 байт? Вам действительно нужно знать, в каком формате ожидается вывод. Обычно ключи RSA представлены в Java в виде
BigInteger
значений. Ваше другое приложение Java или что-то еще?4. Другим приложением является приложение javacard
5. Вы, должно быть, ошибаетесь, потому что почти каждый используемый общедоступный показатель RSA равен 65537, 3-байтовому значению.
Ответ №1:
java.security.KeyPairGenerator
может быть инициализирован экземпляром java.security.spec.AlgorithmParameterSpec
, в котором вы можете установить общедоступный показатель для использования. Просто выберите «показатель в 4 байта» (что бы это ни значило). RSA требует, чтобы общедоступный показатель был нечетным положительным целым числом (не 1); предпочтительны простые значения (но не обязательны).