ブレイク3 es 暗号化ハッシュ関数 その MD5、SHA-1、SHA-2、SHA-3、BLAKE2よりもはるかに高速であることが特徴です。、さらに、MD5やSHA-1とは異なり、より安全です。 また、SHA-2とは異なり、長さの延長に対して安全です。
内側がマークルツリーであり、x86-64や小規模なアーキテクチャでも高速なバリアントフリーのアルゴリズムを備えているため、任意の数のスレッドとSIMDレーン間で高度に並列化できます。
ブレイク3 確立されたハッシュ関数BLAKE2の最適化されたインスタンスに依存します 元のバオツリーモードで。 仕様と設計の正当性はBLAKE3用紙に記載されています。 デフォルトの出力サイズは256ビットです。
16 KBファイルのハッシュ生成テストでは、3ビットキーのBLAKE256 SHA3-256を17倍、SHA-256を14倍上回っています、SHA-512 9回、SHA-1 6回、BLAKE2b5回。
これは、大量のデータを処理する場合でも残る大きなギャップです。たとえば、BLAKE3は、8GBのランダムデータのハッシュを計算するときにSHA-256よりも1倍高速であることが判明しました。
パフォーマンスの向上は、ラウンド数を10から7に減らし、ブロックを個別に1KBのチャンクにハッシュすることで達成されました。 作成者によると、彼らは、同じレベルの信頼性を維持しながら、7ラウンドではなく10ラウンドで成功できるという説得力のある数学的証明を見つけました。
同時に、一部の研究者は、ハッシュ内のすべての既知の攻撃に対抗するには現在7ラウンドで十分であるとしても、将来新しい攻撃が検出された場合はさらに3ラウンドが役立つ可能性があると考えて疑問を表明します。
BLAKE3について
ハッシュ関数 ファイルの整合性検証などのアプリケーション向けに設計されています、暗号化デジタル署名のメッセージ認証とデータ生成。 BLAKE3は、ハッシュをできるだけ速く計算することを目的としているため、パスワードのハッシュ用には設計されていません(パスワードの場合は、低速のハッシュとescrypt、bcrypt、scrypt、またはArgon2関数を使用することをお勧めします)。
問題のハッシュ関数は、処理されるデータのサイズに影響されず、衝突検索や原像攻撃から保護されます。
アルゴリズムは 有名な暗号学者によって開発され、BLAKE2アルゴリズムの開発を続けています そして、Baoメカニズムを使用してブロックチェーンツリーをエンコードします。 BLAKE2(BLAKE2b、BLAKE2s)とは異なり、BLAKE3 すべてのプラットフォームに単一のアルゴリズムを提供します これはビット幅とハッシュサイズに関係していません。
として ブロック分割、BLAKE3ではストリームが1KBのチャンクに分割されます そして各ハッシュフラグメントは独立しています。 大きなハッシュは、バイナリ マークル ツリーに基づくピースのハッシュに基づいて形成されます。
この分離により、データ処理の並列化の問題を解決できます ハッシュを計算するとき。 たとえば、4線式SIMD命令を使用して、4ブロックハッシュを同時に計算できます。 従来のSHA- *ハッシュ関数はデータを順番に処理します。
その他の BLAKE3の機能は次のとおりです。
- PRF、MAC、KDF、XOFモードで、通常のハッシュとしてのアプリケーション。
- x86-64システムと32ビットARMプロセッサの両方で高速なすべてのアーキテクチャ用のアルゴリズム。
BLAKE3とBLAKE2の主な違いについて:
- 二分木構造を使用して、ハッシュ計算で無制限の並列処理を実現します。
- ラウンド数を10から7に減らします。
- XNUMXつの操作モード:ハッシュ、キー付きハッシュ(HMAC)、およびキー生成(KDF)。
- 以前にキーのパラメータブロックによって占められていた領域を使用するため、キーをハッシュするときに追加のオーバーヘッドはありません。
- それを可能にするExtensibleOutput Function(XOF)の形で機能する組み込みメカニズム
- 並列化と配置(検索)。
最後に あなたがそれについてもっと知りたいなら、詳細を確認できます 次のリンクで。