Better comments in rsa

This commit is contained in:
Imbus 2025-02-14 06:09:54 +01:00
parent 70dcda61e8
commit e1ece2358f

6
rsa.c
View file

@ -51,12 +51,13 @@ u64 mulmod(u64 a, u64 b, u64 m) {
u64 result = 0; u64 result = 0;
a %= m; a %= m;
// Perform the multiplication bit by bit (binary multiplication)
while (b > 0) { while (b > 0) {
if (b & 1) { if (b & 1) {
result = (result + a) % m; result = (result + a) % m;
} }
a = (a * 2) % m; // Double a, keep within mod a = (a * 2) % m; // Double a, keep it within the modulus
b >>= 1; b >>= 1; // Right shift b (divide by 2)
} }
return result; return result;
@ -132,6 +133,7 @@ u64 mod_inverse(u64 a, u64 m) {
u64 m0 = m; u64 m0 = m;
u64 y = 0, x = 1; u64 y = 0, x = 1;
// Modular inverse does not exist when m is 1
if (m == 1) if (m == 1)
return 0; return 0;