Все говорят о схемах заполнения в шифрах, но каковы фактические строки, которые нужно передать шифру? Меня не волнует, симметричны они или асимметричны, я просто хочу список возможных значений.
Каковы строки заполнения шифра в java
Ответ 1
Существует множество типов дополнений, PKCS-7, Zero, ISO 10126, ANSI X.923 и т.д.
Я предлагаю вам читать padding, поскольку вы, похоже, не полностью понимаете концепцию.
Тогда есть возможность, что вы имеете в виду криптографический salt.
Edit
Каждая реализация платформы Java необходима для поддержки следующих стандартных шифрованных преобразований с ключами в круглых скобках:
- AES/CBC/NoPadding (128)
- AES/CBC/PKCS5Padding (128)
- AES/ECB/NoPadding (128)
- AES/ECB/PKCS5Padding (128)
- DES/CBC/NoPadding (56)
- DES/CBC/PKCS5Padding (56)
- DES/ECB/NoPadding (56)
- DES/ECB/PKCS5Padding (56)
- DESede/CBC/NoPadding (168)
- DESede/CBC/PKCS5Padding (168)
- DESede/ECB/NoPadding (168)
- DESede/ECB/PKCS5Padding (168)
- RSA/ECB/PKCS1Padding (1024, 2048)
- RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024, 2048)
- RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024, 2048)
Здесь вы можете найти список .
Изменить 2
Вы можете найти спецификацию Bouncy Castle здесь. В нем перечислены все доступные схемы заполнения.
Ответ 2
Блокирующие шифры требуют прокладки, поточные шифры - нет. Блокирующие шифры нуждаются в заполнении, потому что они шифруют целые блоки, и ваше сообщение может не соответствовать точному числу блоков. Заполнение используется для расширения длины сообщения до следующей границы блока.
Подробную информацию см. в статье Википедии о Криптографическом дополнении.
Для большинства целей используется дополнение PKCS # 7 (aka PKCS # 5): n байтов, все значение n:
01
02 02
03 03 03
...
10 10 10 10 ... 10 10