ブロックチェーンに最適化されたschnorr署名について、検証を完了しました。まずOpenSSLでschnorrを再現し、署名&検証をじっくり検証しました。そして、公開鍵のY座標が偶数という点が大事でした。

AI-NFT

題名の通りで、うまくいきました。OpenSSLでschnorr署名の細部を再現し、検証と同時に内部の構造等も掌握しました。
https://github.com/FromHDDtoSSD/SorachanCoin-qt/blob/master/src/bip32/keydebug.cpp

検証プロセスが安定しない症状が出たので、調べていたらBIP-340に当たりました。公開鍵のY座標に、偶数という制限がありました。これで、検証時にランダムに秘密鍵を生成した際、公開鍵のY座標が奇数だと、検証に失敗していました。ただ、全部ではないようで、検証できる可能性が下がります。もちろん、確実に検証できなくてはならず、それでは使えませんので、公開鍵のY座標は偶数にします。

OpenSSLでの再現の次は、libsecp256k1でも再現し、OpenSSLの検証結果と完全に一致する点を確認してから、libsecp256k1のschnorr署名をSORA-QAI(量子&AI耐性)とマルチシグする流れで開発を進めます。

タイトルとURLをコピーしました