情報処理安全確保支援士暗記無料で始める

データ圧縮(ハフマン符号化)とは?でーたあっしゅく

データ圧縮(ハフマン符号化)とは、出現頻度の高い記号ほど短いビット列、低い記号ほど長いビット列を割り当てて全体のビット数を減らす可逆圧縮方式がハフマン符号化。原理は出現頻度の偏りを削ることなので、偏りが残っていないデータ、たとえば暗号化済みのデータや既に圧縮されたファイルには、ほとんど効かない。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

別名:データ圧縮、ハフマン符号化

情報処理安全確保支援士を最短で暗記・合格する →

背景

回線が細く記憶装置が高価だった時代に、同じ内容をより少ないビットで運ぶ必要から生まれた技法である。支援士で押さえるべきは圧縮率そのものではなく、暗号との順序関係のほうだ。暗号化した後のデータは統計的な偏りが消えるので圧縮は効かず、順序は圧縮が先になる。ところが圧縮を先に置くと、出力の長さが元データの内容に依存するという副作用が残り、この長さの変化からcookieの中身を推測する攻撃がTLSやHTTPの圧縮に対して知られている。

具体例

ZIPで使われるDeflateは、繰り返し表現をLZ77で置き換えたうえで、残った記号をハフマン符号化する二段構えである。「a」が頻出し「z」がまれな日本語混じりの文章なら、前者に2ビット、後者に8ビットのような可変長の符号を割り当てることで、一律8ビットより小さくなる。

試験での引っ掛け

ハフマン符号化は元データを完全に復元できる可逆圧縮で、JPEGやMP3のような非可逆圧縮とは別物である。またどんなデータでも縮むわけではなく、すべての記号の出現頻度が等しければ効果はなく、乱数列ではむしろ増えうる。可変長なのに区切り記号なしで復号できるのは、どの符号も他の符号の先頭部分にならない(語頭条件を満たす)よう割り当てているからで、単に短い符号を配るだけでは復号できない。

関連用語

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

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • ハフマン符号化は元データを完全に復元できる可逆圧縮で、JPEGやMP3のような非可逆圧縮とは別物である。