X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=ecdsa%2Fecdsa_sign.c;h=bd5ff9097466cb8e950ae231ab5e6404c7b39eaf;hb=d72d6fbe7abbd26958657c877bc0a3dbef8148ce;hp=a13a0ca6a0e47271ffcdfeaec6c2765e154123ed;hpb=8d1970350aa1d7cdcb59cf79f7f60e385e2816e5;p=avr-crypto-lib.git diff --git a/ecdsa/ecdsa_sign.c b/ecdsa/ecdsa_sign.c index a13a0ca..bd5ff90 100644 --- a/ecdsa/ecdsa_sign.c +++ b/ecdsa/ecdsa_sign.c @@ -76,28 +76,14 @@ uint8_t ecdsa_sign_bigint(ecdsa_signature_t *s, const bigint_t *m, return 2; } ecc_chudnovsky_to_affine_point(&q.affine, &q.chudnovsky, ctx->curve); - bigint_inverse(&s->s, k, ctx->curve->p); + bigint_inverse(&s->s, k, ctx->curve->n); + bigint_mul_u(&t, &q.affine.x, ctx->priv); - ctx->curve->reduce_p(&t); - printf_P(PSTR("msg: ")); - bigint_print_hex(m); - putchar('\n'); - printf_P(PSTR("k: ")); - bigint_print_hex(k); - putchar('\n'); - printf_P(PSTR("k-inv: ")); - bigint_print_hex(&s->s); - putchar('\n'); - printf_P(PSTR("t (1): ")); - bigint_print_hex(&t); - putchar('\n'); + bigint_reduce(&t, ctx->curve->n); bigint_add_u(&t, &t, m); - ctx->curve->reduce_p(&t); - printf_P(PSTR("t (2): ")); - bigint_print_hex(&t); - putchar('\n'); + bigint_reduce(&t, ctx->curve->n); bigint_mul_u(&t, &t, &s->s); - ctx->curve->reduce_p(&t); + bigint_reduce(&t, ctx->curve->n); if(t.length_W == 0){ printf_P(PSTR("DBG: XXX <%S %s %d>\n"), PSTR(__FILE__), __func__, __LINE__); return 2;