Bitcoin Forum
May 07, 2024, 07:42:07 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How to calculate Lambda and Beta for n and p?  (Read 119 times)
digaran (OP)
Copper Member
Hero Member
*****
Offline Offline

Activity: 1330
Merit: 899

🖤😏


View Profile
October 11, 2023, 04:38:40 PM
Merited by NotATether (10)
 #1

I know Hal (rip) talked about them here but since I'm not that good with math, I can't find a way to calculate them for other curves, if I'm not mistaken Lambda is derived from n while Beta is derived from p, correct? Is there a formula preferably in python to derive these 2 values for different curves?

I'd appreciate the help, I'm just trying to test different curves, using Lambda and Beta as n and p, then if I have a way to calculate the lambda value for secp256k1's Lambda I could use them for my studies.

🖤😏
1715110927
Hero Member
*
Offline Offline

Posts: 1715110927

View Profile Personal Message (Offline)

Ignore
1715110927
Reply with quote  #2

1715110927
Report to moderator
Transactions must be included in a block to be properly completed. When you send a transaction, it is broadcast to miners. Miners can then optionally include it in their next blocks. Miners will be more inclined to include your transaction if it has a higher transaction fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715110927
Hero Member
*
Offline Offline

Posts: 1715110927

View Profile Personal Message (Offline)

Ignore
1715110927
Reply with quote  #2

1715110927
Report to moderator
1715110927
Hero Member
*
Offline Offline

Posts: 1715110927

View Profile Personal Message (Offline)

Ignore
1715110927
Reply with quote  #2

1715110927
Report to moderator
1715110927
Hero Member
*
Offline Offline

Posts: 1715110927

View Profile Personal Message (Offline)

Ignore
1715110927
Reply with quote  #2

1715110927
Report to moderator
j2002ba2
Full Member
***
Offline Offline

Activity: 204
Merit: 437


View Profile
October 11, 2023, 05:54:12 PM
Last edit: October 12, 2023, 03:20:57 AM by j2002ba2
Merited by NotATether (2), albert0bsd (1)
 #2

lambda and beta are non-trivial cube roots of 1 modulo n and p.
λ3 = 1 (mod n)
β3 = 1 (mod p)
[λ](x,y) = (βx,y)

Since there are 3 of each you'd have to match them (2 are non-trivial, so there is just one equality check).

You could find how to get such root of 1 here.

So, let your curve is modulo q, and has order m, both prime numbers.
Compute a primitive root of 1 modulo q:
a≠1
aq-1 = 1 (mod q)
Then the cube root of 1 would be:
k = a(q-1)/3 = 11/3 (mod q)

Instead of finding a primitive root of 1, one could directly find a cube root of 1, this is faster:
k = (-1-sqrt(-3))/2 (mod q)

Do the same modulo the order of the curve m:
b≠1
bm-1 = 1 (mod m)
λ = b(m-1)/3 = 11/3 (mod m)

Then check which one matches:
[λ](x,y) = (kx,y)
β = k
or
[λ](x,y) = (k2x,y)
β = k2 (mod q)



Pages: [1]
  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!