0
$\begingroup$

I understand that:

$[a+b]G = [a]G + [b]G$

where $a$ and $b$ are secret keys. (See: Is there a relationship between the secp256k1 public key of the sum of two private keys, and the public keys of those original two private keys?)

If, under the circumstances:

  • ECDSA is the signing algorithm.
  • Alice publishes the public key as $[a]G$ where $a$ is her secret key.
  • Bob creates a one-use secret key $x\_secret = hash(\text{"Bob chose this"})$.
  • Bob publishes $x\_secret$.

Do the following conditions hold?

  • Only Alice can sign messages with the secret key $(a + x\_secret)$, as no-one else knows both secret keys.
  • Anyone can verify such a message's signature using the public key pubkey(alice_secret).combine(pubkey(x_secret)), as anyone can calculate pubkey(x_secret) from the previously published x_secret.
$\endgroup$
8
  • $\begingroup$ The answer might depend on what "sign" means. Is that ECDSA, or some of the various Schnorr signatures around? Is "can sign messages" met by producing one signature (checking under pubkey(alice_secret).combine(pubkey(x_secret)) of a message that Alice has signed? Of course we must assume Bob did not make use of alice_secret to create x_secret. Perhaps Bob should use x_secret = hash("Bob chose this") and publish that. $\endgroup$
    – fgrieu
    Apr 24, 2021 at 8:18
  • $\begingroup$ @fgrieu Thanks, I've edited the question to incorporate your suggestions. $\endgroup$
    – fadedbee
    Apr 24, 2021 at 9:02
  • $\begingroup$ @kelalaka Sorry, the code is in an answer to the linked question: crypto.stackexchange.com/a/83733/17505 $\endgroup$
    – fadedbee
    Apr 24, 2021 at 9:03
  • $\begingroup$ Well, the code doesn't check the result and we are not coding site. Anyway, You said bob publishes $x\_secret$ you should say Bob send it secretly yo Alice? the name secret, not really secret. $\endgroup$
    – kelalaka
    Apr 24, 2021 at 9:51
  • $\begingroup$ Yes. Both of your conditions hold. As noted though, x_secret is misleading terminology. It's not clear why someone would want to do this (perhaps side-channel resistance?), but they could. $\endgroup$
    – Daniel S
    Apr 24, 2021 at 11:30

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.