Рейтинг:3

Можно ли найти НОД двух точек на кривой?

флаг ca

Можно ли математически найти НОД двух точек на простой кривой, причем одна из них не имеет порядка, как в расширенном алгоритме Евклида?

poncho avatar
флаг my
Что будет означать «НОД двух точек на простой кривой»?
meshcollider avatar
флаг gb
Не существует такого понятия, как «деление» или «умножение» точек на кривой, поэтому не может быть и «наибольшего общего делителя».
Рейтинг:3
флаг ng

TLDR: если мы специализируемся на точке генератора $G$ группы эллиптических кривых простого порядка, мы можем последовательно определять НОД двух точек для этого генератора. Но мы не можем эффективно найти это для произвольных точек и группы криптографических интересов, где проблема дискретного логарифма сложна.


Прежде чем найти что-то, мы должны знать, что это такое. Отсюда подвопрос пончо:

Что будет означать «НОД двух точек на простой кривой»?

НОД означает наибольший общий делитель. Таким образом, нам нужно определить три понятия

  • Что такое «основная кривая». В этом, изгиб означает Эллиптическая кривая. И основной является свойством либо
    • база конечное полепорядок (этот простой порядок часто отмечается $р$, а затем поле представляет собой просто целые числа по модулю $р$);
    • порядок кривой, то есть количество элементов в конечная группа точек кривой, включая нейтральную;
    • или приказ а подгруппа кривой (тогда часто $n$, как мы это сделаем).
  • Понятие «делитель» точки простой эллиптической кривой, которую мы будем считать точкой эллиптической кривой с некоторым свойством, которое необходимо определить.
  • Понятие «наибольшей» среди точек эллиптической кривой.

Мы можем определить такие вещи последовательно! Мы утверждаем, что «простая кривая» — это некоторая подгруппа простого порядка $n$ эллиптической кривой (возможно, всей кривой, которая может использовать простое поле; например. secp256k1, секп256р1), и $G$ заданная точка кривой / элемент группы, отличный от нейтрального. Теперь набор из $n$ целые числа в $[0,n)$ изоморфна кривой в силу тривиального изоморфизма $i\mapsto i\,G$ определяется как обычно: $0\,G$ группа нейтральна, $i\,G$ является $((i-1)\,G)+G$ для любой $i\in[1,n)$ с $+$ закон группы.

Мы можем определить «делитель» и «наибольший» на множестве $[0,n)$. И мы можем определить НОД двух элементов этого множества (вместе с несколько произвольным $\НОД(0,0)=0$ ). Затем мы можем использовать этот изоморфизм для определения наибольшего общего делителя двух точек группы эллиптических кривых простого порядка, снабженной образующей точкой $G$.

Другими словами, я определяю НОД точек $P$ и $Q$ как точка, совпадающая с закрытым ключом (для генератора $G$) — это НОД закрытых ключей, совпадающих $P$ и $Q$, с соответствующий закрытый ключ целое число в $[0,n)$.

Если мы сможем эффективно решить задачу дискретного логарифмирования в рассматриваемой группе, то мы сможем эффективно вычислить НОД (мы решим два ДЛП, вычислим НОД целых чисел и вернемся к кривой).

Обновление: в некоторой степени верно обратное. Если мы можем эффективно вычислить НОД Любые две точки $P$ и $Q$, то мы можем использовать этот алгоритм для эффективного вычисления дискретного логарифма. $я$ любой $P$. Скетч: выбираем первые простые числа $r_j$ до тех пор $n<\prod r_j$, и для каждого $j$ мы нашли $i\bmod r_j$ запросив НОД $(P+k\,G,r_j\,G)$ что либо $G$ или же $r_j\,G$, в последнем случае показывая, что $i+k\equiv0\pmod{r_j}$. Затем мы находим $я$ по китайской теореме об остатках. Возможна оптимизация для группировки значительного количества запросов в один. Например. подчиняется $(P+k\,G,30\,G)$ и проверяет, является ли результат $G$, $2\,G$, $3\,G$, $5\,G$, $6\,G$, $10\,G$, $15\,G$ или же $30\,G$. Дальнейшие сокращения возможны путем вычисления дискретного логарифма выходных данных оракула с использованием вариантов Baby-Step/Giant-Step.

Я не знаю никакого применения, ни в криптографии, ни где-либо еще.

meshcollider avatar
флаг gb
То есть вы интерпретируете это как НОД «секретных ключей»?
fgrieu avatar
флаг ng
@meshcollider: по сути да, и я украл вашу формулировку в редакции ответа с таким перефразированием, что НОД баллов - это балл.
poncho avatar
флаг my
Две вещи: 1) такое определение «НОД двух точек» будет зависеть от того, что такое $G$» (если мы выберем другой $G$, НОД двух точек будет другим) 2) учитывая функцию, которая вычисляет GCD, как указано, можно эффективно вычислить DLog (следовательно, это не проще, чем проблема DLog)
fgrieu avatar
флаг ng
@poncho: 1) да, и я позаботился указать это как «обеспеченный генераторной точкой $G$» (предварительный перевод _muni d'un générateur_, который имел бы желаемое значение на французском языке, но я не знаю, понятно ли это на английском). 2) Спасибо, сначала не знал. Я обновил ответ доказательством, но оно не является строгим: оно требует, чтобы мы могли эффективно вычислить НОД любых двух точек $P$ и $Q$. Интересно, можно ли это улучшить и как.
Рейтинг:2
флаг lu

Короткая версия заключается в том, что вы не можете определить НОД точек, поскольку для этого потребуется сначала определить явное понятие сравнения их упорядоченной последовательности, т.е. способ проверить на $[k]P > [j]P , k>j$ и $P \in E$, куда $Е$ это набор точек, определяемый вашей эллиптической кривой и соответствующим генератором $P$.

Такое сравнение порядка относится к понятию расстояния между $[к]П$ и $[j]P$ внутри заданного пространства. О расстояниях в конечном поле с p элементами $F_p$ куда $Е$ определяется, к сожалению, мы никак не можем сравнить расстояние в $F_p$.

Как заявил Сильверман, существует хороший способ определить расстояние между элементами в $Z_p$ и $Q_p$, но нет хорошего способа определить расстояние между элементами $F_p$, ни для точек на эллиптических кривых, координаты которых находятся в $F_p$.

Есть естественная карта. $E(Q_p) в E(F_p)$ но, к сожалению, на самом деле нет хорошей обратной карты. Сильверман обсуждает это в следующей статье в контексте попытки поднять, а затем использовать подъем для решения ECDLP.

Дискретные логарифмы подъема и эллиптических кривых, Избранные области криптографии (SAC 2008), Конспект лекций по информатике 5381, Springer--Verlag, Берлин, 2009, 82-102.

kodlu avatar
флаг sa
ваш ответ противоречит другому ответу? Прокомментируйте, пожалуйста
G. Stergiopoulos avatar
флаг lu
Две вещи. Во-первых, я даю четкий ответ на первоначальный вопрос о том, почему вы не можете создать правильный алгоритм для НОД, объясняя, почему/как вы не можете перенести алгоритм Евклида в группу эллиптических кривых над конечным полем из-за отсутствия правильного определения расстояния. Я считаю, что это не дается первым ответом, который подробно описывает, каким может быть алгоритм, но на самом деле не дает ответа, действительно ли это может произойти или нет. [продолжение]
G. Stergiopoulos avatar
флаг lu
[продолжение] Во-вторых, я утверждаю, что вы не можете _определить_ НОД двух точек, как указано в предыдущем ответе, поскольку определение должно быть строго точным на основе определенных наборов/законов, которые я излагаю здесь: то есть, поскольку сравнение расстояния или упорядоченного элемента не может быть определена, то предыдущий ответ является не определением, а теорией (хотя и вдумчивой).
kodlu avatar
флаг sa
спасибо за развернутые комментарии
poncho avatar
флаг my
Кроме того, если у нас есть способ, учитывая $[j]G$, $[k]G$, определить, является ли $j > k$, мы можем использовать его для эффективного вычисления дискретных журналов (используя бинарный поиск) — следовательно, мы надеюсь, что это сложная проблема.
G. Stergiopoulos avatar
флаг lu
Правильно @пончо. Но я почти уверен, как я объяснил в своем ответе, что (по крайней мере, эта проблема) определенно не разрешима с использованием известных преобразований.
fgrieu avatar
флаг ng
Я согласен, что мы не можем определить расстояние или делитель, следовательно, НОД, на эллиптической кривой _alone_. Но мы можем, если добавим образующую точку $G$ (подразумевая, что это кривая простого порядка). Расстоянием между $P$ и $Q$ на кривой является наименьшее целое число $d\in[0,\lfloor n/2\rfloor)$ такое, что $P=Q+d\,G$ или $Q=P +d\,G$. $P$ делит $Q$ с $P/Q=R$, если существует $u,v,w\in[0,n)$ с $P=u\,G$, $Q=v\,G$, $R=w\,G$, $v\ne0$ и $u=v\,w$.
G. Stergiopoulos avatar
флаг lu
Мы не можем определить расстояние, даже используя генератор в качестве точки отсчета. Позволь мне объяснить. То, что вы описываете, представляет собой понятие расстояния в множителях _scalar_, которое не совпадает с расстоянием между двумя точками. НОД точек на кривой требует понятия сравнения на плоскости. По сути, сравнение скаляра — это своего рода преобразование. Но, как я объясняю в своем ответе, по крайней мере, до тех пор, пока не известно, измерения расстояний в комплексных или целочисленных плоскостях в конечных полях невозможны, и это настоящая причина, по которой ваше скалярное сравнение не может определить НОД на кривых.
fgrieu avatar
флаг ng
Я не вижу ничего плохого в определении, которое я даю в своем ответе или в моем предыдущем (расширенном) комментарии. [обновлено]: я согласен, что это _не_ НОД на кривой, а НОД на кривой, полученной с помощью определенного генератора. Я согласен, что нет эффективного способа вычислить этот НОД, в отличие от обычного НОД, если только DLP не является простым для рассматриваемой группы. И я согласен, что не вижу применения этому понятию.
G. Stergiopoulos avatar
флаг lu
Дело не в том, что ваш ответ неверен, ваш алгоритмический подход в теории верен. Я отвечаю на вопрос *почему* вы не можете найти способ использовать свой подход для фактического создания работающего НОД, основную математическую причину из-за ограничений геометрии и то, что сделал эксперт в этой области (Сильверман) в поисках этого ответа.По сути, мой математический аргумент — это то, что Сильверман сказал о расстоянии. Мой второй аргумент заключается в том, что ваш ответ является теоретическим алгоритмом, а не определением GCD, как объяснялось в предыдущем комментарии.

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

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