SHA-1は認証やデジタル署名などに使用されるハッシュ関数です。 そのアルゴリズムが規定されているRFC3174の補足説明です。 注意事項 概略 アルゴリズム サンプルプログラム 雑記 参考資料 注意事項 以降の説明は次の条件で行っています。 1バイトは8ビットとする。 1ワードは4バイト(32ビット)とする。 理解しやすくするためバイト単位で説明をする。 C言語を対象にして説明をする。 longは4バイトの整数の変数とする。 unsigned longは4バイトの符号なし整数の変数とする。 概略 アルゴリズムは4つのステップでなりたっています。 ステップ1. メッセージの拡張 算出対象のメッセージを切りのいい長さまで拡張します。 ステップ2. 使用関数と使用定数の定義 計算に使用する関数と定数を準備します。 ステップ3. メッセージダイジェストの計算 64バイト毎にSHA-1の値を算出し