Рейтинг:1

Алгоритм Шора и ECDSA в биткойнах — почему все еще сложно найти закрытый ключ, когда мы знаем базовую точку?

флаг br
aac

Я изучаю алгоритм Шора и то, как его можно применить для взлома ECDSA. Я явно упустил здесь что-то основное - я думал, что понял, что задача, представленная ECDSA, заключалась в том, чтобы найти закрытый ключ с учетом открытого ключа следующим образом:

$x\cdot P = X$ (куда $х$ это большой и случайно сгенерированный закрытый ключ, $P$ — базовая точка secp256k1, а $Х$ является открытым ключом).

Since we know the base point for secp256k1, given in xy-coords as (55066263022277343669578718895168534326250603453777594175500187360389116729240, 32670510020758816978083085130507043184471273380659243275938904335757337482424), why is this still a difficult problem that only Shor's algorithm could solve and not simply a division problem?

флаг cn
"деление" - это просто имя/обозначение, а не алгоритм. В некотором смысле это «просто» проблема деления.
aac avatar
флаг br
aac
Я понимаю, о чем вы говорите, но я имею в виду, почему тогда мы не можем просто разделить открытый ключ на базовую точку, чтобы получить закрытый ключ? Я знаю, что это явно не так просто, так что же я упустил?
kelalaka avatar
флаг in
Это [проблема дискретного логарифма] (https://crypto.stackexchange.com/q/76230/18298) на эллиптических кривых.
kelalaka avatar
флаг in
И [скалярное умножение](https://crypto.stackexchange.com/a/68595/18298), что вы путаете его с умножением. Нет, это не так!
aac avatar
флаг br
aac
@kelalaka а, значит, удвоение точки - это не то же самое, что умножение x и P?
kelalaka avatar
флаг in
удвоение это просто $[2]P = P+P$
poncho avatar
флаг my
Где $P + P$ означает выполнение формулы сложения эллиптической кривой с входными данными $P$ и $P$ — это не та операция сложения, которую вы изучали в начальной школе.
Рейтинг:1
флаг in

Вас смущает то, что вы считаете скалярное умножение (в ваших обозначениях $х\cdotP$) как умножение на конечном поле. На самом деле;

скалярное умножение на эллиптических кривых $[х]Р$ на самом деле означает добавление $P$ сам $х$-раз. Вот как рассчитывается публичная точка из закрытого ключа, первая — это точка на кривой, вторая — целое число. Более формально;

позволять $x \in\mathbb{N}\обратная косая черта\{ 0\}$

\начать{выравнивать} [x]:&E \к E\ &P\mapsto [x]P=\underbrace{P+P+\cdots+P}_{\text{$x$ раз}}.\end{align}

Здесь $P+P =[2]P\;(=2\cdot P)$ означает добавление точки и имеет специальные формулы, полученные из правила касательной хорды. С этим добавлением точек для кривой, заданной над конечным полем, точки образуют конечную абелеву группу, и со скалярным умножением мы имеем $Z$-модуль.

Когда мы говорили о данном $[х]Р$ и $P$ найти $х$ это проблема с дискретным логарифмом на эллиптических кривых. На некоторых кривых это легко, однако на secp256k1 это непросто и классическая атака стоит $\mathcal{O}(\sqrt{n}$) пока $n = порядок(P)$ с Ро Полларда. Лучше всего реализованная атака использовала параллельная версия алгоритма кенгуру Полларда на $2^{114}$ интервал.

Алгоритм Шора (если когда-либо будет реализован для реального размера и все проблемы будут решены) можно решить дискретный логарифм за полиномиальное время. Оценку атаки можно посмотреть здесь

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

Стандарт ECDSA, с другой стороны, некоторые другие реальные проблемы, кроме алгоритма определения периода Ро Полларда и алгоритма Шора.

У нас есть лучшая альтернатива, детерминированный ECDSA Томас Порнин и Биткойн и другие начали использовать.

aac avatar
флаг br
aac
Большое спасибо!

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

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