Этот вопрос не дублирует максимальное количество байтов для шифрования RSA, по сравнению с AES с точки зрения безопасности?, и это является связано с программированием.
Когда я использую шифр AES для шифрования 17-байтовых данных, данные будут рассматриваться как ( 16 + 1) байт, cipher.getBlockSize() возвращает 16, а cipher.getOutputSize(data.length) возвращает 32(16 -> 16, 1 -> 16).
Однако, когда я использую шифр RSA из Cipher.getInstance("RSA") для шифрования 246-байтовых данных, тот данные не рассматриваются как (245 + 1) байт, cipher.getBlockSize() возвращает 0(не 245), а cipher.getOutputSize(data.length ) возвращает 256(не 512: 245 -> 256, 1 -> 256).
Шифрование AES поддерживает шифрование. 17-bytes-data и не говорит: Данные не должны быть длиннее 16 байт, но RSA Cipher выдает: Данные не должны быть длиннее 245 байт.
Я разрабатываю утилиту для реализации функций шифрования. Как узнать, какой шифр может зашифровать данные, превышающие размер блока, за один вызов, а какие требуют ручной сегментации и нескольких вызовов шифра (особенно, когда getBlockSize() возвращает 0)?
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-with-rsa
Почему шифр в Java может шифровать данные любой длины с помощью AES, но не с помощью RSA? [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему шифр в Java может шифровать данные любой длины с помощью AES, но не с помощью RSA?
Anonymous » » в форуме JAVA - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение ошибки в шифровании при попытке подписать и шифровать сообщение с RSA
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-