シュノア署名
#仕様
#署名
Schnorr signature
Nostr で利用されている電子署名(デジタル署名)アルゴリズムのこと
仕様
https://github.com/nostr-protocol/nips/blob/master/01.md
https://bips.xyz/340
大元の論文
Efficient Signature Generation by Smart Cards / C.P. Schnorr (March 1991)
Nostrでは、楕円曲線
secp256k1
を使う
実装(secp256k1ライブラリの一機能としてシュノア署名がある、という形)
C:
https://github.com/bitcoin-core/secp256k1
pure Rust:
https://github.com/paritytech/libsecp256k1
nostr-rs-relay(
) が利用
pure JS:
https://github.com/paulmillr/noble-secp256k1
nostr-tools
が利用
解説記事
fivebythree.net - Schnorr 署名に使われる数学 - 初等整数論
fivebythree.net - Schnorr 署名に使われる数学 - 楕円曲線
Schnorr署名 ―― 30年の時を超えて注目を集める電子署名 – びりあるの研究ノート
書籍
O'Reilly Japan - プログラミング・ビットコイン
1〜3章にかけて、secp256k1を計算するPythonプログラムを書いていく