Вопрос по java, jce, padding – Какие строки заполнения шифра в Java

27

Все говорят о схемах заполнения в шифрах, но какие именно строки нужно передать в шифр? Мне все равно, симметричны они или асимметричны, я просто хочу список возможных значений.

Это будет бесконечный список. bmargulies
@bmargulies Как это?what are the actual strings явно в вопросе! Roy Hinkley
На первый взгляд, вопрос заключается в том, чтобы запрашивать фактические байты для заполнения, а не идентификаторы алгоритмов. bmargulies
Вы говорите о солях, верно? Обычно они уникальны и, вероятно, генерируются случайным образом. Clockwork-Muse
Нет, не говоря о солях. Я хочу список возможных заполнений, таких как: NOPADDING, ANSIX923Padding, PKCS5Padding, PKCS7Padding, ISO10126Padding и т. Д. Почему нет списка, включающего? Roy Hinkley

Ваш Ответ

2   ответа
46

PKCS-7, Zero, ISO 10126, ANSI X.923 и т. Д.
Я предлагаю вам прочитать нанабивка так как вы, кажется, не до конца понимаете концепцию.

Тогда существует вероятность, что вы имеете в виду криптографическийповаренная соль.

Edit
Каждая реализация платформы Java должна поддерживать следующие стандартные преобразования Cipher с размерами ключей в скобках:

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)

Вы можете найти списокВот.

Edit 2
Вы можете найти спецификацию Bouncy CastleВот, В нем перечислены все доступные схемы заполнения.

Хорошо. Теперь я понимаю ваш вопрос. Смотрите отредактированный ответ.
Похоже, вы не в полной мере понимаете эту концепцию, поскольку вы запрашиваете «правильный список строк». & Quot; список & quot; будет отличаться для каждого типа заполнения. Для заполнения нулями это довольно просто: 0, 00, 000, 0000, 0000 и т. Д. Вам необходимо ознакомиться с различными типами заполнения.
Я понимаю концепцию и что есть много типов. То, что мне трудно найти, это допустимые строки для использования в данной ситуации. Я тоже понимаю, что такое соль тоже! Ваш ответ был бы полезен, если бы он содержал ссылку на действительный список строк. Roy Hinkley
Пожалуйста, объясните мне, почему я передаю алгоритм, режим и заполнение в виде строки провайдеру, чтобы получить экземпляр шифра? Т.е.: "AES / CTR / PKCS5Padding" Roy Hinkley
Спасибо, у меня есть все алгоритмы и режимы, мне просто нужен полный список схем заполнения. Этот список является базовой реализацией для всех платформ Java, очевидно, есть и другие. В частности, я использую Bouncycastle для взаимодействия со стеком Microsoft. Не могли бы вы указать мне в направлении их схемы заполнения? Их документация не перечисляет возможные строки, которые они принимают, по крайней мере, я не смог найти. Roy Hinkley
10

потоковые шифры не нужны. , потому что они шифруют целые блоки, и ваше сообщение может не точно соответствовать целому числу блоков. Заполнение используется для расширения длины сообщения до границы следующего блока.

Смотрите статью в Википедии наКриптографическая прокладка для многих деталей.

Для большинства целей используется заполнение PKCS # 7 (иначе PKCS # 5): n байтов, все значения n:

01
02 02
03 03 03
...
10 10 10 10 ... 10 10
Ясно и точно.

Похожие вопросы