X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=ecdsa%2Fnist_p192.c;h=3045762933aaa6d2fff5df090fde8bbe90fe7801;hb=2c909fca2a13cd76a526515bda5d0292483d7a55;hp=4e68e25a636ee1c8d8bf1ef83e64ffdbdacbd2d5;hpb=45d15fcc098c9eece5c39b5e421a1706f187a0d3;p=avr-crypto-lib.git diff --git a/ecdsa/nist_p192.c b/ecdsa/nist_p192.c index 4e68e25..3045762 100644 --- a/ecdsa/nist_p192.c +++ b/ecdsa/nist_p192.c @@ -46,6 +46,12 @@ uint8_t nist_curve_p192_p_w[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; +uint8_t nist_curve_p192_n_w[] = { + 0x31, 0x28, 0xd2, 0xb4, 0xb1, 0xc9, 0x6b, 0x14, + 0x36, 0xf8, 0xde, 0x99, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +}; + uint8_t nist_curve_p192_b_w[] = { 0xb1, 0xb9, 0x46, 0xc1, 0xec, 0xde, 0xb8, 0xfe, 0x49, 0x30, 0x24, 0x72, 0xab, 0xe9, 0xa7, 0x0f, @@ -85,6 +91,13 @@ bigint_t nist_curve_p192_p = { .info = 7 }; + +bigint_t nist_curve_p192_n = { + .length_W = 192 / BIGINT_WORD_SIZE, + .wordv = nist_curve_p192_n_w, + .info = 7 +}; + bigint_t nist_curve_p192_b = { .length_W = 192 / BIGINT_WORD_SIZE, .wordv = nist_curve_p192_b_w, @@ -124,17 +137,18 @@ ecc_combi_point_t nist_curve_p192_basepoint = { ecc_curve_sp_t nist_curve_p192 = { .b = &nist_curve_p192_b, .p = &nist_curve_p192_p, + .n = &nist_curve_p192_n, .reduce_p = bigint_reduce_p192 }; /* - * A = ( A5 || A4 || A3 || A2 || A1 || A0 ) ; An if 64-bit + * A = ( A5 || A4 || A3 || A2 || A1 || A0 ) ; An is 64-bit * A mod p = B = T + S1 + S2 + S3 mod p * * T = ( A2 || A1 || A0 ) - * S1 = ( A3 || A3 ) - * S2 = ( A4 || A4 || 0 ) + * S1 = ( 0 || A3 || A3 ) + * S2 = ( A4 || A4 || 0 ) * S3 = ( A5 || A5 || A5 ) * */