Рейтинг:1

Устойчивость к коллизиям хэш-функции AES-CBC

флаг mp

Я использую AES-CBC в качестве хеш-функции, которая шифрует блок длиной n. Блоки, m = (m1, m2, ..., mn). IV имеет длину в один блок, а ключ шифрования имеет длину 128, 192 или 256 бит.

Будут ли у меня столкновения? И если да, то как я могу найти примеры?

Я ожидаю найти коллизии каждые 2 ^ (n/2) хэшей, но я не думаю, что это позволит мне найти какие-либо совпадения в следующие 10000000 лет.

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.SE. Каково происхождение этого вопроса? Почему вам нужно хэшировать с помощью PRP вместо PRF? Учтите, что сколько шифров AES-CBC ваша машина может выполнить за одну секунду, тогда вы можете определить необходимое время на одной машине, не создавая хеш-таблицу для эффективного обнаружения коллизий.
kelalaka avatar
флаг in
Интересно, а если зашифровать только один блок, что получится?
флаг mp
С AES хэш будет зашифрованным текстом последнего блока сообщения.Будет ли это зависеть от нахождения хеша каждые 2^(n/2) или каждые 2^(128|192|256)/2??
kelalaka avatar
флаг in
Блочный шифр — это семейство перестановок, где ключ выбирает одну из перестановок. Это реальный эффект секретного ключа!. Итак, у вас есть фиксированная перестановка.
флаг mp
Ах, я вижу, поскольку AES является инъективной функцией, я полагаю, что не будет никаких столкновений, но этот слайд, который я нашел, указывает на обратное. Какова ваша интерпретация? Страница 73. http://ce.sharif.edu/~b_momeni/ce441/15-crypto-sym.pdf
kelalaka avatar
флаг in
Если вы зашифруете один блок, коллизии не будет, однако после одного блока она будет.
флаг mp
Коллизии возникают между последними блоками зашифрованного текста в двух сообщениях с открытым текстом. я не уверен, что следую
флаг mp
Ты в много :) +20 социальных кредитов
Рейтинг:2
флаг my

Я использую AES-CBC в качестве хеш-функции, которая шифрует блок длиной n. Блоки, m = (m1, m2, ..., mn). IV имеет длину в один блок, а ключ шифрования имеет длину 128, 192 или 256 бит.

Вопросы:

  • В чем ключ? Это фиксируется заранее, или это что-то секретное? Кстати: если это «что-то секретное», у вас нет стандартной хеш-функции (где все описание общедоступно; у вас может быть MAC, но см. Ниже).

  • Что такое хеш-выход? Это все зашифрованное сообщение или только последний блок?

Вот возможности:

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

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

  • Если ключ неизвестен, а хэш является последним блоком, это на самом деле конструкция, известная как CBC-MAC. Для сообщений фиксированной длины это достойный код аутентификации сообщения, однако, если злоумышленник может изменять длину сообщения, он может столкнуться с подделками и коллизиями.

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

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