Учитывая й координату точки на кривом ЕС, это легко вычислить один из Y координат.
Но, учитывая у, как мы можем получить х? В частности, это кто-то знает решение х ^ 3 + 7 = 0 на secp256k1 кривой?
благодаря
|
![]() |
# 1 |
Сообщений: 18
цитировать ответ |
![]()
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Учитывая й координату точки на кривом ЕС, это легко вычислить один из Y координат.
Но, учитывая у, как мы можем получить х? В частности, это кто-то знает решение х ^ 3 + 7 = 0 на secp256k1 кривой? благодаря |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 2 |
Сообщения: 288
цитировать ответ |
![]()
Получил 1806 Биткоинов
Реальная история. Это только становится тривиальным взломать уравнение, когда тот же "случайный" номер используется в последующих операциях. В основном так же, как они попали в серверы Sony, она может, и был выполнен на Blockchain, несколько месяцев назад некоторые приложения были с использованием тех же случайных чисел в сделках и люди были в состоянии вычислить закрытый ключ.
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 3 |
Сообщений: 18
цитировать ответ |
![]() Спасибо за Ваш комментарий mustyoshi
Мой вопрос просто, каковы точки, лежащие на оси х. Кроме того, сколько есть, 1 или 3? |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 4 |
Сообщения: 217
цитировать ответ |
![]() Оно не должно быть слишком трудно вычислить кубический корень по модулю р. Есть в основном три решения, но я не уверен, что всегда есть три решения.
Идея квадратного корня заключается в следующем. Для любого числа х ^ р = х (по модулю р), следовательно, х ^ (р + 1) = х ^ 2 (по модулю р), следовательно, х ^ = х (по модулю р) и х ((р + 1) / 2) ^ ((р + 1) / 4) = SQRT (х) (по модулю р) является одним из двух квадратных корней. Друга получают путем отрицания. Для кубических корней аналогичный подход должен работать. Если (р + 1) делится на три, то х ^ (р + 1) / 6 является кубический корень (я слишком ленив, чтобы проверить, если это имеет место). Там должно быть общий способ найти кубический корень для любого простого р. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 5 |
Сообщения: 1134
цитировать ответ |
![]() Оно не должно быть слишком трудно вычислить кубический корень по модулю р. Есть в основном три решения, но я не уверен, что всегда есть три решения. Идея квадратного корня заключается в следующем. Для любого числа х ^ р = х (по модулю р), следовательно, х ^ (р + 1) = х ^ 2 (по модулю р), следовательно, х ^ = х (по модулю р) и х ((р + 1) / 2) ^ ((р + 1) / 4) = SQRT (х) (по модулю р) является одним из двух квадратных корней. Друга получают путем отрицания. Для кубических корней аналогичный подход должен работать. Если (р + 1) делится на три, то х ^ (р + 1) / 6 является кубический корень (я слишком ленив, чтобы проверить, если это имеет место). Там должно быть общий способ найти кубический корень для любого простого р. Я попробовал вчера, но нет, р не делится на три Это делится на 2, 4, 8, 16, то больших чисел (>1M) |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 6 |
Сообщения: 560
цитировать ответ |
![]() котировка Но, учитывая у, как мы можем получить х? В частности, это кто-то знает решение х ^ 3 + 7 = 0 на secp256k1 кривой? Ну, это просто конечное поле, так что это должно работать:Код: х = modular_cube_root ((у ^ 2 - 7)% р, р) Я использовал код перечисленные здесь чтобы решить конкретный пример. Это возвращает None, так что, вероятно, существует не х, который решает уравнение, когда у = 0. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 7 |
Сообщений: 18
цитировать ответ |
![]() Спасибо за эти идеи. Я буду копать.
котировка Я использовал код перечисленные здесь чтобы решить конкретный пример. Это возвращает None, так что, вероятно, существует не х, который решает уравнение, когда у = 0. Как N нечетно и все точки двойственные (х, у) и (х, у), есть по крайней мере одна точка (х, 0), так что вы должны получить. |
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 8 |
Сообщения: 217
цитировать ответ |
![]() Существует всегда точка на бесконечности (нейтральный элемент эллиптической кривой). Это объясняет, почему общее число точек нечетно, если не существует никакого решения при у = 0.
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 9 |
Сообщений: 18
цитировать ответ |
![]() Мне стыдно
|
![]() ![]() |
![]() ![]() ![]() |
![]() |
# 10 |
Сообщений: 18
цитировать ответ |
![]() Это просто, чтобы завершить эту тему.
Потому как Р = 9xu + 7, если кубический корень существует, то она может быть вычислена г1 = а ^ ((Р + 2) / 9). Остальные два решения: r2 = 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfffff0c. r1 r3 = 0x1c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c71c555554e9. r1 Тогда легко видеть, что -7 не имеет кубический корня, потому что ((-7) ^ ((Р + 2) / 9)) ^ 3 <> -7 Тогда нет точек с у = 0 мои 2 цента Благодаря вам всем |
![]() ![]() |
![]() ![]() ![]() |