DESの概要
DESは共通鍵暗号系である。共通鍵暗号とは、暗号化と復号化に同じ鍵を使用する暗号系のことである。
DESは平文(64bit)と鍵(64bit、実質は56bit)を入力することにより、暗号文(64bit)を出力する。つまり、図1のようになる。
図1 DESの暗号化の略図
|
DESは共通鍵暗号系なので、復号化には暗号文(64bit)と鍵(64bit、実質56bit)を入力することで平文(64bit)を得られる。つまり図2のようになる。
図2 DESの復号化の略図
|
このままでは暗号化をすることができるのは64bitのデータのみになってしまう。そこで一般的には、暗号化しようとしているデータを64bitのブロックに区切り、そのブロックを次々と暗号化することで、この問題を解決している。(図3)
図3 実際的なDESの暗号化1
|
平文のデータ長が64bitの倍数ではない場合には、データの最後にダミーのデータを付け加えることで64bitの倍数にする。その後、暗号化を行う。(図4)
図4 実際的なDESの暗号化2
|
備考
図1と図2を見ると、平文・暗号文・鍵のうち2つが分かれば残りの1つも得られるように感じてしまう。だが、暗号系に要求される性質として、「たとえ、平文と暗号文が既知であったとしても鍵を求めるのは困難である」というものがある。DESもこの要求に沿って設計されており、平文・暗号文から鍵を求めるのは難しい。但し、不可能ではない。
|