diff options
-rw-r--r-- | networking/tls_sp_c32.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/networking/tls_sp_c32.c b/networking/tls_sp_c32.c index 37e1cfa1c..9bd5c6832 100644 --- a/networking/tls_sp_c32.c +++ b/networking/tls_sp_c32.c | |||
@@ -938,7 +938,7 @@ static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a | |||
938 | /* Invert the number, in Montgomery form, modulo the modulus (prime) of the | 938 | /* Invert the number, in Montgomery form, modulo the modulus (prime) of the |
939 | * P256 curve. (r = 1 / a mod m) | 939 | * P256 curve. (r = 1 / a mod m) |
940 | * | 940 | * |
941 | * r Inverse result. | 941 | * r Inverse result. Must not coincide with a. |
942 | * a Number to invert. | 942 | * a Number to invert. |
943 | */ | 943 | */ |
944 | #if 0 | 944 | #if 0 |
@@ -952,17 +952,15 @@ static void sp_256_mont_sqr_8(sp_digit* r, const sp_digit* a | |||
952 | #endif | 952 | #endif |
953 | static void sp_256_mont_inv_8(sp_digit* r, sp_digit* a) | 953 | static void sp_256_mont_inv_8(sp_digit* r, sp_digit* a) |
954 | { | 954 | { |
955 | sp_digit t[8]; | ||
956 | int i; | 955 | int i; |
957 | 956 | ||
958 | memcpy(t, a, sizeof(sp_digit) * 8); | 957 | memcpy(r, a, sizeof(sp_digit) * 8); |
959 | for (i = 254; i >= 0; i--) { | 958 | for (i = 254; i >= 0; i--) { |
960 | sp_256_mont_sqr_8(t, t /*, p256_mod, p256_mp_mod*/); | 959 | sp_256_mont_sqr_8(r, r /*, p256_mod, p256_mp_mod*/); |
961 | /*if (p256_mod_2[i / 32] & ((sp_digit)1 << (i % 32)))*/ | 960 | /*if (p256_mod_2[i / 32] & ((sp_digit)1 << (i % 32)))*/ |
962 | if (i >= 224 || i == 192 || (i <= 95 && i != 1)) | 961 | if (i >= 224 || i == 192 || (i <= 95 && i != 1)) |
963 | sp_256_mont_mul_8(t, t, a /*, p256_mod, p256_mp_mod*/); | 962 | sp_256_mont_mul_8(r, r, a /*, p256_mod, p256_mp_mod*/); |
964 | } | 963 | } |
965 | memcpy(r, t, sizeof(sp_digit) * 8); | ||
966 | } | 964 | } |
967 | 965 | ||
968 | /* Multiply a number by Montogmery normalizer mod modulus (prime). | 966 | /* Multiply a number by Montogmery normalizer mod modulus (prime). |