Show Posts
|
Pages: [1]
|
Спасибо всем огромное! Выручили, работает!
|
|
|
Подскажите чайнику-автору , есть ли возможность вычислить квадратный корень, в итоге?
Дык вроде можно Ну и как это реализовать? К примеру, корень из 2
|
|
|
Подскажите чайнику-автору , есть ли возможность вычислить квадратный корень, в итоге?
|
|
|
p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f x = 0x111111111111111111 y = pow(x, (p+1)/4, p) print hex(y)
Но очень надо корень с порядком для закрытых ключей..!
Я уже перестал что-либо понимать. Вы называете результат этой операции pow(x, (p+1)/4, p) корнем? Но это ведь операция возведения в степень по модулю. Вы придумали свою терминологию: корень с порядком, и рассчитываете, что вас кто-то поймёт? все верно. Только это не я придумал, спецификация ecdsa. корень - есть возведение в степень.
|
|
|
берем порядок 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f извлекаем корень из 0x111111111111111111, получаем
0xe8a9ff3cbc2c327380ccfa8449c4b065575e01fd918b1f54743758db98ecb3dbL
В результате какой последовательности операций получен этот результат? p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f x = 0x111111111111111111 y = pow(x, (p+1)/4, p) print hex(y) Но очень надо корень с порядком для закрытых ключей..! К примеру... Корень из 0x14ea15b59bf61ec94588L будет cc=pow(0xbd058aada7bc0b85b2ad8fab552157b470d840f4583c22b3f0218ebb69f1b775L,2, 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141) print hex(cc)
|
|
|
берем порядок 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f извлекаем корень из 0x111111111111111111, получаем 0xe8a9ff3cbc2c327380ccfa8449c4b065575e01fd918b1f54743758db98ecb3dbL операция возведения в квадрат.. 0xe8a9ff3cbc2c327380ccfa8449c4b065575e01fd918b1f54743758db98ecb3dbL^2= 0xffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeedeeeeeb1eL 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f- 0xffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeedeeeeeb1eL= 0x111111111111111111 так получается с любой циферкой при 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f а вот.. при 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 никак не выходит ![Sad](https://bitcointalk.org/Smileys/default/sad.gif)
|
|
|
модуль.
Квадратный корень из 64 по модулю >= 8 будет равен восьми всегда, нет? а из 0x111111111111111111 сколько будет?
|
|
|
y = pow(x, (p+1)/4, p)
Что делает третий аргумент в функции pow? модуль. а как же без него? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Почему вас не заинтересовал второй параметр, а только третий...?! ps: Люди кто понимает, прошу откликнуться.
|
|
|
p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f x = 64 y = pow(x, (p+1)/4, p) print y (y=8)
вопрос, как взять корень квадратный из 64 при p = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
|
|
|
Подскажите, как взять квадратный (кубический) корень в эллиптической кривой биткоина в порядке для закрытых ключей? И можно ли это сделать?
|
|
|
ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) Все же для чего это нужно объясните? Бывает, что смысла нет делать какой-то алгоритм.. а проще новый и простой написать с нуля Это для себя, чтобы по алгоритму ключи генерировать и.. не записывать их ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) (без шуток)
|
|
|
ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) проблему решил, спасибо! тему можно закрывать ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
|
|
|
ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького ![Huh](https://bitcointalk.org/Smileys/default/huh.gif)
|
|
|
Ну, судя по коду - автор хощет обратное по модулю 1/a(mod M). (Правда, подобный алгоритм весьма уныл, есть более весёленькие реализации, но вопрос был не об этом.)
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
|
|
|
Что такое инверсия ключа?
def inverse_mod( a, m ): if a < 0 or m <= a: a = a % m c, d = a, m uc, vc, ud, vd = 1, 0, 0, 1 while c != 0: q, c, d = divmod( d, c ) + ( c, ) uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc assert d == 1 if ud > 0: return ud else: return ud + m
|
|
|
Опытные кодеры, подскажите, а есть ли возможность и реализация на python инверсии открытого ключа? Секрет инверсию делать получается, а обратно по открытому (x,y) - нет.
Подскажите юзеру.
Как инверсировать к примеру
c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5 1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
|
|
|
|