BlockChain

bitcoin

SHA-256 ハッシュ関数は開発者の意向や意思をダイレクトに組み込める構造物

RoundとIVはオリジナルのままなので、いわゆる透明性の象徴であった「K定数」はそのままです。結局、補助関数のみでこれだけいじることができるのです。これで、K定数だけではハッシュ関数の透明性は維持できない。やはりハッシュ関数は開発者の意向や意思をダイレクトに組み込める構造物でした。
bitcoin

SHA-256 後半部分にも存在

反転率が0になるのは、前半部分だけではなく後半部分にもあります。つまり、このように攪拌しないビットを基準に、どの程度を左右へと攪拌させるのか。それが調整可能となっている構造でした。
bitcoin

SHA-256 また別パターン

また別パターン。これだけ試してもHamming distance histogramは正常な点に注意です。Hamming distance histogramでは出力の雪崩効果は掌握できないということです。
bitcoin

SHA-256 ラウンド数が多い=必ず全ビット反転率が攪拌ではない

調整は自由自在です。つまり「ラウンド数が多い=必ず全ビット反転率が攪拌ではない」ということです。以下の例です。Roundはそのままです。補助関数だけで、調整できました。
bitcoin

SHA-256 ビット反転はもともと調整可能

まさに「人間がいじれる構造を過信するな」ですね。
bitcoin

SHA-256 sigma1

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

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

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

SHA-256 Sigma1

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

SHA-256 Sigma0

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

量子問題解決に向けて出発

今年は、解決。それのみですね。決まりましたよね。ハッシュレート低下に対しても保留判断ですよね。それでは、よろしくお願いいたします。
bitcoin

SHA-256 Maj

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

SHA-256 Ch

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

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

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

SHA-1とSHA-256、ようやくです。ありました。みつけましたよ。

そして、ようやくです。ありました。みつけましたよ。見つけた手法をSHA-1に適用した結果が以下の結果Aです。ご覧のとおり、反転しないビットがはっきりと浮かび上がっています。しかも連続しています。これは、ちょうどh3に該当する領域です。これだけ連続して弱い部分があれば、差分パスで狙われ、破られてしまった理由も自然に説明がつきます。
bitcoin

ここでSHA-1です。

このSHA-1、破られた過程は公開されているのですが、なぜそのような過程に導かれたのかは表に出ていないはずです。そのため、そこを探るにはビット反転率から自分で探す必要が生じました。そしたら……、構造でしょうね。その構造にぴったりはまる、その解析手法こそが、計算量のオーダーまでぴったり合わせられる手法へと形作られていきました。