SORA chapter

bitcoin

Support for all processes with the sora1 address

As of today’s release of version 3.82.14, we have added quantum-resistant support for change transactions as well, using...
bitcoin

By leveraging blockchain technology, we concluded that it is possible to construct anonymous encrypted communication that cannot be traced or intercepted due to the nature of P2P and aggregate signatures.

We have released version 3.77.14. In this release, we have implemented and confirmed the realization of encrypted commun...
BLOCKCHAIN

ブロックチェーン技術を活用すると、P2Pと集約署名の性質から、逆探知や傍受が一切できない匿名暗号通信を構築することが可能と結論できました。

v3.77.14をリリースしました。そこで、タイトル通りの暗号通信が実現可能な点を実装し、確認できました。ヘルプのデバッグウィンドウにGUIで搭載しております。もはやそこには「IPアドレス」などの概念すらありません。インターネットでは「IP...
bitcoin

暗号通信用のクラスが、検証を含めて完成しました。

暗号通信用のクラスが、検証を含めて完成しました。これにより、暗号メッセージ付きトランザクションと、Web3ブロックチェーン・ファイル転送サービスを実装する準備が整いました。片方は数日以内にサービスを提供できるかな。ファイル転送サービスは20...
bitcoin

Schnorr集約署名で束ねた鍵から対称鍵を作る。

Schnorr集約署名は楕円曲線で動作しておりますので、対称鍵を簡単に作る事ができます。それは、自分側の秘密鍵と相手側の公開鍵をスカラー倍にするだけで得ることができます。相手側の公開鍵には相手側の秘密鍵が含まれているため、そこに自分側の秘密...
bitcoin

ブロックチェーン版への完全移行についてのご案内

ブロックチェーンのセキュリティに関する鍵の開発において、集約による特性により「安全性」と「署名検証安定性」を確実に確認することができました。これに基づき、FromHDDtoSSDはブロックチェーン版へ完全に移行することを決定いたしました。こ...
bitcoin

Schnorr署名 5000キー集約でいきます。

これと量子&AI耐性をマルチシグすれば、怖いものはないと判断しました。実際のデータなどをブロックチェーン経由で記録する場合は、この集約を必須といたします。ハッカーなどを相手では50や100などの中途半端な集約ではいけません。やはり5000で...
bitcoin

ウォレット内部にあるECDSA鍵をSchnorr署名集約クラスのXOnlyPubKeysにpushしていくだけで検証できるようになりました。本実装ではY座標偶数の制約はありませんので、ECDSAの代わりにSchnorr署名を使うことができます。

この方向性で、75個のECDSA鍵を集約して実稼働できる見通しが立ちました。Y座標偶数の制約がないため、ウォレット内部から自由に選んでpushして集約することができます。便利です。
bitcoin

最終考察(その7)の前に……「Schnorr署名」が完成しました。BIP340にある公開鍵Y座標に対する制約解除(ウォレット内部の鍵を制限なくそのまま利用可能)、nonceは乱数、Verifyは完全一致(X座標だけではなくY座標も一致)、集約により100個のマルチシグであっても公開鍵32バイト固定、署名64バイト固定になります。

OpenSSLとlibsecp256k1で検証を重ねていた「Schnorr署名」が完成しました。テストも、計算上も問題ありません。これで自信を持って実装できます。魅力的なのは、集約により100個のマルチシグであっても公開鍵32バイト固定、署...
AIデータ復旧サービスについて

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

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

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

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

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

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

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

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

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

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

schnorr署名、検証を完了しました。そこで、実装に手を加えて再検証です。Rを利用する計算手法の部分です。

やはりschnorr署名では、署名の際に無作為に決めたRのY座標が偶数で、そのX座標がハッシュから得たX座標と等しくなるという性質でした。そこで、Rを利用する計算手法を少し変えると、X座標とY座標の両方が一致する場合もあり、今、その両方が一...