From a23a3c556f487d3aff1f1b4b88c4fd2be9f7c5a8 Mon Sep 17 00:00:00 2001 From: "adrian.spycher" <adrian.spycher@etu.hesge.ch> Date: Thu, 5 Jan 2023 14:10:47 +0100 Subject: [PATCH] fermat_factorization handle false n --- algo.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/algo.py b/algo.py index 44a45ee..76121b8 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): -- GitLab