src/bls192.c.in [29:115]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - static void recover_coefficients(int k, octet* X, BIG_XXX* coefs) { BIG_XXX r; BIG_XXX_rcopy(r,CURVE_Order_ZZZ); BIG_XXX x2[k]; for(int i=0; i 0; i--) { // c_i = lp_i * rp_i BIG_XXX_modmul(coefs[i], coefs[i], coefs[0], r); // rp_(i-1) = x_i * ... * x_k = x_i * rp_i BIG_XXX_modmul(coefs[0], coefs[0], x2[i], r); } BIG_XXX cneg; BIG_XXX denominator; BIG_XXX s; for(int i=0; ilen; i++) { j = (unsigned char) M->val[i]; SHA3_process(&hs,j); } SHA3_shake(&hs,HM.val,MODBYTES_XXX); HM.len=MODBYTES_XXX; ECP_ZZZ_mapit(P,&HM); } /* generate key pair, private key S, public key W */ int BLS_ZZZ_KEY_PAIR_GENERATE(csprng *RNG,octet* S,octet *W) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - src/bls256.c.in [29:115]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - static void recover_coefficients(int k, octet* X, BIG_XXX* coefs) { BIG_XXX r; BIG_XXX_rcopy(r,CURVE_Order_ZZZ); BIG_XXX x2[k]; for(int i=0; i 0; i--) { // c_i = lp_i * rp_i BIG_XXX_modmul(coefs[i], coefs[i], coefs[0], r); // rp_(i-1) = x_i * ... * x_k = x_i * rp_i BIG_XXX_modmul(coefs[0], coefs[0], x2[i], r); } BIG_XXX cneg; BIG_XXX denominator; BIG_XXX s; for(int i=0; ilen; i++) { j = (unsigned char) M->val[i]; SHA3_process(&hs,j); } SHA3_shake(&hs,HM.val,MODBYTES_XXX); HM.len=MODBYTES_XXX; ECP_ZZZ_mapit(P,&HM); } /* generate key pair, private key S, public key W */ int BLS_ZZZ_KEY_PAIR_GENERATE(csprng *RNG,octet* S,octet *W) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -