Miracl AMCL (Core) Basi c Экспонирование и операция сопряжения - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь использовать Miracl Core Library (AMCL со старым именем). Однако у меня проблема с базисной операцией c. Я пытаюсь выбрать случайное число и создать для него операцию сопряжения с базисом c. Однако я не смог добиться успеха.

FP12 pair;
BIG v, p;
ECP2 H, Hv;
ECP G, Gv;
BIG_random(v, &RNG);
BIG_rcopy(p, CURVE_Order);
BIG_mod(v, p);

ECP2_copy(&Hv,&H);
PAIR_G2mul(&Hv, v);
ECP_copy(&Gv,&G);
PAIR_G1mul(&Gv,v);
ECP2_neg(&Hv);
if(ECP2_generator(&H))
    std::cout << "G2 member" << std::endl;
if(ECP_generator(&G))
    std::cout << "G1 member" << std::endl;

PAIR_double_ate(&pair, &Hv, &G, &H, &Gv);
PAIR_fexp(&pair);
if (FP12_isunity(&pair))
    std::cout << "True!!!" << std::endl;
else
    std::cout << "False!!!" << std::endl;

Это соответствующая часть кода и вывод:

G2 member
G1 member
False!!!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...