Требования - библиотека boost (но ты можешь просто везде понатыкать longint и прописать свои функции)
Референс материал
Эллиптические кривые - это кривые, похожие на графике на сосочки, которые делают свою магию.
Fair warning - в этом проекте представлена кривая Р-256. Это ДАЛЕКО не единственная кривая в мире, и если вы хотите чтобы у вас был шанс на коммерческое использование, присмотритесь, например, к кривой ГОСТ 34.10-2012 или её родне.
Параметр | Тип | Description |
---|---|---|
P |
cpp_int (boost) |
Модуль, по которому выполняются вычисления. Он определяет конечное поле GF(p) , в котором определяются точки эллиптической кривой |
a & b |
cpp_int (boost) |
Эти параметры задают уравнение эллиптической кривой в форме y^2=x^3+ax+by 2=x 3 + ax + b (mod p). |
m |
cpp_int (boost) |
aka. порядок группы. Это количество точек на эллиптической кривой, включая "нулевую" точку |
Gx & Gy |
cpp_int (boost) |
Координаты базовой точки. Такой, что есть порядок q; q*P[Gx, Gy] = O, где O - нулевая точка |
n |
cpp_int (boost) |
Порядок точки [Gx, Gy] |
Для получения текста на подпись, программа читает файл по пути ниже.
Вы можете хотеть поменять это.
line 193 : Text.open("D://Message.txt", ios::in);