设秘密 nonce 为 r,承诺为 R = r·G,挑战为 e = H(R ‖ P ‖ m),私钥为 x,则签名为 (R, s),其中 s = r + e·x mod n;验证者检查 s·G = R + e·P。它是对一个身份识别协议应用 Fiat–Shamir 变换的结果,在随机预言模型下,基于离散对数假设可证明其不可伪造。Schnorr 的专利使它在2008年专利到期之前一直未能进入标准,这也是 DSA 和 ECDSA 要绕开该专利来设计的原因。
EdDSA 是基于 Edwards 曲线、采用确定性 nonce 的 Schnorr 方案。比特币的 BIP-340(2021年11月随 Taproot 激活)定义了基于 secp256k1 的 64 字节 Schnorr 签名,采用 32 字节的仅 x 坐标公钥和标签哈希;Nostr 使用同一方案。
由于签名可以相加,n 个签名者能在一个聚合密钥下生成一个签名:n-of-n 用 MuSig2(BIP-327),t-of-n 用 FROST(RFC 9591)。与 ECDSA 相比,它不需要模逆运算,编码固定后也不存在 s/n − s 延展性,批量验证的开销也很低。nonce 规则相同:对两条消息重复使用 r 会暴露 x。