Tuesday, April 15, 2025
HomeBitcoincryptography - Can two factors of various elliptic curves could be added?

cryptography – Can two factors of various elliptic curves could be added?

TL;DR: you’ll be able to to a restricted extent outline what level addition between two distinct curves is, by simply reusing the formulation, however there is not going to be any relation between this and the corresponding personal keys.


Allow us to contemplate elliptic curves of the shape

Y2 = X3 + aX + b, modulo p

(these are known as quick Weierstrass curves)

For secp256k1, p = 2256 – 232 – 977, a = 0, b = 7.

Essentially the most impactful parameter is p. For those who change p, you alter what form of numbers X and Y are. Whereas they’re written identically, “the integer 37“, “the integer 37 within the set of numbers modulo p“, and “the integer 37 within the set of numbers modulo q ≠ p” are all three very completely different beasts, with very completely different mathematical properties. Due to this, I will keep on with the identical modulus p going ahead. For those who change the modulus, I do not see the way you’d outline what operations on elliptic curve factors seem like. Which modulus do you utilize?

As an alternative, let’s limit ourselves to modulus p. Now have a look at the elliptic curve level addition equation (which doesn’t apply when including a degree to itself or its negation, however ignore these) for including the purpose (X1,Y1) to (X2,Y2), leading to (X3,Y3):

X3 = λ2 – X1 – X2, and Y3 = λ(X1 – X3) – Y1, the place λ = (X2 – X1)-1(Y2 – Y1), all modulo p.

Be aware that ()-1 refers back to the modular inverse right here, not the common inverse.

Now observe that neither the curve coefficients a or b seem on this equation. Because of this in idea, there isn’t any problem with appropriating the identical components to attempt to do a cross-chain level addition. We’ll get some numbers out; the query is simply if these are significant numbers.

Because you’re asking a couple of relation between the personal keys, we’ve a further requirement. The personal keys reside in yet one more sort of quantity house, the integers modulo n, the place n is the order of the curve, and this order is determined by the opposite parameters (p, a, and b). If we preserve a=0 like in secp256k1, we discover the next orders:

  • b=1: n = p – 671331852483699643819086596696745227419
  • b=2: n = p + 432420386565659656852420866390673177328
  • b=3: n = p – 238911465918039986966665730306072050092
  • b=4: n = p + 238911465918039986966665730306072050094
  • b=5: n = p – 238911465918039986966665730306072050092 (identical as b=3)
  • b=6: n = p + 671331852483699643819086596696745227421
  • b=7: n = p – 432420386565659656852420866390673177326 (secp256k1)
  • b=8: n = p – 671331852483699643819086596696745227419 (identical as b=1)
  • b=12: n = p – 671331852483699643819086596696745227419 (identical as secp256k1, b=7)

Non-public keys aren’t comparable when working with curves of distinct orders, so let’s decide two equal-order curves:

  • E1 : Y2 = X3 + 7 (secp256k1)
  • E2 : Y2 = X3 + 12 (identical order as secp256k1).

And let’s decide a degree on every:

  • P1 = (1, √8) ∊ E1 (be aware that √ right here refers back to the modular sq. root).
  • P2 = (3, √39) ∊ E2

If we apply the addition components to those factors, we get (95199522409000127469965119215597403251155081608447464174576216444950477495870, 17817862784113219767619204370558314933049610986520000131582270812967486670101) which lies on yet one more curve, Y2 = X3 + 113806959772543662429059682568787218964422045791894232716808486305727155222289, which has order n = p + 671331852483699643819086596696745227421. Because the order is completely different from secp256k1, this implies its personal key shall be incomparable to secp256k1 personal keys.

Let’s attempt once more:

  • Q1 = (4, √71) ∊ E1
  • Q2 = (8, √524) ∊ E2

Including these, we get (83860777440659491102688138897119789724824336349874362905090427965396639347581,94100849044437599780075883675011580302479606607256518328981974291822837065288), which lies on curve Y2 = X3 + 49979308264443915896639903731913831145103210634021312327468991256158292998092, which has order n = p + 432420386565659656852420866390673177328.


So, even after we decide maximally related curves, and attempt to add factors throughout them, we find yourself with factors that land on varied distinct unrelated curves, on which the personal keys are meaningless to match with secp256k1.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments