I do not yet understand your method, maybe you are the next who can find a way to solve some puzzle
Did you try to divide with another number?
I try to find how to divide/sub/multiple/invest with a number under 32 bit for a found range of key (just range not key) but all faile
actually, we did not calculate with 256-bit number but truly we calculated with the number over 786 bit (or maybe 1024 bit level)
all numbers is not easy and can not use random to find a number that can solve it
I try div ffffff in my ex - this is a 2^110 - 1, so, (2^110)-1 = (2 ^55*2^55)-1
so if div to 2^55 , res = 2^55
so div without floating give a downgrade range from 2^110 to 2^55
but, as I say previously, for (2^110) -1, dividing from 2^110 to 2^55 work, but thrn I use puzzle 110 privkey not work !!!
I will think now about ranges in decima and mapping from mod to decimal numbersl what was showed to me in this thread, maybe in whet method i find some more usefull. Sorry, I not undetstand how to go away from decimal etc, sometime I get diametraly differet result, I expect snale range, after calculus I get 4 time bigger rsnge etc.
Br
I do not yet understand your method, maybe you are the next who can find a way to solve some puzzle
Did you try to divide with another number?
I try to find how to divide/sub/multiple/invest with a number under 32 bit for a found range of key (just range not key) but all faile
actually, we did not calculate with 256-bit number but truly we calculated with the number over 786 bit (or maybe 1024 bit level)
all numbers is not easy and can not use random to find a number that can solve it
if you need div to 32 bit, you need 2^32 pubkeys, if yoy interested see my previous messages threads and you find. main fichr - substract from original pubkey floating part..for ex you know what you have some extra numbers in float after div, this float for ex .5 after div 110 to 20 , so you ned substruct unknown number from pubkey in a ranfe from 1 to 20 to get 1 pubkey what divide without float, this pubkey will be 100, so in step pubkey - 10, you get pubkey 100 and down pubkey from 100 to 10...
another ex:
./md 99 / 25 Result: eb851eb851eb851eb851eb851eb851ea59d412e8b5bdb2227d46a8e7f2c1464a
all int part always at and of number:
eb851eb851eb851eb851eb851eb851ea59d412e8b5bdb2227d46a8e7f2c1464a - "a" is a int part
substract 3 - is a in purt of 99/25
get:
eb851eb851eb851eb851eb851eb851ea59d412e8b5bdb2227d46a8e7f2c1464a - 3 =
0xeb851eb851eb851eb851eb851eb851ea59d412e8b5bdb2227d46a8e7f2c14647
now go to int from float - multyply 0xeb851eb851eb851eb851eb851eb851ea59d412e8b5bdb2227d46a8e7f2c14647 * 25 = 18
18 is pubkey for brute.
ex of real pubkey 2^60, dividing to 2^29:
./md 0xfc07a1825367bbe / 0x20000000
Result: 37368e0fffffffffffffffffffffffffb9d63dd0d1c75763e03bd0d35e0b6883
xman@localhost:~/ecctools$ ./md 0x37368e0fffffffffffffffffffffffffb9d63dd0d1c75763e03bd0d35e0b6883 - 0x20000000
Result: 37368e0fffffffffffffffffffffffffb9d63dd0d1c75763e03bd0d33e0b6883
xman@localhost:~/ecctools$ ./md 0x37368e0fffffffffffffffffffffffffb9d63dd0d1c75763e03bd0d33e0b6883 x 0x20000000
Result: bc07a1825367bbe
not gud result, downgrade privkey too liitle
leysctry div to 2^30
./md 0xfc07a1825367bbe / 1073741824 Result: 9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e2
xman@localhost:~/ecctools$ ./md 0x9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e2 - 1073741824
Result: 9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717afd720d4e2
xman@localhost:~/ecctools$ ./md 0x9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717afd720d4e2 x 1073741824
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbf92d8a4f56cbcff
xman@localhost:~/ecctools$ ./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbf92d8a4f56cbcff
Result: 3f85e7dac98443 again not so good result and result far away fron then using simple calc with rounding:
0xfc07a1825367bbe / 1073741824 = 3f01e860 and how solwe thisproblem i dont know. any idess
edit, I was some recalculate.
then we go to dicimal or - area we need not substract but add for downgrade:
/md 0xfc07a1825367bbe / 1073741824
Result: 9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e2
xman@localhost:~/ecctools$ ./md 0x9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e2 - 1073741824
Result: 9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717afd720d4e2
xman@localhost:~/ecctools$ ./md 0x9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717afd720d4e2 x 1073741824
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbf92d8a4f56cbcff
xman@localhost:~/ecctools$ ./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbf92d8a4f56cbcff
Result: 3f85e7dac98443
xman@localhost:~/ecctools$ ./md 0x3f85e7dac98443 + 1073741824
Result: 3f85e81ac98443
xman@localhost:~/ecctools$ ./md 0x3f85e81ac98443 / 1073741824
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63eb9342f87
xman@localhost:~/ecctools$ ./md 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63eb9342f87 - 1073741824
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63e79342f87
xman@localhost:~/ecctools$ ./md 1073741824 x 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63e79342f87
./md 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63eb9342f87 + 1073741824
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63ef9342f87
xman@localhost:~/ecctools$ ./md 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63ef9342f87 x 1073741824
Result: 103f85e81ac98443
xman@localhost:~/ecctools$ ./md 0x103f85e81ac98443 / 1073741824
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63ef9342f87
./md 1073741824 + 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63ef9342f87
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63f39342f87
xman@localhost:~/ecctools$ ./md 1073741824 x 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63f39342f87
Result: 203f85e81ac98443
xman@localhost:~/ecctools$ ./md 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63ef9342f87 - 1073741824
Result: ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63eb9342f87
./md ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63e79342f87 x1073741824
Missing parameters
xman@localhost:~/ecctools$ ./md ba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63e79342f87 x 1073741824
Result: 0
xman@localhost:~/ecctools$ ./md 0xba877df3ffffffffffffffffffffffff12f6dea76988632d7056e63e79342f87 x 1073741824
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bb011e474eaffc584
xman@localhost:~/ecctools$ ./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bb011e474eaffc584
Result: fc07a17e5367bbe
xman@localhost:~/ecctools$ ./md 0xfc07a17e5367bbe / 1073741824
Result: 9b9b4707ffffffffffffffffffffffff3a428d5bc0
./md 9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e1 - 1073741824
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8c90364141
xman@localhost:~/ecctools$ ./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8c90364141
Result:
40000001
I am not very sure what is going on in this thread but the process of division related to secp256k1 is very simple. Just remember few important things...
- Only Addition and Doubling is defined. Everything else is casted into other operators. For ex. Division is considered as inverse of Multiplication
- All operations are with a modulo. With private key operations it is equal to Order.
- There is no decimals or fractions. Every calculation should be considered in Integer maths only. That's why the use of modulo everywhere
Some simple python3 codes helper functions:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )
Examples:
divnum(99, 55)
'0x99999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5c'
divnum(0x940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661, 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828)
'0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b95'
No Need to complicate things.
From my understanding, COBRAS is trying to demonstrate that you can apply `divmod` operations (like that python function you wrote) and floating-point division operations and get equivalent results in mod math and decimal.
Private key range can be mapped on the space of real numbers between 0 and [exclusive] 1, so when you shrink a public key range by dividing starting point or ending point by some number, you get some decimal like
1.23858 , 1.46592
(the decimal part represents the true range, and the integer part is extra)
In modmath, by contrast, we get a crazy looking number. But we can get the shrunken starting and ending points by subtracting the result of divmod operations minus the integer part.
Then we just have a decimal between 0 and exclusive 1, or in modmath, the corresponding public key range.
It kind of fascinates me that you can make a mapping between the set of real numbers between 0 and 1, and any other sequence (Cantor's equivalence classes). Including the set of curve points of a characteristic.
If you can map priv key range with the decimal part, wow, how large of a space would each decimal point represent. Just keeping it simple for explanation, if each tenth were broken down into 2^ ranges, that would be equal to what, around 2^246 for each tenth range? 0-.1=2^246, .1-.2=2^246, etc.
That doesn't seem very efficient or even get you close to knowing a range. I can get closer, not doing it the way cobras is trying to do it, if that's what he is trying to do. If you divide a pubkey by any number, I can tell you every range to find every divisor key in. If you divide a pubkey by 1024, I can tell you the ranges where all the keys will lie in. But is that really what cobras is trying to do? I dunno...seems like he's always coming up with new ways to find privets but it's really hard to decipher his messages some time...not being mean or an arse, just being real.
this is pubkey divided to 1024, show ranges pkease ?
029f29301b11ba20f351982949eaa5a65c30dcb7e0bd7ea64a86ce74b11ad2f6ca
?
I realy not understand what ranges you will show, because all 5 /3, 9 /2, 232 / 44 ... contain int part, and this part is unknown.
thanks !
[moderator's note: consecutive posts merged]