Bitcoin Forum
May 02, 2024, 09:25:49 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: the dilemma of division in ECC-secp256k1  (Read 733 times)
COBRAS
Member
**
Offline Offline

Activity: 846
Merit: 22

$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk


View Profile
November 07, 2023, 02:08:29 PM
 #21

How about we just try dividing the public key multiple times with multiple different numbers so in the end we can at least get a divided result of a new pubkey that is non float division?

yes, for divide to 2 need sybsract 1,2 ana divide 2,2 one of pub will be without float

but this is real hard, most of time is waste of time, because needs divide 2**130  to 2**70 for get 2**60 pubkeya one of them will be 2**60 etc

$$$ P2P NETWORK FOR BTC WALLET.DAT BRUTE F ORCE .JOIN NOW=GET MANY COINS NOW !!!
https://github.com/phrutis/LostWallet  https://t.me/+2niP9bQ8uu43MDg6
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714685149
Hero Member
*
Offline Offline

Posts: 1714685149

View Profile Personal Message (Offline)

Ignore
1714685149
Reply with quote  #2

1714685149
Report to moderator
1714685149
Hero Member
*
Offline Offline

Posts: 1714685149

View Profile Personal Message (Offline)

Ignore
1714685149
Reply with quote  #2

1714685149
Report to moderator
1714685149
Hero Member
*
Offline Offline

Posts: 1714685149

View Profile Personal Message (Offline)

Ignore
1714685149
Reply with quote  #2

1714685149
Report to moderator
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
November 07, 2023, 10:19:31 PM
 #22

How about we just try dividing the public key multiple times with multiple different numbers so in the end we can at least get a divided result of a new pubkey that is non float division?
Since you don't know the key you are dividing, you will only get public keys as results, so how can you guess if the result is correct or not? When you are using -1 divide by 2, there are 50-50 chances of each division to be correct because there are 5 odd and 5 even numbers.
For example, target = 99, now you sub 1 to get 98, then divide 98/2 = 49, 49-1 = 48/2 = 24, 24-1 = 23/2 = 11.5 game over.
Unless you do this 99/2 = 49.5, 98/2 = 49, now if you subtract 1 from 49.5 you won't get 48.5 in EC, you'd get half of n+48.  But your other division result which is 49, you can divide that as well as it's -1, which would be 49/2 = 24.5, 48/2 = 24, then you can continue with 24.5/2 = game over, 24-1 = 23/2 = 11.5 game over, 24/2 = 12. 12-1 = 11/2 = 5.5 game over, 12/2 = 6, 6-1 = 5/2 = 2.5 game over, 6/2 = 3, 3/2 = 1.5 game over, 3-1 = 2/2 = 0 you just won.

But can you detect which one of the results were game over or not when you are dividing a key in 2^130 key space without knowing the key? If you can do that, you win the game.😉

🖤😏
mcdouglasx (OP)
Member
**
Offline Offline

Activity: 237
Merit: 53

New ideas will be criticized and then admired.


View Profile WWW
November 08, 2023, 05:40:49 PM
Last edit: November 08, 2023, 06:53:39 PM by mcdouglasx
 #23

How about we just try dividing the public key multiple times with multiple different numbers so in the end we can at least get a divided result of a new pubkey that is non float division?


You can, but your results will be with exponential increase, if there is a trick it will probably be focused on decimals.
For example:

Code:
134778443257800664321 / 35789976533256789

3765.8153570612637194174713249666


29181610088853736 / 35789976533256789

0.815357061263719417471324966
Code:
3765.8153570612637194174713249666 - 0.815357061263719417471324966 = 3765



edit

Code:
134778443257800664321

>>03fb8da1e2dffa8f7764204f02a346b879a9ad3aeb030c021df712f5336f1a2f83

134778443257800664321/ 35789976533256789

=3765.8153570612637194174713249666
>>0333016a36cec3f851eab0ea9c76b5d3632c3bbf74701fb0f2f228c9f55a621bdc

29181610088853736
>>03d89db49bd82f8d6ede5f7a7fab7156edeba150571e502d8905748e3f7168450f

29181610088853736 / 35789976533256789

=0.815357061263719417471324966
>>031ff717b621c395e2c4531639601207d3137ea175c6264e1ddaa79c1715b402e0

3765.8153570612637194174713249666 - 0.815357061263719417471324966 = 3765
>>028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c



pk= 3765= 028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c

I'm not dead, long story... BTC bc1qxs47ttydl8tmdv8vtygp7dy76lvayz3r6rdahu
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
November 09, 2023, 03:58:19 AM
 #24


0.815357061263719417471324966
Now here is the important part, how many keys will result in the fraction above when divided and by what? You could divide trillion trillion different numbers by trillion trillion other different numbers and get the same result. So that's not going to work, however there is something else to think about, have you started to divide by 2, 3, 4, 5 etc by iterating through different values? You can try dividing this  134778443257800664321  by e.g, 333, then add 1 to it and divide by 333, so if the last digit of your number is 1, try all from 0 to 9, then compare the hex representations mod n, after that change the second digit from right, do the same, you could also change all the digits one by one and then divide to see what big changes you can detect in the results.

For instance, when you divide by a 1 digit number, you will only notice the resulting hex changes it's starting character, which is obvious. Maybe the best thing to do is to divide n and focus on that, then subtract 1 at a time from n then keep dividing, you can only understand things when you see the results in hex, decimal won't be too much of help, unless your brain can handle it.

🖤😏
GR Sasa
Member
**
Offline Offline

Activity: 177
Merit: 14


View Profile
November 09, 2023, 09:32:26 AM
 #25

How about we just try dividing the public key multiple times with multiple different numbers so in the end we can at least get a divided result of a new pubkey that is non float division?


You can, but your results will be with exponential increase, if there is a trick it will probably be focused on decimals.
For example:


Code:
134778443257800664321
>>03fb8da1e2dffa8f7764204f02a346b879a9ad3aeb030c021df712f5336f1a2f83

134778443257800664321/ 35789976533256789

=3765.8153570612637194174713249666
>>0333016a36cec3f851eab0ea9c76b5d3632c3bbf74701fb0f2f228c9f55a621bdc

29181610088853736
>>03d89db49bd82f8d6ede5f7a7fab7156edeba150571e502d8905748e3f7168450f

29181610088853736 / 35789976533256789

=0.815357061263719417471324966
>>031ff717b621c395e2c4531639601207d3137ea175c6264e1ddaa79c1715b402e0

3765.8153570612637194174713249666 - 0.815357061263719417471324966 = 3765
>>028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c



pk= 3765= 028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c


This is very nice example ! But i think there are some errors by your calculations. The "3765" Key doesnt represents the public key above, that you have mentioned. Or am i wrong?

Code:
3765.8153570612637194174713249666 - 0.815357061263719417471324966 = 3765
>>028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c

Code:
3765 = 03f6008de021c5cd46d9d811d44070a7d646105a552a68c389a11161ce9baaae2d
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
November 09, 2023, 10:03:58 AM
 #26

Those keys are in decimal, you have to convert them to hex :
Code:
0x0000000000000000000000000000000000000000000000000000000000000eb5
Public key =
028bb9e12dc5e8ff3e4ba25775f1552e3b9be21f274250d511fce5cf15e73bbf2c
I wonder if you are really a puzzle hunter, what are you even doing btw, regarding solving a puzzle? I thought last year I told you to ask anything you want, but seems you rather stay idly by and let others claim the prize!

🖤😏
GR Sasa
Member
**
Offline Offline

Activity: 177
Merit: 14


View Profile
November 12, 2023, 10:21:17 PM
 #27

I have came back to this thread and something confused me a little:

I have asked myself, how did @mcdouglasx came to this magic number, that when divided it results to the exact decimal value that the 3765.8153570612637194174713249666 had? I am not that newbie at math, but i really couldn't find it out, lol. Maybe I'm today not thinking good, i apologize.

Code:
29181610088853736 / 35789976533256789

= 0.8153570612637194174713249666
Kpot87
Jr. Member
*
Offline Offline

Activity: 36
Merit: 1


View Profile
November 12, 2023, 11:42:17 PM
 #28

I have came back to this thread and something confused me a little:

I have asked myself, how did @mcdouglasx came to this magic number, that when divided it results to the exact decimal value that the 3765.8153570612637194174713249666 had? I am not that newbie at math, but i really couldn't find it out, lol. Maybe I'm today not thinking good, i apologize.

Code:
29181610088853736 / 35789976533256789

= 0.8153570612637194174713249666

just mul rest to a divider

.8153570612637194174713249666 * 35789976533256789
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
November 13, 2023, 12:19:09 AM
 #29

I think he just got it out of his sleeves, after all cryptography is something which you could consider as magic if you know nothing about the math equations behind it, I thought there could be some actual magics involved at first, but now I just know it's not magic.
If you are interested to learn more about such divisions, first divide your target by any number, then divide 1 by the same number, and then keep multiplying the result of 1 being divided until you see a similar fraction as the fraction resulted from your first division.

Just a simple example,
97/5 = 19.4
1/5 = 0.2
0.2 * 2 = 0.4
0.4 - 19.4 = 19.

🖤😏
Kpot87
Jr. Member
*
Offline Offline

Activity: 36
Merit: 1


View Profile
November 13, 2023, 12:37:41 AM
 #30

But all this not suitable for pubkeys
mcdouglasx (OP)
Member
**
Offline Offline

Activity: 237
Merit: 53

New ideas will be criticized and then admired.


View Profile WWW
November 13, 2023, 01:51:51 AM
Merited by digaran (1), GR Sasa (1)
 #31

I have came back to this thread and something confused me a little:

I have asked myself, how did @mcdouglasx came to this magic number, that when divided it results to the exact decimal value that the 3765.8153570612637194174713249666 had? I am not that newbie at math, but i really couldn't find it out, lol. Maybe I'm today not thinking good, i apologize.

Code:
29181610088853736 / 35789976533256789

= 0.8153570612637194174713249666

if you have for example:
target= 14688653357788537

and you want to divide by X:
X=3576434789998

target/X= 4107.0658967045645844960056238489


To reduce to decimals, you just have to subtract X and divide sequentially.

a=target-X   =14685076922998539

a.1= a/X      = 4106.0658967045645844960056238489

b=a-X          =14681500488208541

b.1= b/X      =4105.0658967045645844960056238489


If you continue sequentially you will arrive to

235675266751 / 3576434789998 =  0,0658967045645844960056238489

All results will get the same decimals, until negative (when target is less than X).

235675266751 -3576434789998 = -3340759523247

-3340759523247 / 3576434789998 = -0,93410329543541550399437615106299


just mul rest to a divider

.8153570612637194174713249666 * 35789976533256789

But all this not suitable for pubkeys

Seeing the decimals is easy, but you must do it the way I explain, to reach the objective (in ecc with pubkeys).

I'm not dead, long story... BTC bc1qxs47ttydl8tmdv8vtygp7dy76lvayz3r6rdahu
Kpot87
Jr. Member
*
Offline Offline

Activity: 36
Merit: 1


View Profile
November 13, 2023, 11:55:44 AM
 #32

I have came back to this thread and something confused me a little:

I have asked myself, how did @mcdouglasx came to this magic number, that when divided it results to the exact decimal value that the 3765.8153570612637194174713249666 had? I am not that newbie at math, but i really couldn't find it out, lol. Maybe I'm today not thinking good, i apologize.

Code:
29181610088853736 / 35789976533256789

= 0.8153570612637194174713249666

if you have for example:
target= 14688653357788537

and you want to divide by X:
X=3576434789998

target/X= 4107.0658967045645844960056238489


To reduce to decimals, you just have to subtract X and divide sequentially.

a=target-X   =14685076922998539

a.1= a/X      = 4106.0658967045645844960056238489

b=a-X          =14681500488208541

b.1= b/X      =4105.0658967045645844960056238489


If you continue sequentially you will arrive to

235675266751 / 3576434789998 =  0,0658967045645844960056238489

All results will get the same decimals, until negative (when target is less than X).

235675266751 -3576434789998 = -3340759523247

-3340759523247 / 3576434789998 = -0,93410329543541550399437615106299


just mul rest to a divider

.8153570612637194174713249666 * 35789976533256789

But all this not suitable for pubkeys

Seeing the decimals is easy, but you must do it the way I explain, to reach the objective (in ecc with pubkeys).

But how in pubkeys you can separate float? how you know where is correct operation and where not? thats why i told that is usless with pubkeys
mcdouglasx (OP)
Member
**
Offline Offline

Activity: 237
Merit: 53

New ideas will be criticized and then admired.


View Profile WWW
November 17, 2023, 06:38:39 PM
 #33


But how in pubkeys you can separate float? how you know where is correct operation and where not? thats why i told that is usless with pubkeys

You would only need a known decimal.

If you did this with divisions with decimals, for example, dividing by 2, at 0.5(N/2) you would know where to stop. Therefore you just have to find a large divisor that returns a known decimal.

I'm not dead, long story... BTC bc1qxs47ttydl8tmdv8vtygp7dy76lvayz3r6rdahu
ecdsa123
Full Member
***
Offline Offline

Activity: 211
Merit: 105

Dr WHO on disney+


View Profile
November 19, 2023, 06:37:41 PM
Last edit: November 19, 2023, 06:54:46 PM by ecdsa123
Merited by Welsh (4), digaran (1), vjudeu (1)
 #34

@OP have you figured out yet on how to convert decimals float into integer? I'm especially eager to find such a key,
0.0000000000000000000000000000000000000000000000000000000000000001

As an example, how do I find that key on the curve?



if I'm not wrong the integer values is : 0xf3244603638882517062737e4175f144f3357050efba2afbe045fed21ba2eab5

link: https://privatekeys.pw/key/f3244603638882517062737e4175f144f3357050efba2afbe045fed21ba2eab5

in sagemath:

Code:

p = 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
n = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141

E = EllipticCurve(GF(p), [0, 7])

G = E.point( (0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798,0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8))  
# Base point

def egcd(a, b):

    if a == 0:

        return (b, 0, 1)

    else:

        g, y, x = egcd(b % a, a)

        return (g, x - (b // a) * y, y)
def modinv(a, m):

    g, x, y = egcd(a, m)

    if g != 1:

        raise Exception('modular inverse does not exist')

    else:

        return x % m
    
    
fi="0000000000000000000000000000000000000000000000000000000000000001"
start=1
float_start=1

for i in range(1,len(fi)+1):
    start=start*modinv(10,n)%n
    float_start=float(float_start/10)
    
    print(i,format(float_start,'.64f'),"int:",start)
    

Donate: bc1q0sezldfgm7rf2r78p5scasrrcfkpzxnrfcvdc6

Subscribe : http://www.youtube.com/@Ecdsa_Solutions
mcdouglasx (OP)
Member
**
Offline Offline

Activity: 237
Merit: 53

New ideas will be criticized and then admired.


View Profile WWW
November 19, 2023, 10:12:51 PM
Merited by digaran (1)
 #35

@OP have you figured out yet on how to convert decimals float into integer? I'm especially eager to find such a key,
0.0000000000000000000000000000000000000000000000000000000000000001

As an example, how do I find that key on the curve?

Edit: in decimal it's like this 1/999999 =  0.000001 does that mean in secp256k1 that result is n or n-1 or n-2?

decimal
Code:
B=1/10000000000000000000000000000000000000000000000000000000000000000

>>>0.0000000000000000000000000000000000000000000000000000000000000001

python mod N

Code:
import bitcoin
Div=10000000000000000000000000000000000000000000000000000000000000000

N=115792089237316195423570985008687907852837564279074904382605163141518161494337

a=bitcoin.inv(Div,n)
print(a)
b=(a) % n
print(b)

python div

Code:
import bitcoin


target= "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"

N= 10000000000000000000000000000000000000000000000000000000000000000

Div= bitcoin.divide(target, N)

print(Div)

1/10000000000000000000000000000000000000000000000000000000000000000 =
0.0000000000000000000000000000000000000000000000000000000000000001 =


pk_decimal= 109976111913671942994782547932288341104394192011282789345793555308339223784117
pub=03eeb9365c34d51c83060dd2fe898b8726143d86670c1f30e9cfc3d58f82973af9






I'm not dead, long story... BTC bc1qxs47ttydl8tmdv8vtygp7dy76lvayz3r6rdahu
digaran
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
November 26, 2023, 06:28:39 PM
Merited by vjudeu (1)
 #36

Disclaimer, that noob Legends_Never_Die is my alt I wanted to use to ask things I didn't know, or forgot.


@mc, are you interested for more discoveries? You remember when we could divide by 47 and multiply by 34 to get results? Now try 474747 and 343434, interestingly you will get the same results, and can be used for large numbers. So you just need to find the right combination.

@mods, is it Ok to post in public about curve related stuff or do we need to do it privately? I believe in the spirit of transparency that's why I do everything here, if posting here is considered a crime or trolling, let me know so I stop.

Now I know why everyone left this forum.

🖤😏
vjudeu
Hero Member
*****
Offline Offline

Activity: 677
Merit: 1555



View Profile
November 27, 2023, 06:11:44 AM
Merited by garlonicon (1)
 #37

Quote
is it Ok to post in public about curve related stuff or do we need to do it privately?
It depends if something is long or short. For example, when I digged deeper into elliptic curves, I decided to not post all curves from the smallest to the 256-bit one, in some topic on bitcointalk. I decided to do that on GitHub, because it is too much content, and it is better to give someone a link, than to post all details on forum.

So, if you want to post something, that is too long to be posted here, then use other tools. Use pastebin, GitHub, or whatever, and just share a link. And if things are even more focused on your tools, then you can have some discussion in other places, for example on GitHub, inside some Pull Requests.

You know, bitcointalk is not your personal blog, and after reaching the point, where things are more related to your work, than to public discussions, it is usually a good idea to bring the whole discussion to your social media, and keep it there, leaving only links for someone, who may be interested, than posting everything here.

Quote
I believe in the spirit of transparency that's why I do everything here, if posting here is considered a crime or trolling, let me know so I stop.
It is not a crime. If it would be, then all topics related to puzzles would be taken down, because they contain a lot of details about elliptic curves, and they are sometimes too long, but they stay on forum, and those topics are not taken down for some reason.

For example: this forum is not GitHub. If you have a long piece of code, then make your own repo, and give a link to that, instead of posting every file on bitcointalk. It is also more convenient to do "git clone" than to copy-paste each file manually.

Quote
Now I know why everyone left this forum.
Well, sometimes things are too stupid to continue the discussion. In that case, usually I leave it as it is, and switch to other things. And then, I come back, when I can analyze them peacefully, and reply to something that is worth it, and ignore the rest.

But yes, forum is for discussion, not for posting every code change you can think about. So yes, for example Core developers moved from forum to other places, not because they don't like the forum, but because other tools like GitHub are more convenient for their purposes.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
COBRAS
Member
**
Offline Offline

Activity: 846
Merit: 22

$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk


View Profile
December 12, 2023, 07:05:51 AM
 #38



this is precision, and mistake in this

1754225779965324 / 7476542256 =


234630.624679147670425471611218029341396662869339101612642580910198763945834375 0180765379733580415679255675432646147007879627504642568557964691318665637459349 09620070767643903


I not undertand what is your task. But if you get G as a 1/ 7476542256 you have no problem with find point

of
234630.624679147670425471611218029341396662869339101612642580910198763945834375 0180765379733580415679255675432646147007879627504642568557964691318665637459349 09620070767643903


Then you div point of  234630.624679147670425471611218029341396662869339101612642580910198763945834375 0180765379733580415679255675432646147007879627504642568557964691318665637459349 09620070767643903 to 1/ 7476542256 , you aways take int without float part.


ecctools of iceland is good for this calcs



$$$ P2P NETWORK FOR BTC WALLET.DAT BRUTE F ORCE .JOIN NOW=GET MANY COINS NOW !!!
https://github.com/phrutis/LostWallet  https://t.me/+2niP9bQ8uu43MDg6
COBRAS
Member
**
Offline Offline

Activity: 846
Merit: 22

$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk


View Profile
December 12, 2023, 07:17:57 AM
 #39

pk_decimal= 109976111913671942994782547932288341104394192011282789345793555308339223784117
pub=03eeb9365c34d51c83060dd2fe898b8726143d86670c1f30e9cfc3d58f82973af9



pk is not for pub !

pub for pk is:

0495d913294063c97c009936a50efddbdabea78a91043c46fef15b5a93f2f9aa8b2e7234e4e7f81 467c5a06c85f2879c3e73f63f012185d313fb00a4d4041353f1

and

./km 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 / 10000000000000000000000000000000000000000000000000000000000000000
Result: 03eeb9365c34d51c83060dd2fe898b8726143d86670c1f30e9cfc3d58f82973af9



0279b....  is a  pubkey of priv 1

$$$ P2P NETWORK FOR BTC WALLET.DAT BRUTE F ORCE .JOIN NOW=GET MANY COINS NOW !!!
https://github.com/phrutis/LostWallet  https://t.me/+2niP9bQ8uu43MDg6
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!