I am building an application in which I need to sign a message without revealing my entire identity.
To do so, I just compute a zk proof with the following purpose:
- prove I own the secret key sk associated with a public key pk (that matches some properties, e.g. $pk \in Authorized\_keys$)
- sign a message with $sig = H(sk|msg)$
with $H$ a hash function.
Is it safe ?
Should I use a more advance construction (such as $sig = H(sk \oplus opad, H(sk \oplus ipad$, msg)) to build a HMAC) ?