SHA-3 【Secure Hash Algorithm 3】 Keccak

概要

SHA-3(Secure Hash Algorithm 3)とは、任意の長さの原文から特徴的な固定長(ハッシュ値)を算出するハッシュ関数(要約関数)の標準規格の一つで、SHA-1およびSHA-2の後継。データの同一性の確認に用いられる。

SHA-3はハッシュ関数の計算手順(アルゴリズム)を定義しており、どんな長さのデータからも常に同じ長さのハッシュ値を生成する。同じ原文からは必ず同じが得られる一方、少しでも原文が異なると規則性なく全く異なるとなる。ハッシュ値から原文を求めることはできず、同じハッシュ値になる別の原文の作成も困難なように設計されている。

データの伝送や複製をなう際に、入力側と出力側でハッシュ値を求め一致すれば、途中で改竄や欠落などが起こっていないことを確認することができる。また、暗号認証デジタル署名などの要素技術として様々な場面で利用される。

SHA-3はSHA-2の後継規格を定めるべくNIST米国標準技術局)が暗号学者らに公募したもので、応募された方式の中から「Keccak」(キャチャックあるいはケチャックと読む)が選ばれ、2015年に連邦情報処理標準「FIPS 202」として公式に発表された。

ハッシュ値の長さはSHA-2と同じ224ビットSHA3-224)、256ビットSHA3-256)、384ビットSHA3-384)、512ビットSHA3-512)が用意されているが、新たに出力値を可変長として生成時に任意の長さを指定できる「SHAKE128」「SHAKE256」という2つのモードが用意された。これらは算出過程は同じだがハッシュ値が長いほど安全性が高い。

SHA-1およびSHA-2は計算方式の基礎が共通していたが、Keccakはこれらとは全く異なる方式で計算をっている。SHA-2で256~512ビットだった計算時の内部状態長は1600ビットで、SHA-2で2128-1ビットまでだったメッセージ長の上限はなくなり、計算時のラウンド数(同じ操作の繰り返し回数)は80回から24回に減るなど、いくつかの特徴が大きく異なっている。

2020年代初頭の状況ではSHA-1に対する現実的な攻撃手法が考案され、SHA-1の廃止とSHA-2への移行が急がれている。SHA-2に対する効率的な攻撃手法は未だ報告されておらず、SHA-3への移行を急ぐ必要は無いが、主要な暗号通信ソフトウェア通信プロトコル規格などがSHA-3対応仕様の追加などを進めており、使用可能な環境が整いつつある。

(2022.2.10更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる