我现在尝试用标量乘法来恢复v,但是我有关于ECC标量乘法的问题。
我想知道下面的方程式是否正确。
如果标量*P= Q,那么标量* (-P) = (-Q)?
例如,假设5*P=5* (Px,Py) = (Qx,Qy)
5* (-P) =5* (x,-y) = (Qx,-Qy)正确吗?
如果有熟悉椭圆曲线密码的人,请帮助我。谢谢!
发布于 2019-07-17 19:21:23
我相信这个问题更多的是关于密码学的,而不是关于以太的。
负因子的标量乘法运算是这样工作的:
scalar = k = 5
(−k)*P = (−P) + (−P) + ⋯ + (−P)
-5*P = (−P) + (−P) + (−P) + (−P) + (−P)使用Ethereum曲线secp256k1:y^2 = x^3 + 7,它使用Weierstrass形式(Koblitz曲线)。
模p素数:
p = 115792089237316195423570985008687907853269984665640564039457584007908834671663使用曲线的一个点,您可以验证上面的内容:
Point P = (Px, Py):
Px: 88557899412428680052041839616894562461261334161833606533830754247259944108251
Py: 34702325852084136078619568153466699496255363507872892365540796564166359798327
Point -P = (Px, -Py):
Px: 88557899412428680052041839616894562461261334161833606533830754247259944108251
-Py: 81089763385232059344951416855221208357014621157767671673916787443742474873336
Point Q = (Qx, Qy) = 5 * (Px, Py):
Qx: 52731728111805074880654456353252121798595467574662768547858124403109672375563
Qy: 39386080389503298834537707240645959527120091168125799865817705270770834912647
Point -Q = (Qx, -Qy):
Qx: 52731728111805074880654456353252121798595467574662768547858124403109672375563
-Qy: 76406008847812896589033277768041948326149893497514764173639878737137999759016
Point 5*(-P) = (Qx, -Qy):
Qx: 52731728111805074880654456353252121798595467574662768547858124403109672375563
-Qy: 76406008847812896589033277768041948326149893497514764173639878737137999759016https://ethereum.stackexchange.com/questions/72971
复制相似问题