Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > padding как параметр при шифрировании


Автор: integral 21.3.2008, 18:18
как известно в Cipher.getInstance("DES/ECB/PKCS5Padding"); выражение "DES/ECB/PKCS5Padding" есть частным случаем "algorithm/mode/padding" (ну это я в доке прочитал) Вот только мне не понятно, что такое mode и padding?
Всем спасибо за ответы)

Автор: Alexandr87 22.3.2008, 06:28
mode - различные режимы работы блочных шифров.
padding - правила дополнения последнего не полного блока. При некоторых режимах работы (ECB, CBC) требуется чтобы длина шифруемого сообщения была кратна размеру блока для данного блочного шифра.

Здесь более подробно.
http://en.wikipedia.org/wiki/Cipher_block_chaining

Автор: integral 24.3.2008, 12:10
спасибо, щас почитаю
а какие значиния mode и padding по умолчанию?
Проблема странная: пишу Cipher.getInstance("AES");  ну и дальше работаю, при этом на большинстве конфигураций все ок, а у некоторых клиентов иксепшин - javax.crypto.IllegalBlockSizeException: Input data length not a multiple of blocksize.

Кто-то нает, в чем может быть дело? подскажите плиз!

Автор: Alexandr87 25.3.2008, 16:57
Цитата(integral @  24.3.2008,  15:10 Найти цитируемый пост)
а какие значиния mode и padding по умолчанию?

не знаю, думаю, либо CFB, либо OFB. Можно перебором определить.


Цитата(integral @  24.3.2008,  15:10 Найти цитируемый пост)
Проблема странная: пишу Cipher.getInstance("AES");  ну и дальше работаю, при этом на большинстве конфигураций все ок, а у некоторых клиентов иксепшин - javax.crypto.IllegalBlockSizeException: Input data length not a multiple of blocksize.

Есть какие-то экспортные ограничения на криптографию. Некоторые режимы отключены, сокращены длины ключей. Рекомендую покопать в эту сторону, может что найдете.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)