暗号通貨

bitcoin

SHA-256 sigma1

この補助関数にもいろいろな操作が組み込まれていますが、調整しても綺麗に雪崩効果を保っています。そうですよね……。このような調整は、表向きに見えないのです。よって、決まった順序で出力したとアピールされている「IV(初期値)」や「Roundの各定数」とは、そこが異なります。
bitcoin

SHA-256 sigma0 過度の信用は厳禁

この関数についても、内部の定数やビット操作を多少調整しても基本的な特性は大きく変わりません。実際に以下の結果の通り、雪崩効果は十分に維持されています。つまり、この関数内部に用いられている数値や構造は「これ以外は使えない」という数学的定理によって一意に決まっているものではありません。よって、調整可能な自由度が比較的大きい構造で、その点において厳密な定理に強く拘束される数学的構造(楕円曲線など)とは、信頼の質が根本的に異なります。
bitcoin

SHA-256 Sigma1

SHA-256のSigma1です。左右にビットを散らすような動作になっております。これも、調整されて作られたものであって、数学的な定理などで縛られたものではないのです。よって、このビットの動き方に似た別の調整、すなわち出力ハッシュ値まで変えてしまうほどの変更を与えたところで、ハッシュ関数としての性質、すなわち雪崩効果などは変化しません。それが、以下の結果です。
bitcoin

SHA-256 Sigma0

少しいじって触れた結果です。綺麗ですよね。壊れる気配はありません。つまりハッシュ関数は、少しいじれば壊れるシビアな設計ではないということです。その設計には余裕がある。確認してみて、わかった事実です。
bitcoin

SHA-256 Maj

マジョリティの性質を満たすように調整する分には、他の式でも問題ない。もちろん、こんな僅かな調整であっても出力ハッシュ値は変化します。でも、特性は変わりませんので、雪崩効果等の検査をパスしたなら、これをハッシュ関数として使う事はできるのです。調整ができる……絶対に忘れてはならない、ハッシュ関数の別の顔でもあります。
bitcoin

SHA-256 Ch

この式の形。数学的に決まっているものだとすっかり勘違いしていました。ところが違います。数学的な証がある訳ではございません。その証拠に、実際にChを僅かに変化させて測定した結果が以下になります。
bitcoin

それでは、暗号論的ハッシュ関数 SHA-256 を詳しく見ていきましょう

そのためにはまず、いくつかの 先入観を捨てること が不可欠です。実を言うと、私自身もこれらの先入観に縛られており、その結果、約六年間にわたってハッシュ関数を誤った形で解釈してしまっていました。
bitcoin

量子ビット数 2500

最近、ブロックチェーン関連ニュースでよくみかける数値です。ちょっとこれを掘り下げてみましょうか。この2500から、技術的な面から、思惑に至るまで、全てが詰まっていることがよくわかる状況となっておりました。
bitcoin

しっかり整備しました

まずは正常な場所の数値を多数出していき、そこから比較していきましょう。もちろんSHA-256だけではなく、Blake2sやKeccackなども計算できるようにしております。
bitcoin

それでは、各ハッシュ関数別に、気になる場所の統計情報を出力していきます(結局その原因こそが、ショート勢のシークレットなのでしょう)

原因がわかれば、そこから対策法を練ることが可能になっていました。逆に、それなしでは出せません。結局その原因こそが、ショート勢のシークレットなのでしょう。おそらく数年前から気づいていた。それで昨年、量子だったのでしょう。
bitcoin

合成ハッシュ

ブロックチェーン特有の構造で、ハッシュの出力を、新たにハッシュの入力に入れます。このためf(g(x))のような構造を取ります。なぜこのような構造を取るのか。それは……「わからない」が正解です。
bitcoin

ハッシュ関数の盲点

Satoshi is SHA-256(SS256)公式サイトにも明記した通り、結局……無理矢理感があって、そのおかげで修復できる。もともと全体構造を取るものから、どう直るのか。そのあたりも、しっかりまとめていきます。
bitcoin

各ハッシュ関数の特性を並べていきます

いろいろとみていく過程の中で、SHA-256を観察する。わかりやすいように工夫いたします。それから、どうするのか。それが対策につながっていきます。
bitcoin

量子問題の刺さり具合を定める「ハッシュ関数の各状態別の分散値」と量子ビット数の考察

とりあえず、細かな点はあとから説明を加えるとして、量子問題の刺さり具合を定める「ハッシュ関数の各状態別の分散値」と量子ビット数の考察です。量子ビット数は「2500 - 8000」のような話が流れていました。はたして、そんな少数で処理可能なのだろうか。そんなところから、しっかりみていきます。
bitcoin

32ビットでシミュレーション

調査目的であっても8ビットだと小さ過ぎました。32ビットでも十分に探ることができるため、この水準で試しております。