Post
Topic
Board Кодеры
Re: Математика и алгоритмы биткоина.
by
Doka
on 23/07/2019, 17:45:33 UTC
Приветствую местных криптогуру!
Вижу в этой теме обсуждают в т.ч. и криптографию на эллиптических кривых, как раз есть вопрос в тему.

Дали в школе домашку - помогите решить:

Необходимо написать алго вычисления (1 / a) mod p, используя "Euclidean Inversion"  Cry

Условия:
* а и р тут 256 битные,  
* р - константа ( p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F )
* нету ограничений на число циклов и разрядность машины, на которой это решается (пусть разрядность будет даже 256)
* ALU машины не умеет делать операции в floating point
* ALU машины не умеет делать деление (+ , - и умножение по-прежнему доступны)


mod p традиционным способом можно было бы сделать через итеративное вычитание и проверку условия (1/a) <= p, но как реализовать используя "Euclidean Inversion" непонятно, именно этот кейс не рассматривается в интернетах при описании (есть целая книжка по ней  https://math.ru/lib/files/pdf/mp-seria/035_zhizhilkin.pdf )

нутром чую, тут надо какие-то итеративные численные методы задействовать, но не получается наткнуться - вводных мало(