Any integer x over GF(p) have a modular inverse x^-1 so that...

semisol
npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj
hex
2fb357d6e85df4c25cc73f2004130021d45217b41a0b7b5ec9c26491625020eenevent
nevent1qqszlv6h6m59maxztnrn7gqyzvqzr4zjz76p5zmmtmyuyey3vfgzpmsprpmhxue69uhhyetvv9ujuem4d36kwatvw5hx6mm9qgs99d9qw67th0wr5xh05de4s9k0wjvnkxudkgptq8yg83vtulad30gtcq0reKind-1 (TextNote)
↳ 回复 SatsAndSports (npub1zthq85gksjsjthv8h6rec2qeqs2mu0emrm9xknkhgw7hfl7csrnq6wxm56)
> All tweaks are reversible by the server and so they can derive your nsec easily You could *multiply* by the tweak 't', instead of adding +t*G, and ...
Any integer x over GF(p) have a modular inverse x^-1 so that x * x^-1 = 1.
So the view private key v = H(S || “magic number”) * s (where s is your nsec, and S = sG = npub) can be reversed, by testing each possible S’, and if it holds, then it is the view key for S’:
S’ = H(S’ || “magic number)^-1 * v * G = H^-1 * H * s * G = sG = S
Then you can trivially reverse the key
s = H(S || “magic number”)^-1 * v
原始 JSON
{
"kind": 1,
"id": "2fb357d6e85df4c25cc73f2004130021d45217b41a0b7b5ec9c26491625020ee",
"pubkey": "52b4a076bcbbbdc3a1aefa3735816cf74993b1b8db202b01c883c58be7fad8bd",
"created_at": 1779745516,
"tags": [
[
"e",
"348eba4d0eabe5fe8c9f501fa4e1fb34be58658dafbc371b48b9dce0e3f9f2e0",
"wss://relay.ditto.pub",
"root",
"06b7819d7f1c7f5472118266ed7bca8785dceae09e36ea3a4af665c6d1d8327c"
],
[
"e",
"41749b81e09fcedacc82a75509aa079bea27bb99c7fb90ab9e87a0d21e72d927",
"wss://relay.damus.io",
"reply",
"12ee03d11684a125dd87be879c28190415be3f3b1eca6b4ed743bd74ffd880e6"
],
[
"p",
"06b7819d7f1c7f5472118266ed7bca8785dceae09e36ea3a4af665c6d1d8327c"
],
[
"p",
"12ee03d11684a125dd87be879c28190415be3f3b1eca6b4ed743bd74ffd880e6"
]
],
"content": "Any integer x over GF(p) have a modular inverse x^-1 so that x * x^-1 = 1.\n\nSo the view private key v = H(S || “magic number”) * s (where s is your nsec, and S = sG = npub) can be reversed, by testing each possible S’, and if it holds, then it is the view key for S’:\n\nS’ = H(S’ || “magic number)^-1 * v * G = H^-1 * H * s * G = sG = S\n\nThen you can trivially reverse the key\n\ns = H(S || “magic number”)^-1 * v",
"sig": "30998128044036fbd47babe3e7e9838e4299cea620bc379f129961d00cc0a0ed8bb32097ae350b6d9e3156c86ab4ece8823599430f80d4c6c8bb901e4d84dde1"
}