改竄の検出
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/02 09:30 UTC 版)
例えば、「ある文書が正確かどうか検証したいが、その文書そのものを記録・比較したくない」場合を考える。ここでもしこの文書を代表する数値(文書の要約)を数学的に作り出すことができれば、この要約だけを記録し、比較すれば良いことになる。このような要約を作る操作がハッシュ化である。 より具体的に、今、ハッシュ関数として、「5字ごとに1字を選択し、その列を並べたものをハッシュ値とする」という操作を選択したとすると、このハッシュ関数によって、元の文書を1/5に短縮することができる。しかしこの方法では、 うまく間に適当な文字を入れて、別の文書を作ることが出来る。 推測から元の文書も復元できてしまう事もある。 短い定型的文章では、異なる文書から同じ要約が出来てしまうこともあり得る(衝突、コリジョン)。 1万字の文章では、要約だけで2000文字になる という問題がある。そこで、このようなことが確率論的に現実には起こりにくくなるようなハッシュ関数を工夫をする必要がある。 通常は元データのバイナリ表現を使い、それを複雑に操作し数十~数百ビットのハッシュ値を作る。 改竄の検出を行う場合は、単純なハッシュ関数アルゴリズムを用いると、容易に同じハッシュ値を求めることができるため、安全に設計されたハッシュ関数を用いる必要がある。
※この「改竄の検出」の解説は、「ハッシュ関数」の解説の一部です。
「改竄の検出」を含む「ハッシュ関数」の記事については、「ハッシュ関数」の概要を参照ください。
改竄の検出
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/11 10:04 UTC 版)
情報通信における誤り検出訂正の技術を応用し、改竄を検知する手法が普及している。 あらかじめ、完全なデータに対して、ハッシュ関数等によりハッシュ値を算出し、別途記録しておく。検証する場合は、改めて同じ方法でハッシュ値を算出し、一致することを確認すれば良い。ハッシュ値の衝突によって、改竄を検知できない可能性はあるが、その場合は、データサイズが不一致となる可能性が高い。ハッシュ関数の設計とデータの大きさにもよるが、一般的な文書程度のデータ量であれば、ハッシュ値とデータのサイズが同じで、かつ意味を成すデータを作成することは不可能であり、確実に改竄を検出することができる。
※この「改竄の検出」の解説は、「改竄」の解説の一部です。
「改竄の検出」を含む「改竄」の記事については、「改竄」の概要を参照ください。
- 改竄の検出のページへのリンク