bitcoin

AI-NFT

[libsecp256k1で確認完了] invert(e) * privの場所です。オーバーフローが原因だったため、格納できない分をあらかじめ引き、差を取ってから、引いた分を戻す(加える)操作で確認完了です。

libsecp256k1で動かない理由がオーバーフローにある点を突き止めました。どうやら位数だとオーバーフローする仕様で、その位数から1を引いた数は格納できる内容でした。まさか、楕円曲線の定数がオーバフローするとは考えておらず、overfl...
AI-NFT

negの一部はOpenSSLで確実を取りました。そこは引くだけなので、使い方が違うのかな。

schnorr署名の導入のうち、eに対するnegの過程で、libsecp256k1のnegが上手く作用しないため、暫定的な処置としてその部分だけOpenSSLで代用する内容となりました。計算の内容はシンプルで、単に値を入れてnegしてから加...
AI-NFT

決まった数(定数)に対するnegなので、直接、バイナリで操作することで引くことにしました。

昨日の続きです。libsecp256k1のnegが期待通りに作用しないため、BIGNUMに変換後、OpenSSLの関数で引いて、その結果をbe32でlibsecp256k1のスカラーに戻す手法があります。ただ、これはちょっと厳しいため、直接...
AI-NFT

あと少し。公開鍵の偶奇を問わずSignとVerifyの動作確認が取れたOpenSSLによるschnorr署名を、libsecp256k1で動かせれば完了です。ただ、一部のnegで苦戦中です。

今日もタイトル通りです。OpenSSLで動作の確認が取れたのですが、これをlibsecp256k1で動かせるかどうか、です。ただ一か所、negが思った通りに動かず、引くことができない状況です。OpenSSLでは正常動作しているため、書いた実...
AI-NFT

検証中のschnorr署名で、Rの計算手法を少し変え、X座標とY座標の両方一致(つまり点の一致)で有効とする方法の確認が取れました。

検証中のschnorr署名で、Rの計算手法を少し変え、X座標とY座標の両方一致(つまり点の一致)で有効とする方法の確認が取れました。X座標の一致でも十分な気はしますが、Y座標まで検証可能なら、これで楕円曲線の点を完全に捉えてた形で、署名の有...
AI-NFT

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

題名の通りで、うまくいきました。OpenSSLでschnorr署名の細部を再現し、検証と同時に内部の構造等も掌握しました。検証プロセスが安定しない症状が出たので、調べていたらBIP-340に当たりました。公開鍵のY座標に、偶数という制限があ...
AI-NFT

線形なschnorr署名に、SORA-QAI(量子&AI耐性)をマルチシグする構成で、同時にSegWitを導入します。

題名の通りです。この構成であれば、集約してまとめた鍵をコンパクトにSORA-QAI(量子&AI耐性)にすることができます。すでにsora1のアドレスでSORA-QAIが稼働しておりますので、SegWitとtaprootを導入しながら、同時に...