I would like to know if there is any standard for storing public and private keys for Schnorr signature
1 Answer
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.
-
$\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$– DannyNiuCommented 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$– DannyNiuCommented Jul 30, 2021 at 14:17