Author

Topic: Lattice attack - (Read 139 times)

member
Activity: 873
Merit: 22
$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk
July 14, 2023, 09:00:04 PM
#2
No real sighs with 256 bs,all smale, so not possible find 256 but priv with sighs 251 ...
member
Activity: 77
Merit: 19
July 14, 2023, 11:01:39 AM
#1
I have one (or depends of messages from you ,maybe more):

I have impelemented Lattice attack for signatures ( I would like to try solve puzzle where privatekeys is in 2**129 and 2**130)

Of course from one signature it is problem, but I have implemented " zero knowledge signature for targeting pubkey"

at the moment it works when privatekey is less than 2**130 and nonce is less than 2**130

the problem is that normal "LLL attack " with and without BKZ, work only with additional implementatation as enumeration as below:

the question : could anyone of you explain why?


where _list_ouputs is a list of possible_key from LLL as output.

enumeration algo:
 
Code:
def alg_1(list_outputs):
    results = []
    for number1 in list_outputs:
        for number2 in list_outputs:
            for number3 in list_outputs:
                result = (number1 - number2 + number3)%modulo
                if result not in results:
                    results.append(result)
                    print("result additional alg_1:=",result)
                    if result==privatekey:
                        print("FOUNDED privatekey",result)
def alg_2(list_outputs):
    results = []
    for number1 in list_outputs:
        for number2 in list_outputs:
            result = (number1 + number2)%modulo
            if result not in results:
                results.append(result)
                print("result additional alg_2:=",result)    
                if result==privatekey:
                    print("FOUNDED privatekey",result)

def alg_3(list_outputs):
    results = []
    for number1 in list_outputs:
        for number2 in list_outputs:
            result = (number1 - number2)%modulo
            if result not in results:
                results.append(result)
                print("result additional alg_3:=",result)    
                if result==privatekey:
                    print("FOUNDED privatekey",result)



example of work:
Code:
private key is  794092922831784592461093938556654640141
TEST1
bits -256
k_weights = [X]*self.m 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
X 1
possible key:  132057058005024418619288405064413771225 115792089237316195423570985008687907852705507221069879963985874736453747723112
possible key:  115792089237316195423570985008687907852378245048447086459530312018845818113371 459319230627817923074851122672343380966
possible key:  115792089237316195423570985008687907852713018740651053128916554834730129372546 124545538423851253688608306788032121791
result additional alg_1:= 132057058005024418619288405064413771225
result additional alg_1:= 459319230627817923074851122672343380966
result additional alg_1:= 124545538423851253688608306788032121791
result additional alg_1:= -195205114617769085836274312543515838516
result additional alg_1:= -202716634198942250766954410819897487950
result additional alg_1:= 139568577586197583549968503340795420659
result additional alg_1:= 466830750208991088005531220948725030400
result additional alg_1:= 786581403250611427530413840280272990707
result additional alg_1:= 451807711046644758144171024395961731532
result additional alg_1:= 794092922831784592461093938556654640141

FOUNDED privatekey 794092922831784592461093938556654640141

result additional alg_1:= 117034018842678088757928208511650472357
result additional alg_1:= -210228153780115415697634509096279137384
result additional alg_2:= 264114116010048837238576810128827542450
result additional alg_2:= 591376288632842341694139527736757152191
result additional alg_2:= 256602596428875672307896711852445893016
result additional alg_2:= 918638461255635846149702245344686761932
result additional alg_2:= 583864769051669176763459429460375502757
result additional alg_2:= 249091076847702507377216613576064243582
result additional alg_3:= 0
result additional alg_3:= -327262172622793504455562717607929609741
result additional alg_3:= 7511519581173164930680098276381649434
result additional alg_3:= 327262172622793504455562717607929609741
result additional alg_3:= 334773692203966669386242815884311259175
result additional alg_3:= -7511519581173164930680098276381649434
result additional alg_3:= -334773692203966669386242815884311259175
Jump to: