diff --git a/algo.py b/algo.py index 44a45ee9f5654ca66ae2fe5a2aa1924053be8db1..76121b890fb28a540acd242eb4f7ba0cbd8d9ee8 100644 --- a/algo.py +++ b/algo.py @@ -110,8 +110,9 @@ def fermat_factorization(n): """ a = math.ceil(math.sqrt(n)) + # a = 26262277040 - 10 b = 0 - while(True): + while(a <= n): # a cannot be greater than n, because : n = (a + b) * q > 0 => a <= n b2 = a**2 - n if (is_square(b2)): @@ -120,6 +121,8 @@ def fermat_factorization(n): a += 1 + if(a > n): print("The Fermat's factorization didn't work on n") + return (a, b) def decode_msg(M):