Рейтинг:3

Создание более сильного криптографического хэша с учетом криптографического хэша

флаг cn

Мне нужна криптографическая хеш-функция, которая, надеюсь, будет надежной даже через 50 лет. Производительность не проблема. Расчет и проверка могут занять огромное количество времени, если это необходимо. Размер хеша тоже может быть огромным (скажем, до 10 МБ). Столкновения не представляют большой угрозы.В основном я хочу, чтобы он был устойчивым ко второму прообразу.

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

Моя первая мысль была:

$h'(x) := h(a_1 \parallel x) \parallel h(a_2 \parallel x) \parallel h(a_3 \parallel x) \parallel \dots$

куда $a_n$ известные префиксы. Но я не знаю, насколько это хорошо. Если $ч$ это md4, насколько сложно найти второй прообраз для $ч'$?

Другие идеи?

kelalaka avatar
флаг in
если столкновение не представляет угрозы, используйте 512-битную хеш-функцию. Это защитит вас от классических и квантовых атак. Вам должно хватить SHA-512, SHA3-512.
Maarten Bodewes avatar
флаг in
Если обнаружена какая-либо атака, значение имеет не размер вывода; ломается хэш-функция. Создание хэша, например.SHA-512 и SHA-3-512 имели бы больше смысла, поскольку они используют довольно разные методы; маловероятно, что они сломаются одновременно. Ранние протоколы TLS объединяли хэши MD5 и SHA-1 в формате подписи, если я правильно помню.
Maarten Bodewes avatar
флаг in
Пожалуйста, проверьте, на сколько уже дан ответ [в этом ответе] (https://crypto.stackexchange.com/q/270/1172). Я бы уже закрыл его как дубликат *если бы вы не исключили коллизии*.
флаг cn
@MaartenBodewes Спасибо. Хотя у него совсем другая направленность, чем у меня. Автора больше всего волнует «исходный прообраз».
флаг cn
@MaartenBodewes Что касается «не размер вывода имеет значение». Я не думал, что это так. Мне просто труднее найти этот прообраз. потому что вам нужно найти один `x`, поэтому `h(a1 || x) == output1` AND `h(a2 || x) == output2`
Paul Uszak avatar
флаг cn
Просто на скорую руку: зачем вам криптографическая хэш-функция, которая, как мы надеемся, будет надежной даже через 50 лет?
флаг ph
Вы ограничиваете себя созданием одной существующей хеш-функции? Одним из очевидных подходов было бы просто объединить вывод нескольких разных.
Рейтинг:3
флаг my

Как упоминалось в комментариях, вполне вероятно, что существующего 512-битного хэша будет достаточно.

Однако, если вы действительно параноик (и хотите защитить себя от потенциальных криптографических прорывов), очевидно, что вам следует полагаться на несколько криптографически различных хэш-функций, объединенных вместе. Например:

$$H(x) = SHA2\text{-} 512(x) | SHA3\текст{-}512(х) | Водоворот(х)$$

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

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

Эээ, 50 лет?

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

Концепция полной безопасности, ориентированной на будущее, действительно существует. Одноразовые блокноты и обмен секретами являются информационными безопасными, то есть на все времена. Вот почему мы до сих пор используем одноразовые блокноты для дипломатических сообщений. Рассмотрим этот многочлен хэш тогда. Но, учитывая предыдущую ссылку, как нам убедить кого-либо, что метрика безопасности $2^{-32}$ или даже $2^{512}$ не может быть преодолен. Я не сказал грубая сила, я сказал преодоление. Повторная линеаризация, метод Алгоморова, параллельные квантовые вычисления, математические достижения и огнеметы демонстрируют, что мы не можем заглянуть в будущее дальше, чем на несколько лет. Кашель, кашель, мне очень жарко...

Помните:-

«Я думаю, что существует мировой рынок примерно для пяти компьютеров».

-- Томас Дж. Уотсон, президент IBM.

флаг cn
Я понимаю, конечно. Тем не менее, я хотел бы иметь какое-то решение из лучших усилий. Если сломается, то сломается. Моя жизнь не зависит от этого. Но, как я и просил, я хотел бы понять, как я могу сделать более сильный хэш, учитывая мои ограничения, существующие хэши и гибкость (время расчета и проверки, а также объем памяти могут быть огромными).

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

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