Рейтинг:0

В чем разница между «заполнением» и «контрольной суммой» в криптографии?

флаг nl

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

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

Рейтинг:1
флаг in

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

Это сжатое предложение;

  1. Режимы блочного шифрования, такие как CBC и ECB, требуют заполнения, чтобы можно было правильно зашифровать блоки сообщений - не все сообщения кратны размеру блока шифра. Обычное заполнение — PKCS#7, применяется в конце. В последнее время в моде такие режимы, как CTR, которые не требуют отступов. Это удалило один вектор атаки; атака оракула заполнения.

  2. Шифрование с открытым ключом RSA требует заполнения для защиты от атак, в этом случае данные имеют префикс некоторых фиксированных и случайных символов.

    • ОАЭП: $\text{T=lhash||PS||01||Сообщение}$
    • ПККС#1.v5: $\text{EM = 0x00 || 0x02 || ПС || 0x00 || Сообщение}$
  3. Во время хеширования, если нам нужно объединение двух строк, мы не объединяем две строки путем чистой конкатенации строк, а добавляем специальные разделители, чтобы предотвратить простое столкновение;

    $$Hash(\texttt{abcd||efgh}) = Hash(\texttt{abc||defgh})$$ куда $s_1 = abcd, s_2 = efgh, s_3 = abc, s_4 = defgh$ это 4 разные строки, но их конкатенация создает одно и то же значение хеш-функции. Чтобы смягчить ситуацию, мы применяем некоторые отступы в середине с некоторыми специальными значениями для домена; $$Hash(\texttt{abcd||<sperator>||efgh}) \neq Hash(\texttt{abc||<sperator>||defgh})$$ изменение коллизии незначительно для хорошего криптографического хэша.

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

Это связано с тем, что мы не хотим давать злоумышленнику известный открытый текст, против которого были небезопасны почти все классические алгоритмы.

Рассмотрим шифр Хилла размера $n$ и если последний блок содержит только один символ из сообщения и если вы заполняете оставшиеся фиксированным известным значением, то вы дали злоумышленнику свой ключ. Им просто нужно решить систему уравнений 26 раз, чтобы получить ключ шифрования.

Как видите, заполнение больше связано с безопасностью и функциональностью.

Похоже, контрольная сумма служит тем же способом, который добавляется в сообщение, и верификатор проверяет по сумме и по модулю предварительно согласованный делитель.

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

Имейте в виду, что хотя заполнение может указывать на ошибки, как заполнение PKCS#7, это не означает, что целью является целостность (или контрольная сумма), и что интересно, эта ошибка используется для атак оракула заполнения для расшифровки сообщений на серверах, которые возвращают Ошибка.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.