Author

Topic: Инверсия открытого ключа (Read 182 times)

newbie
Activity: 16
Merit: 0
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
Готового решения не дам, тем более, на питоне. Но сам алгоритм неплохо описан здесь:
http://e-maxx.ru/algo/reverse_element
Ну, и педивикия, конечно же:
https://en.wikibooks.org/wiki/Algorithm_Implementation/Mathematics/Extended_Euclidean_algorithm


ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького  Huh

Все же для чего это нужно объясните?
Бывает, что смысла нет делать какой-то алгоритм.. а проще новый и простой написать с нуля

Это для себя, чтобы по алгоритму ключи генерировать и.. не записывать их  Grin Grin Grin (без шуток)
full member
Activity: 1022
Merit: 100
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
Готового решения не дам, тем более, на питоне. Но сам алгоритм неплохо описан здесь:
http://e-maxx.ru/algo/reverse_element
Ну, и педивикия, конечно же:
https://en.wikibooks.org/wiki/Algorithm_Implementation/Mathematics/Extended_Euclidean_algorithm


ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького  Huh

Все же для чего это нужно объясните?
Бывает, что смысла нет делать какой-то алгоритм.. а проще новый и простой написать с нуля
newbie
Activity: 16
Merit: 0
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
Готового решения не дам, тем более, на питоне. Но сам алгоритм неплохо описан здесь:
http://e-maxx.ru/algo/reverse_element
Ну, и педивикия, конечно же:
https://en.wikibooks.org/wiki/Algorithm_Implementation/Mathematics/Extended_Euclidean_algorithm


ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького  Huh

проблему решил, спасибо! тему можно закрывать  Grin
newbie
Activity: 16
Merit: 0
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
Готового решения не дам, тем более, на питоне. Но сам алгоритм неплохо описан здесь:
http://e-maxx.ru/algo/reverse_element
Ну, и педивикия, конечно же:
https://en.wikibooks.org/wiki/Algorithm_Implementation/Mathematics/Extended_Euclidean_algorithm


ok, спасибо. попробую, программер я еще тот.. думал, может есть что готовенького  Huh
member
Activity: 280
Merit: 26
Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
Готового решения не дам, тем более, на питоне. Но сам алгоритм неплохо описан здесь:
http://e-maxx.ru/algo/reverse_element
Ну, и педивикия, конечно же:
https://en.wikibooks.org/wiki/Algorithm_Implementation/Mathematics/Extended_Euclidean_algorithm
newbie
Activity: 16
Merit: 0
Ну, судя по коду - автор хощет обратное по модулю 1/a(mod M).
(Правда, подобный алгоритм весьма уныл, есть более весёленькие реализации, но вопрос был не об этом.)


Да, вы меня правильно поняли. Простите за не совсем корректный изначально вопрос. А можно спросить у Вас этот алгоритм?
member
Activity: 280
Merit: 26
Ну, судя по коду - автор хощет обратное по модулю 1/a(mod M).
(Правда, подобный алгоритм весьма уныл, есть более весёленькие реализации, но вопрос был не об этом.)

Другой вопрос, о какого рода публичном ключе идёт речь. Если имеется ввиду ЕСС - то там операция умножения (и, как следствие - деления) для точек не определена, точнее, определена единственная "групповая операция", которую кто как хочет, тот так и называет.
Обратной же точке с координатами (X,Y) (которые и составляют обычно публичный ключ) считается точка с координатами (X,-Y).
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Что такое инверсия ключа?

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
   


Своими словами можете объяснить?
Что это написано и зачем оно нужно?
newbie
Activity: 16
Merit: 0
Что такое инверсия ключа?

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
   


   


kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Что такое инверсия ключа?
newbie
Activity: 16
Merit: 0
Опытные кодеры, подскажите, а есть ли возможность и реализация на python инверсии открытого ключа?
Секрет инверсию делать получается, а обратно по открытому (x,y) - нет.

Подскажите юзеру.

Как инверсировать к примеру

c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
1ae168fea63dc339a3c58419466ceaeef7f632653266d0e1236431a950cfe52a
Jump to: