int ecdsa_set_curve(u32 type) { if (ecdsa_get_params(type, ec_p, ec_a, ec_b, ec_N, ec_G.x, ec_G.y) < 0) return -1; bn_to_mon(ec_a, ec_p, 20); bn_to_mon(ec_b, ec_p, 20); point_to_mon(&ec_G); return 0; }
int ecdsa_set_curve(u8* p, u8* a, u8* b, u8* N, u8* Gx, u8* Gy) { memcpy(ec_p, p, 20); memcpy(ec_a, a, 20); memcpy(ec_b, b, 20); memcpy(ec_N, N, 21); memcpy(ec_G.x, Gx, 20); memcpy(ec_G.y, Gy, 20); bn_to_mon(ec_a, ec_p, 20); bn_to_mon(ec_b, ec_p, 20); point_to_mon(&ec_G); return 0; }
int ecdsa_set_curve(u32 type) { if (ecdsa_get_params(type, ec_p, ec_a, ec_b, ec_N, ec_G.x, ec_G.y) < 0) return -1; bn_print("p", ec_p, 20); bn_print("a", ec_a, 20); bn_print("b", ec_b, 20); bn_print("N", ec_N, 21); bn_print("Gx", ec_G.x, 20); bn_print("Gy", ec_G.y, 20); bn_to_mon(ec_a, ec_p, 20); bn_to_mon(ec_b, ec_p, 20); point_to_mon(&ec_G); return 0; }
void ecdsa_set_pub(u8 *Q) { memcpy(ec_Q.x, Q, 20); memcpy(ec_Q.y, Q+20, 20); point_to_mon(&ec_Q); }