diff options
Diffstat (limited to 'src/lib/math/ec_gfp/curve_nistp.cpp')
-rw-r--r-- | src/lib/math/ec_gfp/curve_nistp.cpp | 216 |
1 files changed, 108 insertions, 108 deletions
diff --git a/src/lib/math/ec_gfp/curve_nistp.cpp b/src/lib/math/ec_gfp/curve_nistp.cpp index 176409dbf..fb94a81d2 100644 --- a/src/lib/math/ec_gfp/curve_nistp.cpp +++ b/src/lib/math/ec_gfp/curve_nistp.cpp @@ -89,12 +89,12 @@ namespace { * Treating this MPI as a sequence of 32-bit words in big-endian * order, return word i (or 0 if out of range) */ -inline u32bit get_u32bit(const BigInt& x, size_t i) +inline uint32_t get_uint32_t(const BigInt& x, size_t i) { #if (BOTAN_MP_WORD_BITS == 32) return x.word_at(i); #elif (BOTAN_MP_WORD_BITS == 64) - return static_cast<u32bit>(x.word_at(i/2) >> ((i % 2)*32)); + return static_cast<uint32_t>(x.word_at(i/2) >> ((i % 2)*32)); #else #error "Not implemented" #endif @@ -105,9 +105,9 @@ inline u32bit get_u32bit(const BigInt& x, size_t i) * order, set word i to the value x */ template<typename T> -inline void set_u32bit(BigInt& x, size_t i, T v_in) +inline void set_uint32_t(BigInt& x, size_t i, T v_in) { - const u32bit v = static_cast<u32bit>(v_in); + const uint32_t v = static_cast<uint32_t>(v_in); #if (BOTAN_MP_WORD_BITS == 32) x.set_word_at(i, v); #elif (BOTAN_MP_WORD_BITS == 64) @@ -129,56 +129,56 @@ const BigInt& prime_p192() void redc_p192(BigInt& x, secure_vector<word>& ws) { - const u32bit X6 = get_u32bit(x, 6); - const u32bit X7 = get_u32bit(x, 7); - const u32bit X8 = get_u32bit(x, 8); - const u32bit X9 = get_u32bit(x, 9); - const u32bit X10 = get_u32bit(x, 10); - const u32bit X11 = get_u32bit(x, 11); + const uint32_t X6 = get_uint32_t(x, 6); + const uint32_t X7 = get_uint32_t(x, 7); + const uint32_t X8 = get_uint32_t(x, 8); + const uint32_t X9 = get_uint32_t(x, 9); + const uint32_t X10 = get_uint32_t(x, 10); + const uint32_t X11 = get_uint32_t(x, 11); x.mask_bits(192); - u64bit S = 0; + uint64_t S = 0; - S += get_u32bit(x, 0); + S += get_uint32_t(x, 0); S += X6; S += X10; - set_u32bit(x, 0, S); + set_uint32_t(x, 0, S); S >>= 32; - S += get_u32bit(x, 1); + S += get_uint32_t(x, 1); S += X7; S += X11; - set_u32bit(x, 1, S); + set_uint32_t(x, 1, S); S >>= 32; - S += get_u32bit(x, 2); + S += get_uint32_t(x, 2); S += X6; S += X8; S += X10; - set_u32bit(x, 2, S); + set_uint32_t(x, 2, S); S >>= 32; - S += get_u32bit(x, 3); + S += get_uint32_t(x, 3); S += X7; S += X9; S += X11; - set_u32bit(x, 3, S); + set_uint32_t(x, 3, S); S >>= 32; - S += get_u32bit(x, 4); + S += get_uint32_t(x, 4); S += X8; S += X10; - set_u32bit(x, 4, S); + set_uint32_t(x, 4, S); S >>= 32; - S += get_u32bit(x, 5); + S += get_uint32_t(x, 5); S += X9; S += X11; - set_u32bit(x, 5, S); + set_uint32_t(x, 5, S); S >>= 32; - set_u32bit(x, 6, S); + set_uint32_t(x, 6, S); // No underflow possible @@ -193,13 +193,13 @@ const BigInt& prime_p224() void redc_p224(BigInt& x, secure_vector<word>& ws) { - const u32bit X7 = get_u32bit(x, 7); - const u32bit X8 = get_u32bit(x, 8); - const u32bit X9 = get_u32bit(x, 9); - const u32bit X10 = get_u32bit(x, 10); - const u32bit X11 = get_u32bit(x, 11); - const u32bit X12 = get_u32bit(x, 12); - const u32bit X13 = get_u32bit(x, 13); + const uint32_t X7 = get_uint32_t(x, 7); + const uint32_t X8 = get_uint32_t(x, 8); + const uint32_t X9 = get_uint32_t(x, 9); + const uint32_t X10 = get_uint32_t(x, 10); + const uint32_t X11 = get_uint32_t(x, 11); + const uint32_t X12 = get_uint32_t(x, 12); + const uint32_t X13 = get_uint32_t(x, 13); x.mask_bits(224); @@ -207,56 +207,56 @@ void redc_p224(BigInt& x, secure_vector<word>& ws) int64_t S = 0; - S += get_u32bit(x, 0); + S += get_uint32_t(x, 0); S += 1; S -= X7; S -= X11; - set_u32bit(x, 0, S); + set_uint32_t(x, 0, S); S >>= 32; - S += get_u32bit(x, 1); + S += get_uint32_t(x, 1); S -= X8; S -= X12; - set_u32bit(x, 1, S); + set_uint32_t(x, 1, S); S >>= 32; - S += get_u32bit(x, 2); + S += get_uint32_t(x, 2); S -= X9; S -= X13; - set_u32bit(x, 2, S); + set_uint32_t(x, 2, S); S >>= 32; - S += get_u32bit(x, 3); + S += get_uint32_t(x, 3); S += 0xFFFFFFFF; S += X7; S += X11; S -= X10; - set_u32bit(x, 3, S); + set_uint32_t(x, 3, S); S >>= 32; - S += get_u32bit(x, 4); + S += get_uint32_t(x, 4); S += 0xFFFFFFFF; S += X8; S += X12; S -= X11; - set_u32bit(x, 4, S); + set_uint32_t(x, 4, S); S >>= 32; - S += get_u32bit(x, 5); + S += get_uint32_t(x, 5); S += 0xFFFFFFFF; S += X9; S += X13; S -= X12; - set_u32bit(x, 5, S); + set_uint32_t(x, 5, S); S >>= 32; - S += get_u32bit(x, 6); + S += get_uint32_t(x, 6); S += 0xFFFFFFFF; S += X10; S -= X13; - set_u32bit(x, 6, S); + set_uint32_t(x, 6, S); S >>= 32; - set_u32bit(x, 7, S); + set_uint32_t(x, 7, S); BOTAN_ASSERT_EQUAL(S >> 32, 0, "No underflow"); @@ -271,14 +271,14 @@ const BigInt& prime_p256() void redc_p256(BigInt& x, secure_vector<word>& ws) { - const u32bit X8 = get_u32bit(x, 8); - const u32bit X9 = get_u32bit(x, 9); - const u32bit X10 = get_u32bit(x, 10); - const u32bit X11 = get_u32bit(x, 11); - const u32bit X12 = get_u32bit(x, 12); - const u32bit X13 = get_u32bit(x, 13); - const u32bit X14 = get_u32bit(x, 14); - const u32bit X15 = get_u32bit(x, 15); + const uint32_t X8 = get_uint32_t(x, 8); + const uint32_t X9 = get_uint32_t(x, 9); + const uint32_t X10 = get_uint32_t(x, 10); + const uint32_t X11 = get_uint32_t(x, 11); + const uint32_t X12 = get_uint32_t(x, 12); + const uint32_t X13 = get_uint32_t(x, 13); + const uint32_t X14 = get_uint32_t(x, 14); + const uint32_t X15 = get_uint32_t(x, 15); x.mask_bits(256); @@ -286,7 +286,7 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) // Adds 6 * P-256 to prevent underflow - S = get_u32bit(x, 0); + S = get_uint32_t(x, 0); S += 0xFFFFFFFA; S += X8; S += X9; @@ -294,10 +294,10 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S -= X12; S -= X13; S -= X14; - set_u32bit(x, 0, S); + set_uint32_t(x, 0, S); S >>= 32; - S += get_u32bit(x, 1); + S += get_uint32_t(x, 1); S += 0xFFFFFFFF; S += X9; S += X10; @@ -305,20 +305,20 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S -= X13; S -= X14; S -= X15; - set_u32bit(x, 1, S); + set_uint32_t(x, 1, S); S >>= 32; - S += get_u32bit(x, 2); + S += get_uint32_t(x, 2); S += 0xFFFFFFFF; S += X10; S += X11; S -= X13; S -= X14; S -= X15; - set_u32bit(x, 2, S); + set_uint32_t(x, 2, S); S >>= 32; - S += get_u32bit(x, 3); + S += get_uint32_t(x, 3); S += 5; S += X11; S += X11; @@ -328,10 +328,10 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S -= X15; S -= X8; S -= X9; - set_u32bit(x, 3, S); + set_uint32_t(x, 3, S); S >>= 32; - S += get_u32bit(x, 4); + S += get_uint32_t(x, 4); S += X12; S += X12; S += X13; @@ -339,10 +339,10 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S += X14; S -= X9; S -= X10; - set_u32bit(x, 4, S); + set_uint32_t(x, 4, S); S >>= 32; - S += get_u32bit(x, 5); + S += get_uint32_t(x, 5); S += X13; S += X13; S += X14; @@ -350,10 +350,10 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S += X15; S -= X10; S -= X11; - set_u32bit(x, 5, S); + set_uint32_t(x, 5, S); S >>= 32; - S += get_u32bit(x, 6); + S += get_uint32_t(x, 6); S += 6; S += X14; S += X14; @@ -363,10 +363,10 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S += X13; S -= X8; S -= X9; - set_u32bit(x, 6, S); + set_uint32_t(x, 6, S); S >>= 32; - S += get_u32bit(x, 7); + S += get_uint32_t(x, 7); S += 0xFFFFFFFA; S += X15; S += X15; @@ -376,11 +376,11 @@ void redc_p256(BigInt& x, secure_vector<word>& ws) S -= X11; S -= X12; S -= X13; - set_u32bit(x, 7, S); + set_uint32_t(x, 7, S); S >>= 32; S += 5; - set_u32bit(x, 8, S); + set_uint32_t(x, 8, S); BOTAN_ASSERT_EQUAL(S >> 32, 0, "No underflow"); @@ -414,51 +414,51 @@ const BigInt& prime_p384() void redc_p384(BigInt& x, secure_vector<word>& ws) { - const u32bit X12 = get_u32bit(x, 12); - const u32bit X13 = get_u32bit(x, 13); - const u32bit X14 = get_u32bit(x, 14); - const u32bit X15 = get_u32bit(x, 15); - const u32bit X16 = get_u32bit(x, 16); - const u32bit X17 = get_u32bit(x, 17); - const u32bit X18 = get_u32bit(x, 18); - const u32bit X19 = get_u32bit(x, 19); - const u32bit X20 = get_u32bit(x, 20); - const u32bit X21 = get_u32bit(x, 21); - const u32bit X22 = get_u32bit(x, 22); - const u32bit X23 = get_u32bit(x, 23); + const uint32_t X12 = get_uint32_t(x, 12); + const uint32_t X13 = get_uint32_t(x, 13); + const uint32_t X14 = get_uint32_t(x, 14); + const uint32_t X15 = get_uint32_t(x, 15); + const uint32_t X16 = get_uint32_t(x, 16); + const uint32_t X17 = get_uint32_t(x, 17); + const uint32_t X18 = get_uint32_t(x, 18); + const uint32_t X19 = get_uint32_t(x, 19); + const uint32_t X20 = get_uint32_t(x, 20); + const uint32_t X21 = get_uint32_t(x, 21); + const uint32_t X22 = get_uint32_t(x, 22); + const uint32_t X23 = get_uint32_t(x, 23); x.mask_bits(384); int64_t S = 0; // One copy of P-384 is added to prevent underflow - S = get_u32bit(x, 0); + S = get_uint32_t(x, 0); S += 0xFFFFFFFF; S += X12; S += X21; S += X20; S -= X23; - set_u32bit(x, 0, S); + set_uint32_t(x, 0, S); S >>= 32; - S += get_u32bit(x, 1); + S += get_uint32_t(x, 1); S += X13; S += X22; S += X23; S -= X12; S -= X20; - set_u32bit(x, 1, S); + set_uint32_t(x, 1, S); S >>= 32; - S += get_u32bit(x, 2); + S += get_uint32_t(x, 2); S += X14; S += X23; S -= X13; S -= X21; - set_u32bit(x, 2, S); + set_uint32_t(x, 2, S); S >>= 32; - S += get_u32bit(x, 3); + S += get_uint32_t(x, 3); S += 0xFFFFFFFF; S += X15; S += X12; @@ -467,10 +467,10 @@ void redc_p384(BigInt& x, secure_vector<word>& ws) S -= X14; S -= X22; S -= X23; - set_u32bit(x, 3, S); + set_uint32_t(x, 3, S); S >>= 32; - S += get_u32bit(x, 4); + S += get_uint32_t(x, 4); S += 0xFFFFFFFE; S += X21; S += X21; @@ -482,10 +482,10 @@ void redc_p384(BigInt& x, secure_vector<word>& ws) S -= X15; S -= X23; S -= X23; - set_u32bit(x, 4, S); + set_uint32_t(x, 4, S); S >>= 32; - S += get_u32bit(x, 5); + S += get_uint32_t(x, 5); S += 0xFFFFFFFF; S += X22; S += X22; @@ -495,10 +495,10 @@ void redc_p384(BigInt& x, secure_vector<word>& ws) S += X21; S += X23; S -= X16; - set_u32bit(x, 5, S); + set_uint32_t(x, 5, S); S >>= 32; - S += get_u32bit(x, 6); + S += get_uint32_t(x, 6); S += 0xFFFFFFFF; S += X23; S += X23; @@ -507,56 +507,56 @@ void redc_p384(BigInt& x, secure_vector<word>& ws) S += X14; S += X22; S -= X17; - set_u32bit(x, 6, S); + set_uint32_t(x, 6, S); S >>= 32; - S += get_u32bit(x, 7); + S += get_uint32_t(x, 7); S += 0xFFFFFFFF; S += X19; S += X16; S += X15; S += X23; S -= X18; - set_u32bit(x, 7, S); + set_uint32_t(x, 7, S); S >>= 32; - S += get_u32bit(x, 8); + S += get_uint32_t(x, 8); S += 0xFFFFFFFF; S += X20; S += X17; S += X16; S -= X19; - set_u32bit(x, 8, S); + set_uint32_t(x, 8, S); S >>= 32; - S += get_u32bit(x, 9); + S += get_uint32_t(x, 9); S += 0xFFFFFFFF; S += X21; S += X18; S += X17; S -= X20; - set_u32bit(x, 9, S); + set_uint32_t(x, 9, S); S >>= 32; - S += get_u32bit(x, 10); + S += get_uint32_t(x, 10); S += 0xFFFFFFFF; S += X22; S += X19; S += X18; S -= X21; - set_u32bit(x, 10, S); + set_uint32_t(x, 10, S); S >>= 32; - S += get_u32bit(x, 11); + S += get_uint32_t(x, 11); S += 0xFFFFFFFF; S += X23; S += X20; S += X19; S -= X22; - set_u32bit(x, 11, S); + set_uint32_t(x, 11, S); S >>= 32; BOTAN_ASSERT_EQUAL(S >> 32, 0, "No underflow"); - set_u32bit(x, 12, S); + set_uint32_t(x, 12, S); #if 0 if(S >= 2) |