Я пытаюсь реализовать некоторое шифрование в своем приложении Java. шифрования должен работать следующим образом:Максимальная длина сообщения RSA с конкретным дополнением
- Генерация случайных п бит AES ключ
- Шифрование ключ AES с использованием RSA с открытым ключом
- Отправить зашифрованный ключ AES на сервере
- Шифрование данных с помощью ключа AES + отправить сервер
У меня возникли проблемы с решением, какой алгоритм заполнения использовать. Я читал OAEPWithSHA-1AndMGF1Padding
- хороший выбор, но какова максимальная длина сообщения, которую я могу зашифровать с этим?
Мне нужно знать точные максимальные байты, которые мой ключ AES может быть зашифрован с помощью RSA с помощью OAEPWithSHA-1AndMGF1Padding
.
Длина ключа RSA также имеет значение. Я, вероятно, поеду на 2048 бит.
TL; DR: Сколько байтов можно зашифровать с помощью ключа RSA 2048 бит с OAEPWithSHA-1AndMGF1Padding
?
AES также поддерживает размеры клавиш 128 и 192 бит. – zaph
Итак, OAEP с SHA1 и MGF1 занимает 42 байта? Если бы я использовал OAEP с SHA256 и MGF1, не использует ли больше байтов? – kwantuM
Есть ли какой-нибудь документ для проверки байтов, используемых этими алгоритмами? Или, может быть, формула? – kwantuM