From 47353a3df506edf984287778fe01510d7a35d7c2 Mon Sep 17 00:00:00 2001 From: Sourcery AI <> Date: Mon, 27 Nov 2023 19:46:22 +0000 Subject: [PATCH] 'Refactored by Sourcery' --- crack_weak_ECDSA_nonces_with_LLL.py | 11 ++++------- weak_signature_generator.py | 15 ++++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/crack_weak_ECDSA_nonces_with_LLL.py b/crack_weak_ECDSA_nonces_with_LLL.py index 9b61b6c..93cf6da 100644 --- a/crack_weak_ECDSA_nonces_with_LLL.py +++ b/crack_weak_ECDSA_nonces_with_LLL.py @@ -7,11 +7,11 @@ import sys #import ecdsa import random -from sage.all_cmdline import * +from sage.all_cmdline import * import gmpy2 # order is from secp256k1 curve it can be used any other. -order = int(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141) +order = 115792089237316195423570985008687907852837564279074904382605163141518161494337 def modular_inv(a,b): @@ -24,7 +24,7 @@ def load_csv(filename, limit = None): pubs = [] fp = open(filename) n=0 - if limit == None: + if limit is None: limit = -1 for line in fp: if (limit == -1) or (n < limit): @@ -76,7 +76,6 @@ def privkeys_from_reduced_matrix(msgs, sigs, pubs, matrix): keys.append(key) except Exception as e: sys.stderr.write(str(e)+"\n") - pass return keys @@ -98,11 +97,9 @@ def main(): if run_mode == "LLL": new_matrix = matrix.LLL(early_red=True, use_siegel=True) - keys = privkeys_from_reduced_matrix(msgs, sigs, pubs, new_matrix) else: new_matrix = matrix.BKZ(early_red=True, use_siegel=True) - keys = privkeys_from_reduced_matrix(msgs, sigs, pubs, new_matrix) - + keys = privkeys_from_reduced_matrix(msgs, sigs, pubs, new_matrix) display_keys(keys) if __name__ == "__main__": diff --git a/weak_signature_generator.py b/weak_signature_generator.py index 5a47415..8dc6fa3 100644 --- a/weak_signature_generator.py +++ b/weak_signature_generator.py @@ -19,18 +19,19 @@ if mode == 'MSB': # generate n most significant bits, nonce must be less than order - nonces = [fixed_bits + random.randrange(1, 2 ** bits) for i in range(n)] + nonces = [fixed_bits + random.randrange(1, 2 ** bits) for _ in range(n)] else: # generate n least significant bits, nonce must be less than order - nonces = [random.randrange(2 ** bits, order) + fixed_bits for i in range(n)] + nonces = [random.randrange(2 ** bits, order) + fixed_bits for _ in range(n)] -msgs = [random.randrange(1, order) for i in range(n)] +msgs = [random.randrange(1, order) for _ in range(n)] sigs = [priv_key.sign(msgs[i],nonces[i]) for i in range(n)] def inttohex(i): - tmpstr = hex(i) - hexstr = tmpstr.replace('0x','').replace('L','').zfill(64) - return hexstr + tmpstr = hex(i) + return tmpstr.replace('0x','').replace('L','').zfill(64) for i in range(0,len(msgs)): - print("%s,%s,%s,%s,%s" % ("1111",inttohex(sigs[i].r),inttohex(sigs[i].s),inttohex(msgs[i]),"0000")) + print( + f"1111,{inttohex(sigs[i].r)},{inttohex(sigs[i].s)},{inttohex(msgs[i])},0000" + )