1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 11:57:35 +00:00

LibCrypto: Prevent a signed overflow during BigInt Modular Power

The algorithm isn't explicit about what type this needs to be. But this
passes all of the tests, so that's probably fine.
This commit is contained in:
DexesTTP 2021-05-14 09:46:41 +02:00 committed by Andreas Kling
parent 4728f2af80
commit 36a56871c0

View file

@ -58,9 +58,9 @@ ALWAYS_INLINE static u32 inverse_wrapped(u32 value)
{
VERIFY(value & 1);
i64 b = static_cast<i64>(value);
i64 k0 = (2 - b);
i64 t = (b - 1);
u64 b = static_cast<u64>(value);
u64 k0 = (2 - b);
u64 t = (b - 1);
size_t i = 1;
while (i < 32) {
t = t * t;