Python代码求解不正确?可能是这些问题!
Python代码求解不正确?可能是这些问题!
你是否正在使用Python进行密码学相关的计算,却发现结果不如预期?代码的错误可能潜藏在细节之中。本文将以一个具体的代码示例出发,带你了解如何排查问题,并提供修正后的代码,助你找到正确的答案。
代码分析
以下代码片段使用了扩展欧几里得算法,旨在解决密码学中的一个常见问题:pythonfrom Crypto.Util.number import long_to_bytes
def gcd(a, b): while b != 0: a, b = b, a % b return a
def extended_gcd(a, b): if b == 0: return a, 1, 0 gcd, x1, y1 = extended_gcd(b, a % b) x = y1 y = x1 - y1 * (a // b) return gcd, x, y
p = 4873905926740615531018463661385452170898784133203367799135441645830937750628221985822405430005703937197770247575076559744236744538228018031486049820173674g = 2593552830271406523114019117101950399687742243315195843514987700785182656087120211241524521448500935829478648514527037446437576680778419567396094750508622c = 3431276814099066030808269572939347769420622699894452016972504433264414095698239241816562301198442206498226641308404105790355301176892588988847042699636406
gcd_pg, x1, _ = extended_gcd(g, p)m = (c * x1) % p
flag = long_to_bytes(m)answer = flag.decode('utf-8')print(answe
原文地址: http://www.cveoy.top/t/topic/cz96 著作权归作者所有。请勿转载和采集!