pollard_rho
parent
09451a3b37
commit
6404f98d0b
|
@ -43,7 +43,7 @@ def solve(a, b, m):
|
|||
x0 = b1 * gcd(a1, m1)[0]
|
||||
return x0 % m
|
||||
|
||||
def pollard_rho(a, b, p, ord=0):
|
||||
def pollard_rho(a, b, p, ord=None):
|
||||
u, v = 1, 1
|
||||
d = c = pow(a, u, p) * pow(b, v, p) % p
|
||||
log_c, log_d = [1, 1], [1, 1]
|
||||
|
@ -57,7 +57,7 @@ def pollard_rho(a, b, p, ord=0):
|
|||
# print(c, d, log_c, log_d)
|
||||
if c == d: break
|
||||
|
||||
if ord == 0: ord = order(a, p)
|
||||
if ord == None: ord = order(a, p)
|
||||
#print(f"{log_c[0]}+{log_c[1]}x≡{log_d[0]}+{log_d[1]}x(mod{ord})")
|
||||
#print(f"{log_c[1]-log_d[1]}x≡{log_d[0]-log_c[0]}(mod{ord})")
|
||||
return solve(log_c[1]-log_d[1], log_d[0]-log_c[0], ord)
|
||||
|
|
Loading…
Reference in New Issue