0
$\begingroup$

I would like to know if there is any standard for storing public and private keys for Schnorr signature

$\endgroup$
1
  • 1
    $\begingroup$ There are many variants of Schnorr signatures, on different kinds of groups; see e.g. this. Does the context specify something, like the group used? $\endgroup$
    – fgrieu
    Commented Jul 30, 2021 at 10:28

1 Answer 1

1
$\begingroup$

There is none. Schnorr's signature had only ever been academically described, so no standard for it there is all variaty of potentially incompatible specifications for it, lacking a uniform standard. There was standard for ElGamel encryption when NIST was running the OSI Implementor's Workshop, but it wasn't widely used.

There is however, EdDSA, which is a composition of Edwards elliptic curve with Schnorr's signature. It's specified in RFC-8032.

Of course, lacking a uniform standard doesn't prevent us from storing private key as big-endian integers and public keys as big-endian integers or elliptic curve points. All you need is to choose an existing standard (e.g. PKCS#3, SEC#1, IEEE-1363, ISO/IEC-14888-3, etc.) and apply its encoding to the academic version of Schnorr.

$\endgroup$
4
  • $\begingroup$ Can't agree with "no standard for it". There are too many! For example; ISO/IEC 14888-3 standardizes "Elliptic Curve Schnorr Digital Signature Algorithm" as EC-SDSA [OID 1.0.14888.3.0.11] with variant EC-SDSA-opt [OID 1.0.14888.3.0.13], and EC-FSDSA [OID 1.0.14888.3.0.12]. EC-SDSA-opt is endorsed by ETSI, and BSI also an ECSDSA (with a fix). I was told one of these is used in a Smart Card application. $\endgroup$
    – fgrieu
    Commented Jul 30, 2021 at 10:49
  • 1
    $\begingroup$ @fgrieu Is my new wording acceptable? $\endgroup$
    – DannyNiu
    Commented Jul 30, 2021 at 12:36
  • $\begingroup$ Ok, but i would like to know if there is any known way to save and store the Schnorr keys like you would do with ECDSA's or RSA's $\endgroup$ Commented Jul 30, 2021 at 13:39
  • $\begingroup$ @RazvanMarian Added a paragraph for you. $\endgroup$
    – DannyNiu
    Commented Jul 30, 2021 at 14:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.