keccakアルゴリズム

Keccakは何ですか

Keccak SHA-3は、標準的な一方向ハッシュ関数アルゴリズムとして選択しました。

Keccakハッシュ値は、任意の長さで生成されてもよいが、SHA-2のハッシュ値の長さを適合させるために、SHA-3規格はSHA3-224、SHA3-256、SHA3-384、SHA3-512 4つのバージョンを提供します。入力データの最大長さの点で、SHA-1は、1ビット2 264は、SHA-2が1 ^ 128 2ビットSHA-3および無長さの制限です。

これは、ある202も出力してもよい、任意の長さのハッシュ値を二つの機能を提供するFIPS、及びSHAKE128 SHAKE256です。名前がSHAKEセキュアハッシュアルゴリズムとKeccakこれらの言葉から取られているといわれています。

ところで、Keccak BillesヴァンAsscheにの建築家の一人は、Githubの上KeccakToolsと呼ばれるソフトウェアをリリースしました。次のアドレスにします。https://github.com/KeccakTeam/KeccakTools

二つのスポンジ構造

以下に示すように、完全に異なるとSHA-1、SHA-2、スポンジ構造を用いKeccak。

 

Keccakスポンジ構造、データ入力は、充填後に行われる、押出ステージ吸収段階、出力を生成する最終的なハッシュ値を通過します。

「スポンジ構造」名音奇妙な、想像は、吸収性スポンジになり、水に浸した後、水出しにケースの内側。同様に、メッセージは、スポンジ構造Keccakは、第一の入力状態の内部に吸収され、その後、内部状態に対応するハッシュ値を押し出します。

1吸収段階プロセス

パディングは、各ビットrに応じて入力パケットの複数の成分に切断された後、入力メッセージ

まず、「内部状態のrビット」とXORするための「入力パケット1」、「関数fの入力値」として結果

次いで、「R F関数の出力ビット」とXORするための「入力パケット2」、その結果再び関数fの「入力値」として

最後の着信パケットまで、上記の手順を繰り返します

すべての入力パケット処理は、押出の段階に、吸収段階の終わりを完了すると

関数fの効果は、複雑なデータ入力であり、R = + Cビットの内部状態のB長さの演算対象となるかき混ぜ操作(= R + CビットのB入力と出力の両方の長さ)、結果を出力します少し水分場合である内部状態0の初期値は、繰り返しビットによってメッセージ全体のビット、における入力パケットの内容物を攪拌することにより、スポンジ構造の内部状態に「吸収性」であろうスポンジの内部に吸い込まれ、各入力パケット長が吸収され、Rは、したがってビットレートと呼ばれ、rビットです。

入力パケットは内容が図から見ることができるされていない場合、関数fは、ビットがrの入力の長さではなく、R + Cビット、内部状態は、ビットCに直接的な影響を有している(ただし、関数fによることを意味します間接的に)影響を受けました。Cは、本明細書容量と呼ばれます。

押出プロセスのステージ2

最初は、名前を付けて保存「出力パケット1」、及び全体の出力値(R + Cビット)「のrビット関数fの出力値が」再び関数fに入力されます。

その後、名前を付けて保存「出力パケット2」、および全体の出力値(R + Cビット)、「rビット関数fの木プールの値が」再び関数fに入力されます。

繰り返して所望の出力データ長まで上記ステップを実行します

かまたは吸収段階の押出段階は、それ自体F論理機能は全く同じであり、それぞれが関数fを行い、スポンジ構造の内部状態が再び撹拌します。

押出段階が実際「(Rビット)攪拌の内部状態と出力パケットを生成する」操作を実行し、それがユニット、データビットスポンジ構造の内部状態として、ビットレート(rビット)であります彼は同じ出てくるためにスポンジの内部から水のように、少し絞りました。

押出段階においては、容量のR + Cビット(Cビット)の内部状態は、出力に直接間接に関数fを介して出力内容に影響を与えるデータ値の一部パケットの一部ではありません。従って、容量Cの意義は、漏洩入力メッセージの機能のいくつかを防止するためです。

三つの二重構造

下に示すように、スポンジ構造の変形例として、Keccakはまた、二重鎖構造を提示します。

 

 

スポンジ構造では、メッセージは、吸収すべての入力は、出力を開始するために完了されますが、二重鎖構造に、入力と出力が同じ速度です。双方向通信では、同時に送受信を全二重と呼ばれ、二重鎖構造Keccakも同じ意味を表します。

二重鎖構造を用いることにより、Keccakだけでなく、ハッシュ値を計算するために使用され、また、そのような擬似乱数生成器、ストリーム暗号、認証及び暗号化のように、メッセージ認証コードを他の用途の暗号ツールボックスの多様をカバーすることができます。

おすすめ

転載: www.cnblogs.com/sky1130/p/11918794.html