HAVAL-160/3 ハッシュコード計算機
出版された: 2025年2月18日 19:59:53 UTC
可変長 160 ビット、3 ラウンドのハッシュ (HAVAL-160/3) ハッシュ関数を使用して、テキスト入力またはファイルのアップロードに基づいてハッシュ コードを計算するハッシュ コード計算機。HAVAL-160/3 Hash Code Calculator
HAVAL (可変長ハッシュ) は、1992 年に Yuliang Zheng、Josef Pieprzyk、Jennifer Seberry によって設計された暗号化ハッシュ関数です。これは MD (メッセージ ダイジェスト) ファミリーの拡張であり、特に MD5 からヒントを得ていますが、柔軟性とセキュリティが大幅に向上しています。128 ビットから 256 ビットまでの可変長のハッシュ コードを生成し、データを 3、4、または 5 ラウンドで処理します。
このページで紹介されているバリアントは、3 ラウンドで計算された 160 ビット (20 バイト) のハッシュ コードを出力します。結果は 40 桁の 16 進数として出力されます。
完全開示:このページで使われているハッシュ関数の特定の実装を書いたのは私ではない。これはPHPプログラミング言語に含まれる標準関数である。私は便宜上、ウェブ・インターフェースを作成し、ここで一般に利用できるようにしただけである。
HAVALハッシュアルゴリズムについて
HAVAL は、完成したスムージー (ハッシュ) を見ただけでは元のレシピが分からないほど、材料 (データ) を徹底的に混ぜ合わせるように設計された超強力なブレンダーだと想像してください。
ステップ 1: 材料 (データ) を準備する
HAVAL にメッセージ、パスワード、ファイルなどのデータを渡しても、そのままミキサーに放り込むわけではありません。まず、次の処理が行われます。
- データをクリーンアップして、きちんとした断片に切り分けます (これをパディングと呼びます)。
- 全体のサイズがブレンダーにぴったり合うことを確認します (スムージーの材料がジャーに均等に満たされるようにするなど)。
ステップ2: ラウンドでブレンドする(ミキシングパス)
HAVAL は「ブレンド」を 1 回押すだけではありません。スムージーを複数回ブレンドしてすべての塊が粉砕されるように、データを 3 回、4 回、または 5 回にわたってミックスします。
- 3 パス: クイックブレンド (高速ですが、あまり安全ではありません)。
- 5 回のパス: 非常に徹底したブレンド (遅いですが、より安全です)。
各ラウンドでは、特殊な「ブレード」(数学演算)を使用して、データを予測不可能な方法で切り刻み、反転し、かき混ぜ、つぶして、異なる方法でデータを混合します。
ステップ3:秘密のソース(圧縮機能)
HAVAL はブレンドの合間に、秘密のソース、つまり、さらに味を引き立てる特別なレシピを加えます。このステップにより、データのほんのわずかな変更 (パスワードの 1 文字の変更など) によって、最終的なスムージーがまったく異なるものになります。
ステップ4: 最後のスムージー(ハッシュ)
すべてのブレンドが終わると、HAVAL が最終的な「スムージー」を注ぎ出します。
- これはハッシュ、つまりデータの一意の指紋です。
- 元のデータの大きさに関係なく、ハッシュは常に同じサイズです。どんなサイズの果物でもブレンダーに入れても、常に同じカップのスムージーができるようなものです。
2025 年現在、暗号化の目的において十分に安全であると考えられているのは HAVAL-256/5 のみですが、新しいシステムを設計する際には使用しないでください。レガシー システムでまだ使用している場合、直ちにリスクはありませんが、長期的には SHA3-256 などに移行することを検討してください。