SHA-3 より 10 倍高速な BLAKE2 暗号化ハッシュ関数が利用可能

アルゴリズムの最終実装が公開されました ブレイク3、ファイルの整合性チェック、メッセージ認証、デジタル署名用のデータ生成などのアプリケーション向けに設計された暗号化ハッシュ関数を提供します。 BLAKE3 は、パスワードのハッシュを目的としたものではなく (パスワードの場合は、yescrypt、bcrypt、scrypt、または Argon2 を使用する必要があります)、衝突がないことを保証し、ハッシュをできるだけ早く計算することを目的としています。 プロトタイプを見つける ハッシュされたデータのサイズには影響されません。 BLAKE3のリファレンス実装 出版された パブリック ドメイン (CC0) と Apache 2.0 に基づくデュアル ライセンス。

新しいハッシュ関数の主な違いは、SHA-3 レベルの信頼性を維持しながら、ハッシュ計算のパフォーマンスが非常に高いことです。 デフォルトでは、BLAKE3 での結果のハッシュ サイズは 32 バイト (256 ビット) ですが、任意の値に拡張できます。 16 KB ファイルのハッシュ生成テストでは、BLAKE3 は SHA3-256 を 15 倍、SHA-256 を 12 倍、SHA-512 を 8 倍、SHA-1 を 6 倍、BLAKE2b を 4 倍上回っています。 非常に大量のデータを処理する場合、重大なギャップが残ります。たとえば、BLAKE3 は次のようになります。 より速い 256 GB のランダム データのハッシュを計算する場合、SHA-8 を 1 倍にします。

SHA-3 より 10 倍高速な BLAKE2 暗号化ハッシュ関数が利用可能

このアルゴリズムは、有名な暗号化専門家によって開発されました (ジャック・オコナー, ジャン・フィリップ・オーマソン, サミュエル・ネベス, ZookoWilcox-O'Hearn) アルゴリズムの開発を続けています ブレイク2 ブロックチェーンツリーをエンコードするメカニズムを使用します バオ。 BLAKE2 (BLAKE2b、BLAKE2s) とは異なり、BLAKE3 はビット深度やハッシュ サイズに縛られず、すべてのプラットフォームに単一のアルゴリズムを提供します。

ラウンド数を 10 から 7 に減らし、ブロックを 1 KB 単位で個別にハッシュすることで、パフォーマンスの向上が実現しました。 制作者によれば、説得力のあるものを見つけたという。 証拠、同じレベルの信頼性を維持しながら、7 ラウンドではなく 10 ラウンドで済みます (わかりやすくするために、ミキサーで果物を混合する例を挙げることができます。7 秒後には果物はすでに完全に混合されており、さらに 3 秒で混合されます)混合物の粘稠度には影響しません)。 しかし、研究者の中には、現時点では 7 ラウンドでハッシュに対するすべての既知の攻撃に十分耐えられるとしても、将来新たな攻撃が確認された場合には追加の 3 ラウンドが役立つ可能性があると考え、疑問を表明している人もいます。

ブロックへの分割に関しては、BLAKE3 ではストリームが 1 KB の部分に分割され、それぞれの部分が独立してハッシュされます。 ベース上のピースのハッシュに基づく バイナリマークルツリー 4 つの大きなハッシュが形成されます。 この分割により、ハッシュを計算する際のデータ処理の並列化の問題を解決できます。たとえば、4 スレッドの SIMD 命令を使用して XNUMX つのブロックのハッシュを同時に計算できます。 従来の SHA-* ハッシュ関数はデータを順番に処理します。

BLAKE3の特徴:

  • ハイパフォーマンス;
  • 耐性を含む安全性 メッセージ延長攻撃、SHA-2 は影響を受けやすいです。
  • 任意の数のスレッドと SIMD チャネルでの計算の並列化を保証します。
  • 増分更新とストリームの検証済み処理の可能性。
  • PRF、MAC、KDF、XOF モードおよび通常のハッシュとして使用します。
  • すべてのアーキテクチャに対応する単一のアルゴリズムで、x86-64 システムと 32 ビット ARM プロセッサの両方で高速です。

出所: オープンネット.ru

コメントを追加します