Bitcoin Forum
November 15, 2024, 01:21:18 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: dividing pubkey for attack. manual from me  (Read 1203 times)
ymgve2
Full Member
***
Offline Offline

Activity: 161
Merit: 230


View Profile
May 28, 2022, 10:30:12 PM
 #21

It is really hard to follow your text full of errors/typos.
Don't bother understanding the text. OP has been trying to create something that looks like it is "breaking bitcoin" for a long time so that he can scam people with it by selling them the fake thing.

we are get code with my oarthner.... firget, i not use scam, but i realy anderstans how to copy brighthnes from casino to fske scam for "fish", then i was children i likevfishing and fish biiig fishes ))

forget bro, no scam



so, noone has ideas how in cicle or enother way, fo div priv 2^110 and get 2^55 ?

ideas how to extrat clean float part from this 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbf92d8a4f56cbcff

or

this
9b9b4707ffffffffffffffffffffffff3a428d5bc087fbcfd00717b01720d4e2
?

There are no "clean" parts at all in this. You only get "interesting" results with repeated digits because you are working on private keys that are like SEVEN bits in size.

If you actually attempted your "theories" on full 256 bit private keys, or even as low as 64 bits, you will soon find out that everything becomes an undecipherable mess.
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
May 29, 2022, 02:07:52 AM
 #22

some exampls:

./md 1 / 3
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81

./md 11 / 6            Result: 2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa74727a26728c1ab49ff8651778090ae2

xman@localhost:~/ecctools$ ./md 0x2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa74727a26728c1ab49ff8651778090ae2 / 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81
Result: 7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a6

./md 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a6 x 2
Result: b

--------

./md 60 / 600
Result: b33333333333333333333333333333324f7a676e477fa35d0646756291bf9414

./md 30 / 600
Result: 5999999999999999999999999999999927bd33b723bfd1ae83233ab148dfca0a

./md 0xb33333333333333333333333333333324f7a676e477fa35d0646756291bf9414 / 0x5999999999999999999999999999999927bd33b723bfd1ae83233ab148dfca0a
Result: 2

----

./md 1 / 200           Result: a28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828
see
./md 61 / 600          Result: 940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661

xman@localhost:~/ecctools$ ./md 0x940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661 / 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b95


./md 0xb33333333333333333333333333333324f7a676e477fa35d0646756291bf9414 / 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828
Result: 14

----

./md 61 / 600          Result: 940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661
xman@localhost:~/ecctools$ ./md 0x940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661 / 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b95

xman@localhost:~/ecctools$ ./md 1 / 3
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81

xman@localhost:~/ecctools$ ./md 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81 - 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b95
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036412d

----

./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036412d
Result: 15

xman@localhost:~/ecctools$ ./md 0xb33333333333333333333333333333324f7a676e477fa35d0646756291bf9414 / 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828
Result: 14

[
iceland2k14
Jr. Member
*
Offline Offline

Activity: 37
Merit: 68


View Profile
May 29, 2022, 05:12:48 AM
Merited by ABCbits (3), NotATether (3), citb0in (1)
 #23

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:
Code:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )

Examples:
Code:
divnum(99, 55)
'0x99999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5c'

divnum(0x940da740da740da740da740da740da735182fee6b151ae969bbca677d6485661, 0xa28f5c28f5c28f5c28f5c28f5c28f5c1c0c8a34fecbec1e88034f1cc9dd08828)
'0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b95'

No Need to complicate things.
NotATether
Legendary
*
Offline Offline

Activity: 1792
Merit: 7382


Top Crypto Casino


View Profile WWW
May 29, 2022, 05:55:51 AM
 #24

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:
Code:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )

Examples:
Code:
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.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
May 29, 2022, 06:28:45 AM
 #25

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:
Code:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )

Examples:
Code:
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.
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
May 29, 2022, 06:30:20 AM
Last edit: June 02, 2022, 03:06:22 PM by achow101
 #26

@iceland, this is easy:

this your ex;
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81

this is 1/3
./md 1 / 3
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81


if float of your div you range will be at


./md 1 / 3
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b81

 to

./md 1 / 3
Result: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de02xxxx

but try div 110 pub  to 2^55

real shit in result

have you idea how to undersrand range after dividing 110 priv to  2^55 Huh


2^55 = 0x80000000000000

2^110/2^55=2^55

./md 0x35c0d7234df7deb0f20cf7062444 / 0x80000000000000
Result: a9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491

simple calc with rounding:

0x35c0d7234df7deb0f20cf7062444 / 0x80000000000000 = 0x6b81ae469befbd ,=


a9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491


./md 0xa9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491 / 0x1bfeccab11627dffffffffffffffffffdc6ca6b5761c683830629e2e7c037bea                                 Result: 35c0d7234df7deb0f20cf7062444


./md 1 / 0x40000000000000                                                Result: 37fd995622c4fbffffffffffffffffffb8d94d6aec38d07060c53c5cf806f7d4

xman@localhost:~/ecctools$ ./md 0xa9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491 / 0x37fd995622c4fbffffffffffffffffffb8d94d6aec38d07060c53c5cf806f7d4
Result: 1ae06b91a6fbef5879067b831222


./md 1 / 0x20000000000000                                                Result: 6ffb32ac4589f7ffffffffffffffffff71b29ad5d871a0e0c18a78b9f00defa8                                                                              xman@localhost:~/ecctools$ ./md 0xa9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491 / 0x6ffb32ac4589f7ffffffffffffffffff71b29ad5d871a0e0c18a78b9f00defa8
Result: d7035c8d37df7ac3c833dc18911




./md 0xa9f8c3c36be177ffffffffffffffffff28015075258f4ce50bde527d08894491 / 0xdff665588b13effffffffffffffffffee36535abb0e341c18314f173e01bdf50
Result: 7fffffffffffffffffffffffffffffff5d57752b7288b9dcdbbf4d8806fbe529

end
 Embarrassed

changing base point  to point 1 / 0x20000000000000 I think can be live method...












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:
Code:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )

Examples:
Code:
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.

1024 is ieasy I thunk:
./md 7678885567 / 1024 Result: 3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3a67a30

./md 0x35c0d7234df7deb0f20cf7062444 / 1024                               Result: 2effffffffffffffffffffffffffffffc4461a9bca641e3e762f4b985d77b784

./md 0x2effffffffffffffffffffffffffffffc4461a9bca641e3e762f4b985d77b784 x 512
Result: 1ae06b91a6fbef5879067b831222
xman@localhost:~/ecctools$ ./md 0x2effffffffffffffffffffffffffffffc4461a9bca641e3e762f4b985d77b784 x 256                                              Result: d7035c8d37df7ac3c833dc18911
xman@localhost:~/ecctools$ ./md 0x2effffffffffffffffffffffffffffffc4461a9bca641e3e762f4b985d77b784 x 32
Result: dffffffffffffffffffffffffffffffee35902f7e018a6a406cd9a4b9de7aa3b

ends, need add 64 to 1024  and you can dow to (pub/1024+64) * 128

I don know how iceland thant use 1024 ranges forv2^120 pyb, ranges on each level of 1024, ie: 1,2,3..1024 will very very big I think, but I notvtested.

i continue testings, thank you to alk if you for yours repleys, i reading and thinking how to implement  

p.s. posiblle if multyply 1024 to Xxxx add 64, maybe this will get downgrading ranges nore

regardsv!











Interesting question

https://math.stackexchange.com/questions/3343666/elliptic-curve-division/3343692#3343692

Quote
I see. Do you know what would be the appropriate integer scalar to use on a point such as 10.5G? Example: point 10.5G can be represented as 1727459G. –
user306666
 

Someone know how to go from 10.5 to 1727459 ?


Divisible rules

https://brilliant.org/wiki/divisibility-rules/
Q

[moderator's note: consecutive posts merged]

[
ymgve2
Full Member
***
Offline Offline

Activity: 161
Merit: 230


View Profile
May 30, 2022, 10:29:08 AM
Last edit: May 30, 2022, 10:40:54 AM by ymgve2
 #27

Again, your division work is useless. Let's take an example, divide by four:

0x1 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f1
0x2 / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1
0x3 / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9051
0x4 / 4 = 0x1
0x5 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f2
0x6 / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a2
0x7 / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9052
0x8 / 4 = 0x2
0x9 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f3
0xa / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a3
0xb / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9053
0xc / 4 = 0x3
0xd / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f4
0xe / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a4
0xf / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9054
0x10 / 4 = 0x4
...

See how instead of a single sequence that spans all of N, you get four sequences that span different parts of N?

Division by a number in modular math does not decrease the range, it just remaps the numbers into the exact same range

Even though you might think the part before the "decimal point" will be smaller and therefore reduce the range of the numbers, the fractional part smears the result into the full range of numbers in N yet again.

The result is if you divide a 256 bit number by, let's say, a 64 bit number, the part before the decimal point is of course 192 bits. But the part after the decimal point is now 64 bits, which, again, means you haven't simplified the problem because 192+64 = 256 bits again, you have just changed it to a different problem.
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
May 30, 2022, 02:45:40 PM
Last edit: June 03, 2022, 01:53:06 PM by mprep
 #28

Again, your division work is useless. Let's take an example, divide by four:

0x1 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f1
0x2 / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1
0x3 / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9051
0x4 / 4 = 0x1
0x5 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f2
0x6 / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a2
0x7 / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9052
0x8 / 4 = 0x2
0x9 / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f3
0xa / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a3
0xb / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9053
0xc / 4 = 0x3
0xd / 4 = 0xbfffffffffffffffffffffffffffffff0c0325ad0376782ccfddc6e99c28b0f4
0xe / 4 = 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a4
0xf / 4 = 0x3fffffffffffffffffffffffffffffffaeabb739abd2280eeff497a3340d9054
0x10 / 4 = 0x4
...

See how instead of a single sequence that spans all of N, you get four sequences that span different parts of N?

Division by a number in modular math does not decrease the range, it just remaps the numbers into the exact same range

Even though you might think the part before the "decimal point" will be smaller and therefore reduce the range of the numbers, the fractional part smears the result into the full range of numbers in N yet again.

The result is if you divide a 256 bit number by, let's say, a 64 bit number, the part before the decimal point is of course 192 bits. But the part after the decimal point is now 64 bits, which, again, means you haven't simplified the problem because 192+64 = 256 bits again, you have just changed it to a different problem.

2^192+,2^64 =2^192,64 and mach bigger then 2^64 no simplest !!!



Hi

Loock:
we have pubkey of this privkey - 0xfffffffffffffffffffffffff

./md 0xfffffffffffffffffffffffff / 0x4000000000000
Result: 80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f9b463c06987c4

./md 0x80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f9b463c06987c4 - 0x4000000000000
Result: 80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f5b463c06987c4

xman@localhost:~/ecctools$ ./md 0x80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f5b463c06987c4 x 0x4000000000000
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140

xman@localhost:~/ecctools$ ./md 1 - 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140

Result: 2 this is a privkey what belong to pubkey, what we will brute - privkey 2.

we was find orivkey 2, and now we recover this privkey
0xfffffffffffffffffffffffff

./md 1 - 2
Result: fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140

xman@localhost:~/ecctools$ ./md 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140 / 0x4000000000000
Result: 80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f5b463c06987c4

./md 0x80266a9dd3b03fffffffffffffffffff5d269cebf99579e8f2f9b463c06987c4 x 0x4000000000000 Result: fffffffffffffffffffffffff

succesfuly recovered.

why method not work with puzzle priv/pubkey ?
I try many times but not succesful.

Huh?

[moderator's note: consecutive posts merged]

[
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
June 03, 2022, 02:06:24 AM
 #29


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

COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
June 03, 2022, 02:51:12 AM
Last edit: June 03, 2022, 01:52:50 PM by mprep
 #30


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 Huh

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:
Code:
N = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141
def inv(v): return pow(v, N-2, N)
def divnum(a, b): return hex( (a * inv(b) ) % N )

Examples:
Code:
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]

[
WanderingPhilospher
Full Member
***
Offline Offline

Activity: 1204
Merit: 237

Shooters Shoot...


View Profile
June 03, 2022, 07:12:19 AM
 #31

Quote
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 !
The traditional way of dividing a pubkey by 1024, you will have 1024 new pubkeys, and you have shrunk the range by 2^10. But each pubkey will be in a different range. I know all the ranges where the pubkeys will be, but I do not know which pubkey will be in each range.
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
June 03, 2022, 12:09:21 PM
 #32

Quote
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 !
The traditional way of dividing a pubkey by 1024, you will have 1024 new pubkeys, and you have shrunk the range by 2^10. But each pubkey will be in a different range. I know all the ranges where the pubkeys will be, but I do not know which pubkey will be in each range.

so on each pubkey you have range = range / 1024 only ?

yor method work for pubkey =( range / 2^60)/1024 ?

[
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
July 09, 2022, 05:36:15 PM
 #33

And if we consider secp256k1-pointsgroup Group={ InfinityPoint, G, 2G, 3G, ..., (N-1)G } there is no method at least yet to determine if point has even or odd index.
Such method if existed would let you figure out all bits of private key.

another method https://toadstyle.org/cryptopals/66.txt


[
ymgve2
Full Member
***
Offline Offline

Activity: 161
Merit: 230


View Profile
July 13, 2022, 06:17:39 PM
 #34

And if we consider secp256k1-pointsgroup Group={ InfinityPoint, G, 2G, 3G, ..., (N-1)G } there is no method at least yet to determine if point has even or odd index.
Such method if existed would let you figure out all bits of private key.

another method https://toadstyle.org/cryptopals/66.txt



That link is about exploiting broken implementations, it has nothing to do with properly coded secp256k1
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 47


View Profile
July 24, 2022, 05:56:49 AM
 #35


maybe many of you are experts or known an advanced level higher level in knowledge than me
I learn when having some time (I just basic level)

I try to understand
divid pubkey for attack
it is not mean splitting part of pubkey number right ( like   12/4 =3 right )

divide pubkey is multiplication by number is divided number right
divided by using function multiplication same use calculate in privatekey to pubkey right
so the result is a number of multiplication is x,y right
all is always to calculate by elliptic curve medthod like fucntion modinv, add, double, multiplication
first tine I confused subtraction use add (right) , divided use multiplication

sorry just make sure I understand in basic math correct
I am not strong in basic of crypto math, crypto knowledge

many formulas many functions talk by using simbol or short code I not sure what that mean
like "/" divide is divide multiplication  or  *G
sometimes I try to use python code for calculating by manual it not correct with normal math numbers
(I am not an expert to use segemath, I know it is a very good tool but it is difficult to use it)
bigvito19
Full Member
***
Offline Offline

Activity: 716
Merit: 111


View Profile
August 07, 2022, 01:40:16 AM
 #36

Quote
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 !
The traditional way of dividing a pubkey by 1024, you will have 1024 new pubkeys, and you have shrunk the range by 2^10. But each pubkey will be in a different range. I know all the ranges where the pubkeys will be, but I do not know which pubkey will be in each range.

So if you shrunk the range by 2^10, the new range will look like this
2000000000000000000000000000:3FFFFFFFFFFFFFFFFFFFFFFFFFFF
or like this
0000000000000000000000000000:FFFFFFFFFFFFFFFFFFFFFFFFFFFF
PrivatePerson
Member
**
Offline Offline

Activity: 174
Merit: 12


View Profile
August 15, 2022, 11:51:04 AM
 #37

If reducing by 2^10 bits results in 1024 public keys, how many keys will there be when reducing by 2^60 and 2^200?
COBRAS (OP)
Member
**
Offline Offline

Activity: 1019
Merit: 24


View Profile
August 15, 2022, 06:31:50 PM
 #38

If reducing by 2^10 bits results in 1024 public keys, how many keys will there be when reducing by 2^60 and 2^200?

if eedusing 2^60 will be 2^60 pubkey. also if you substrack 2^60 2^60 times you get 2^60 from 2^120

and then redusing or dividing result will be not 1 pubkey less then 120 but many pubkeys

posible dividing to only prime numbers give smale  pcs of pubksys.

but, dividing and substraction is a 80 % of bull shit !!

[
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!