Title: 🖤
Post by: digaran on September 22, 2023, 11:40:45 AM
🖤
Title: Re: Python point subtraction
Post by: vjudeu on September 22, 2023, 02:02:08 PM
# Perform pointwise subtraction inverse_x2 = pow(x2, p-2, p) x3 = (x1 + (p - x2)) % p y3_squared = (pow(x3, 3, p) + 7) % p y3 = pow(y3_squared, (p+1)//4, p) x3_hex = hex(x3)[2:].zfill(64) y3_hex = hex(y3)[2:].zfill(64) This does not look like point subtraction. Not at all. Compare it with point addition, that garlonicon described some time ago, and note that point subtraction is just "a+(-b)", so if you swap between "02" and "03" in the second key, and use addition, you will reach subtraction. Then, we add these two points: modulo=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F px=79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798 py=483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 qx=C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5 qy=1AE168FEA63DC339A3C58419466CEAEEF7F632653266D0E1236431A950CFE52A c=(qy-py)/(qx-px) c=(1AE168FEA63DC339A3C58419466CEAEEF7F632653266D0E1236431A950CFE52A-483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)/(C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5-79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798) c=d2a68e877f99fed44620881d385be245fade7e1c8be17cc7871c611855bf0ca1/4c4619154810c1c0daa4ddd8c73971d159db91705f2113ce51b9885e4578874d c=d2a68e877f99fed44620881d385be245fade7e1c8be17cc7871c611855bf0ca1*ac946f7cd9ccebb8d59803e73c7d12aa395b2eb7e59a8ba119742df442fc6604 c=342119815c0f816f31f431a9fe98a6c76d11425ecaeaecf2d0ef6def197c56b0 rx=c*c-px-qx rx=342119815c0f816f31f431a9fe98a6c76d11425ecaeaecf2d0ef6def197c56b0^2-79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798-C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5 rx=38f37014ce22fc29cf19f28a5ce4da091445536c3e2cff318ba07c2a3048f518-79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798-C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5 rx=bf350995d446407d79798ff48e5dcf0211a95691105ed65831adface1950d9af-C6047F9441ED7D6D3045406E95C07CD85C778E4B8CEF3CA7ABAC09B95C709EE5 rx=f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 ry=c*(px-rx)-py ry=342119815c0f816f31f431a9fe98a6c76d11425ecaeaecf2d0ef6def197c56b0*(79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798-f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9)-483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 ry=342119815c0f816f31f431a9fe98a6c76d11425ecaeaecf2d0ef6def197c56b0*808ddc7d6783f89c0c6c130fd5e9b8dd4d6a3495aa5e8f28d3f090465a17dcce-483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 ry=80ca558689d1ac796d8833e23848fbff62185de1db4777350901ce057fc9bb2a-483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 ry=388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672 As you can see, we have: rx=f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 ry=388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672 That matches 3*G: 04 F9308A019258C31049344F85F89D5229B531C845836F99B08601F113BCE036F9 388F7B0F632DE8140FE337E62A37F3566500A99934C2231B6CB9FD7584B8E672 3*G
Title: Re: Python point subtraction
Post by: WanderingPhilospher on October 25, 2023, 02:45:45 AM
I think I have such a script.
Did you finally get yours to work?
Title: Re: Python point subtraction
Post by: Eva1uy on October 25, 2023, 02:53:33 AM
Times are developing and technology is progressing! !
Title: Re: Python point subtraction
Post by: hexan123 on October 25, 2023, 05:06:24 AM
if I want to subtract points t=j-d
------------------------------------------------------------------------------------------------------------------------ def subpoint (xj, yj, xd, yd): xt = (((yj*yj+2*yd*yj+yd*yd)*modinv (xd*xd-2*xd*xj+xj*xj,N2))-xd-xj)%N2 yt = ((((yj+yd)*(xt-xd))*modinv(xd-xj,N2))+yd)%N2 return (xt, yt) ------------------------------------------------------------------------------------------------------------------------- modinv modulo division N2 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
Title: Re: Python point subtraction
Post by: NotATether on October 26, 2023, 08:36:03 AM
Why aren't you using a module like fastecdsa to perform the point subtraction, if I may ask?
|