Pages:
Author

Topic: Point addition / Point concatenate - page 3. (Read 1052 times)

member
Activity: 348
Merit: 34
April 25, 2021, 02:11:51 PM
#12
-snip-
If your two points are:
Code:
043EF30130654689A64C864D6DD38760481C55FC525E2C6C7084E2D2D3D4D51BE9F7D86B288C09DDB5311F292285168000E43E4B62201BD8DE23A391DAA8E00CE8
046A6E1DC6F203F7FDD97965892301E5FB995A37318C410543835F0EDCD3456C492A072B9898B93E9EB05F9AD86A97546D83B579BF6EFD3482F93BACA13784496B

Then adding them together gives you the following point:
Code:
0415CB9594EE936BD14B98139460879BEE6F33B0F7C0CCB293825794D985F595BEAAAD772A2EC81AB6013775E9EDB274EFE2E133E65E58949AC7F25429FB1BB152

If you want to break that in to an x and y coordinate and convert to decimal as you have done, then the coordinates are:
Code:
x = 9858272149801355672780957992190489068105775500642985285161445958802893804990
y = 77199671246421658177371783275117138254582110578372826724463426751083822428498

if we convert back into hexprvkey as per your addition
abc
def
abc+def = 18AB

but what i am looking addition like example in hex prvkeys based on x,y points
abc
def
abc+def = abcdef

legendary
Activity: 2268
Merit: 18771
April 25, 2021, 02:02:07 PM
#11
-snip-
If your two points are:
Code:
043EF30130654689A64C864D6DD38760481C55FC525E2C6C7084E2D2D3D4D51BE9F7D86B288C09DDB5311F292285168000E43E4B62201BD8DE23A391DAA8E00CE8
046A6E1DC6F203F7FDD97965892301E5FB995A37318C410543835F0EDCD3456C492A072B9898B93E9EB05F9AD86A97546D83B579BF6EFD3482F93BACA13784496B

Then adding them together gives you the following point:
Code:
0415CB9594EE936BD14B98139460879BEE6F33B0F7C0CCB293825794D985F595BEAAAD772A2EC81AB6013775E9EDB274EFE2E133E65E58949AC7F25429FB1BB152

If you want to break that in to an x and y coordinate and convert to decimal as you have done, then the coordinates are:
Code:
x = 9858272149801355672780957992190489068105775500642985285161445958802893804990
y = 77199671246421658177371783275117138254582110578372826724463426751083822428498
member
Activity: 348
Merit: 34
April 25, 2021, 01:32:32 PM
#10
if
Ax = 28472748655393009267694063518808149386163109418078082138878164433505686461417 #3ef30130654689a64c864d6dd38760481c55fc525e2c6c7084e2d2d3d4d51be9
Ay = 112103652146063681709271542430359369857619412145509508700963842184555907779816 #f7d86b288c09ddb5311f292285168000e43e4b62201bd8de23a391daa8e00ce8

Bx = 48139720641152563685347991770512702742210610129134046538275528729266911276105 #6a6e1dc6f203f7fdd97965892301e5fb995a37318c410543835f0edcd3456c49
By = 19009808459039115948789087270292949097337312255656245874893769987807919753579 #2a072b9898b93e9eb05f9ad86a97546d83b579bf6efd3482f93baca13784496b

what result will be back from your formula ?
x: 9858272149801355672780957992190489068105775500642985285161445958802893804990
y: 77199671246421658177371783275117138254582110578372826724463426751083822428498

or

x: 8584546547439194144767466770313806210515315127328165539072185327841223593332
y: 36720222448510784205200470825713773455378994828752011866054770511274779895577
member
Activity: 348
Merit: 34
April 25, 2021, 01:29:35 PM
#9
your formula if write in python, will help me to understand, kindly write python script, thankx

Code:
def point_add(Ax, Ay, Bx, By):
    """Point addition of points (Ax, Ay) and (Bx, By)"""

    lambda = (By - Ay)/(Bx - Ax)
    Cx = lambda**2 - Ax - Bx
    Cy = lambda*(Ax - Cx) - Ay
    return Cx, Cy   # Point (Cx, Cy) = (Ax, Ay) + (Bx, By)

Note that you will have to unserialize your hex numbers into integers before you can pass them here. The integer type in Python (unlike in other languages) is infinite-precision.
  File "main.py", line 33
    lambda = (By - Ay)/(Bx - Ax)
           ^
SyntaxError: invalid syntax
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 25, 2021, 01:13:23 PM
#8
your formula if write in python, will help me to understand, kindly write python script, thankx

Code:
def point_add(Ax, Ay, Bx, By):
    """Point addition of points (Ax, Ay) and (Bx, By)"""
    
    l = (By - Ay)//(Bx - Ax)
    Cx = l**2 - Ax - Bx
    Cy = l*(Ax - Cx) - Ay
    return Cx, Cy   # Point (Cx, Cy) = (Ax, Ay) + (Bx, By)

small edit: the code was full of no-break spaces

Note that you will have to unserialize your hex numbers into integers before you can pass them here. The integer type in Python (unlike in other languages) is infinite-precision.



 File "main.py", line 33
    lambda = (By - Ay)/(Bx - Ax)
           ^
SyntaxError: invalid syntax

Right. lambda is a keyword in Python so I have to name it something else. See the edited code.
member
Activity: 348
Merit: 34
April 25, 2021, 12:10:17 PM
#7

The formulas in that post are for compressing an X,Y pair into an x- coordinate, and has nothing to do with point addition. I have already given the formula for that in my first post, and that's what I'm going to assume you used to derive your answer:

x: 12faae608bd6562562b8f85564664cd1fdcd667f6b24b2b221ef86b9231f4d74
y: 512ee8cd9b34331afd05ccb8d81d1393c150c73ec5695845b731f7e6e0086719

your formula if write in python, will help me to understand, kindly write python script, thankx
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 25, 2021, 11:44:37 AM
#6

The formulas in that post are for compressing an X,Y pair into an x- coordinate, and has nothing to do with point addition. I have already given the formula for that in my first post, and that's what I'm going to assume you used to derive your answer:

x: 12faae608bd6562562b8f85564664cd1fdcd667f6b24b2b221ef86b9231f4d74
y: 512ee8cd9b34331afd05ccb8d81d1393c150c73ec5695845b731f7e6e0086719
member
Activity: 348
Merit: 34
member
Activity: 348
Merit: 34
April 23, 2021, 02:51:37 PM
#4
P + G = PG

hex prvkey is abc
x: 3ef30130654689a64c864d6dd38760481c55fc525e2c6c7084e2d2d3d4d51be9
y: f7d86b288c09ddb5311f292285168000e43e4b62201bd8de23a391daa8e00ce8

hex prvkey is def
x: 6a6e1dc6f203f7fdd97965892301e5fb995a37318c410543835f0edcd3456c49
y: 2a072b9898b93e9eb05f9ad86a97546d83b579bf6efd3482f93baca13784496b


result = hex prvkey is abcdef:

x: 12faae608bd6562562b8f85564664cd1fdcd667f6b24b2b221ef86b9231f4d74
y: 512ee8cd9b34331afd05ccb8d81d1393c150c73ec5695845b731f7e6e0086719
full member
Activity: 161
Merit: 168
April 23, 2021, 02:42:06 AM
#3
The points are coded like a public key:

abc A: 3ef30130654689a64c864d6dd38760481c55fc525e2c6c7084e2d2d3d4d51be9
abc B: f7d86b288c09ddb5311f292285168000e43e4b62201bd8de23a391daa8e00ce8

def A: 6a6e1dc6f203f7fdd97965892301e5fb995a37318c410543835f0edcd3456c49
def B: 2a072b9898b93e9eb05f9ad86a97546d83b579bf6efd3482f93baca13784496b


abc + def:
15cb9594ee936bd14b98139460879bee6f33b0f7c0ccb293825794d985f595be
aaad772a2ec81ab6013775e9edb274efe2e133e65e58949ac7f25429fb1bb152
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
April 23, 2021, 01:37:12 AM
#2
See this thread. I quote a post from there:

To get C = A + B, where A != B  (in other words A and B must not be the same point. If that's the case, use point doubling instead):

- lambda = (By - Ay)/(Bx - Ax)   (Note: no a term, even if the curve is not secp256k1!)
- Cx = lambda2 - Ax - Bx
- Cy = lambda*(Ax - Cx) - Ay

So point addition isn't concatenation or arithmetic addition, you simply take their uncompressed form, extract the X and Y values and perform the above operations on them and embed the X and Y result into an uncompressed point.

Note: "abc" and "def" don't look like curve points, because they are just hex numbers with no X and Y value.
member
Activity: 348
Merit: 34
April 22, 2021, 04:05:52 PM
#1
abc
023ef30130654689a64c864d6dd38760481c55fc525e2c6c7084e2d2d3d4d51be9
043ef30130654689a64c864d6dd38760481c55fc525e2c6c7084e2d2d3d4d51be9f7d86b288c09d db5311f292285168000e43e4b62201bd8de23a391daa8e00ce8

def
036a6e1dc6f203f7fdd97965892301e5fb995a37318c410543835f0edcd3456c49
046a6e1dc6f203f7fdd97965892301e5fb995a37318c410543835f0edcd3456c492a072b9898b93 e9eb05f9ad86a97546d83b579bf6efd3482f93baca13784496b

abcdef
0312faae608bd6562562b8f85564664cd1fdcd667f6b24b2b221ef86b9231f4d74
0412faae608bd6562562b8f85564664cd1fdcd667f6b24b2b221ef86b9231f4d74512ee8cd9b343 31afd05ccb8d81d1393c150c73ec5695845b731f7e6e0086719

here abc is 1 point, and 2nd point is def
if we can join or merge like abc add to def
where result would be abcdef point

abc+def = 18AB
one new func could be inside
like abc+def = abcdef
like point +point = pp ( line extended) ( not 2p)

point 1
point 2
a =1+2 = 3
more advance looking func

point 1
point 2
a =1+2 = 12

any ecc expert, can explain about this addition apply?
maybe it will called Point concatenate
Pages:
Jump to: