Semisol on Nostr: you can generate a private key k, and send the service K (k*G) the service can ...
you can generate a private key k, and send the service K (k*G)
the service can generate random value t, and add T (t*G) to K to get R (which is the resulting pubkey)
You can get the private key r by adding t and k together.
The service doesn’t learn anything about the resulting private key, and it can even prove it generated a key for you by revealing t (T would not work since you could fake it)
Published at
2023-10-25 13:35:45Event JSON
{
"id": "f2457a33ecbbd512d58e9420328138a3dc5b088fbb89593383f98fc469e6bd7e",
"pubkey": "52b4a076bcbbbdc3a1aefa3735816cf74993b1b8db202b01c883c58be7fad8bd",
"created_at": 1698240945,
"kind": 1,
"tags": [
[
"e",
"477aaa46f2b32cb83ecc938fd67b1a5d3cdac4981278820be864b5f83d77596e"
],
[
"e",
"fe1dc05440c6ed140ee97838f1bf1cae17405069b6a3565434dafcbdfc6c0a99"
],
[
"p",
"1bc70a0148b3f316da33fe3c89f23e3e71ac4ff998027ec712b905cd24f6a411"
],
[
"p",
"d3d74124ddfb5bdc61b8f18d17c3335bbb4f8c71182a35ee27314a49a4eb7b1d"
],
[
"p",
"fa984bd7dbb282f07e16e7ae87b26a2a7b9b90b7246a44771f0cf5ae58018f52"
]
],
"content": "you can generate a private key k, and send the service K (k*G)\nthe service can generate random value t, and add T (t*G) to K to get R (which is the resulting pubkey)\nYou can get the private key r by adding t and k together.\n\nThe service doesn’t learn anything about the resulting private key, and it can even prove it generated a key for you by revealing t (T would not work since you could fake it)",
"sig": "6d2b91cb738bd8f637b327a5699c47c15b203c28ebd6dc9b1f23ee4a62328ad1ac1949b23992c8df9c3ebd6ddc8fa8608925394c50ec50fd9e6d7a4eaea611b0"
}