Эллиптическая хеш-функция

Материал из testwiki
Версия от 16:05, 4 марта 2025; imported>Sldst-bot ш:Изолированная статья добавлена дата установки: 2019-12-12)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Алгоритм эллиптической хеш-функции(ECOH) был представлен в качестве кандидата на SHA-3 в конкурсе хеш-функций NIST. Однако он был отклонен в начале конкурса, так как была обнаружена вторая предварительная атака.

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

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

ECOH является хорошим примером хеш-функции, которая основана на математических функциях (с доказуемым подходом к безопасности), а не на перемешивании и арифметических операциях над битами для получения хеша.

Алгоритм

Дано n, ECOH-m делит сообщение M на n блоков M0...Mn1 длиной blen. Если последний блок неполный, он выравнивается одной единицей и затем подходящим числом нулей. Oi вычисляется для каждого блока с помощью конкатенации блока и Ii ilen-битного представлением индекса сообщения i. xi вычисляется с помощью двух концентраций и XOR с битовой строкой Ci, представляющей битовое представление наименьшего неотрицательного числа длиной clen, представляющего x координату точки эллиптической кривой. Затем каждой xi ставится в соответствие точка эллиптической кривой Pi с координатой xi. Каждый блок преобразуется в точку эллиптической кривой Pi и эти точки складываются.

Oi=MiIi

xi:=(0m(blen+ilen+clen)Oi064)Ci

Pi:=P(xi,yi)

Q:=i=0n1Pi

R:=f(Q)

Q складывает все точки эллиптической кривой. Наконец, результат передается через выходную функцию преобразования f=x(Q+x(Q)/2G)/2 mod 2N, где N выходной размер функции, а G фиксированная для кривой точка-генератор, чтобы получить результат R. подробнее об этом алгоритме см. В разделе «ECOH: Эллиптическая хеш функция».

Примеры

Было предложено четыре алгоритма ECOH, ECOH-224, ECOH-256, ECOH-384 и ECOH-512. Это число соответствует выходному размеру. Они отличаются по длине параметров, размеру блока и используемой эллиптической кривой. Первые два используют эллиптическую кривую B-283: X283+X12+X7+X5+1, с параметрами (128, 64, 64). ECOH-384 использует кривую B-409: X409+X7+1, с параметрами (192, 64, 64). ECOH-512 использует кривую B-571: X571+X10+X5+X2+1, с параметрами (256, 128, 128). Он может хешировать сообщения длиной до 2128 бит.

Свойства

  • Инкрементальность: ECOH сообщение может быть быстро обновлено, учитывая небольшое изменение в сообщении и промежуточное значение в вычислении ECOH.
  • Параллелезуемость: это означает, что вычисление P'is может быть выполнено на параллельных системах.
  • Скорость: Алгоритм ECOH примерно в тысячу раз медленнее, чем SHA-1. Однако, учитывая развитие настольного оборудования в сторону распараллеливания и умножения без переноса, ECOH может через несколько лет быть таким же быстрым, как SHA-1 для длинных сообщений. Для коротких сообщений ECOH является относительно медленным, если не используются расширенные таблицы.

Безопасность

Хеш-функции ECOH основаны на конкретных математических функциях. Они были разработаны таким образом, что задача нахождения коллизий должна быть сведена к известной и NP-полной задаче (задача суммы подмножеств). Это означает, что для того чтобы найти коллизию, нужно решить основную математическую задачу, которая считается и неразрешимой за полиномиальное время. Доказано, что функции с этими свойствами безопасны и совершенно уникальны среди остальных хеш-функций. Тем не менее, второй прообраз (и, следовательно, коллизия) был позже найден, потому что предположения, приведенные в доказательстве, были слишком сильными.

Суммирующий Многочлен Семаева

Одним из способов нахождения коллизий или вторых прообразов является решение многочленов суммирования Семаева. Для данной эллиптической кривой E, существует полиномы fn симметричные в n переменных и которые исчезают, когда сумма точек, оцененных на абсциссе, равна 0 в E. До сих пор эффективного алгоритма для решения этой проблемы не существует, и предполагается, что он труден (но не доказано, что он NP-полный).

Более формально: пусть F конечное поле, E эллиптическая кривая с уравнением Вейерштрасса, имеющая коэффициенты в F и O точка бесконечности. Известно, что существует полиномы от многих переменных fn(X1,,XN) тогда и только тогда, если они существуют < y1,,yn такие, что (x1,y1)++(xn,yn)=O. Этот многочлен имеет степень 2n2 по каждой переменной. Задача состоит в том, чтобы найти этот многочлен.

Обсуждение доказуемой безопасности

Задача нахождения коллизий в ECOH аналогична задаче суммирования подмножеств. Решение задачи о сумме подмножеств почти так же сложно, как задача о дискретном логарифме. Обычно предполагается, что это невозможно сделать за полиномиальное время. Однако следует учитывать, что координата x(Q) может является неслучайной, и иметь определенную структуру. Если учесть это предположение, то нахождение коллизий ECOH можно рассматривать как пример задачи о сумме подмножеств.

Вторая атака прообраза существует в форме обобщенной атаки на день рождения.

Второй прообраз атаки

Описание атаки: это общий случай атаки Дня Рождения Вагнера. Это требует 2143 времени для ECON-224 и ECON-256, 2206 времени для ECOH-384 и 2287 времени для ECOH-512. Атака устанавливает блок контрольной суммы в фиксированное значение и использует поиск коллизий в точках эллиптической кривой. Для этой атаки у нас есть сообщение M и попробуйте найти M', которое хеширует одно и то же сообщение. Сначала мы разделили длину сообщения на шесть блоков.M=(M1,M2,M3,M4,M5,M6). Пусть K-натуральное число. Мы выбираем K различных чисел для (M0,M1) и определим M2 как M2:=M0+M1.Мы вычисляем K, соответствующее точкам на эллиптических кривых P(M0,0)+P(M1,1)+P(M2,2)и храним их в списке. Затем мы выбираем K различных случайных значений для (M3,M4), определим M5:=M3+M4, вычисляем QX1X2P(M3,3)P(M4,4)P(M5,5), и храним их во втором списке. Обратите внимание, что цель Q известна. X1 зависит только от длины сообщения, которое мы зафиксировали. X2 зависит от длины и XOR всех блоков сообщений, но мы выбираем блоки сообщений таким образом, что это всегда равно нулю. Таким образом, X2 фиксировано для всех наших попыток.

Если K больше квадратного корня из числа точек на эллиптической кривой, то мы ожидаем одну коллизию между двумя списками. Это дает нам сообщение (M1,M2,M3,M4,M5,M6) с Q=i=05P(Mi,i)+X1+X2 Это означает, что это сообщение ведет к целевому значению Q и, следовательно, ко второму прообразу, о котором шла речь. Рабочая нагрузка, которую мы должны сделать здесь, — это два раза K частичных хеш-вычислений. Для получения дополнительной информации см. «A Second Pre-image Attack Against Elliptic Curve Only Hash (ECOH)».

Фактически параметры:

  • ECON-224 и ECOH-256 используют эллиптическую кривую B-283 с приблизительно 2283 точек на кривой. Мы выбираем K=2142 и получаем атаку со сложностью 2143.
  • ECOH-384 использует эллиптическую кривую B-409 с приблизительно 2409 точек на кривой. Выбрав K=2205 дает атаку со сложностью 2206.
  • ECOH-384 использует эллиптическую кривую B-409 с приблизительно 2571 точек на кривой. Выбрав K=2286 дает атаку со сложностью 2287.

ECOH2

Официальные комментарии по ECOH включали предложение под названием ECOH2, которое удваивает размер эллиптической кривой в попытке остановить вторую атаку прообраза Халкроу-Фергюсона с предсказанием улучшенной или аналогичной производительности.

Ссылки

Шаблон:Изолированная статья