I believe this question it's more about cryptography than about Ethereum.
The scalar multiplication operation for negative factors works like that:
scalar = k = 5
(−k)*P = (−P) + (−P) + ⋯ + (−P)
-5*P = (−P) + (−P) + (−P) + (−P) + (−P)
Using the Ethereum curve secp256k1
: y^2 = x^3 + 7
, that uses the Weierstrass form (Koblitz curve).
Modulo p prime:
p = 115792089237316195423570985008687907853269984665640564039457584007908834671663
Using one point of the curve, you can verify the above:
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: 76406008847812896589033277768041948326149893497514764173639878737137999759016