エンベデッドシステムスペシャリスト暗記無料で始める

ハッシュ関数とは?はっしゅかんすう

ハッシュ関数とは、任意長の入力から固定長の値を求める一方向の関数。同じ入力からは必ず同じ値が出る一方で、値から入力を復元することも、同じ値になる別の入力を見つけることも計算量的に困難という性質を持ち、改ざん検出と署名の前処理に使う。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の過去問では2問の解説で触れられています(2017年度〜2021年度)。

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

数百キロバイトのファームウェアを丸ごと公開鍵演算にかけようとすると、時間もメモリも足りない。入力を32バイト程度の固定長へ潰してから署名すれば、検証にかかるコストは入力の大きさによらず一定になる。1ビット変わっただけで値が全く別物になるため、圧縮しても検出能力は落ちない。起動時間の制約が厳しい機器ほど、この構造が効いてくる。

具体例

セキュアブートでは、更新イメージ全体のSHA-256値を求め、ROMに焼いた公開鍵で検証した署名の中の値と突き合わせる。比較対象は32バイトなので、イメージが大きくなっても検証時間とRAM消費はほとんど増えない。

試験での引っ掛け

ハッシュ値だけでは誰が作ったかを保証できない。攻撃者はデータとハッシュ値を両方差し替えられるため、鍵を伴う署名やメッセージ認証符号と組み合わせて初めて改ざん検出になる。衝突が現実的に作れるMD5・SHA-1は用途から外す。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 2問の解説で触れられる(2017年度〜2021年度)
  • 分野:午前II
  • ハッシュ値だけでは誰が作ったかを保証できない。