DES 【Data Encryption Standard】
概要
DES(Data Encryption Standard)とは、1977年にアメリカ連邦政府標準規格として採用された暗号方式。「DES」は旧米国立標準局(NBS/現NIST)の標準規格としての名称で、暗号方式(暗号アルゴリズム)そのものを指す場合は「DEA」(Data Encryption Algorithm)と呼ぶこともある。暗号化と復号に同じ暗号鍵を用いる共通鍵暗号(秘密鍵暗号)の一つで、データを64ビット単位に区切って処理するブロック暗号である。鍵長は56ビットだが、パリティチェック用の8ビットを加えた64ビットを鍵データとして管理する。
暗号化の手順
DESでは変換処理を行った結果に再度同じ処理を行うという繰り返し(ラウンド)を16回行うが、それぞれのラウンドでは元の鍵から一定の計算により生成した異なる鍵データ(ラウンド鍵)を用いる。
最初にデータを32ビットずつ半分(L,R)に分割し、一回のラウンドでは半分(R)を変換して残りの半分(L)と合成する処理を行う。次のラウンドでは前回の合成結果を新たなR、変換に用いた半分(R)を新たなLとして同じ処理を行う。
このような処理方式は考案者のホルスト・ファイステル(Horst Feistel)氏にちなんで「Feistel構造」(ファイステル構造)と呼ばれ、暗号化と復号が同じアルゴリズムになる(適用する鍵データを変えるだけでよい)ことからDES以外にも様々な暗号方式に広まった。
歴史
DESは米IBM社により1960年代後半から研究開発が行われ、1977年に米連邦情報処理標準(FIPS)として採用された。米政府の情報システム調達などで対応が必須の暗号方式となり広く利用されたほか、計算手順が公開されており民間や他国の公的機関でも広く採用された。
1990年代になりコンピュータの処理性能が向上すると、56ビットという鍵長では解読が容易になってしまい、また、暗号研究の進展により差分解読法や線形解読法などの効率的な攻撃法が考案されたため、現代では安全な暗号方式ではないとされている。
応急的に安全性を高める方式として、異なる2つまたは3つの暗号鍵を用いてDESによる暗号化・復号を3回繰り返す「Triple DES」(トリプルDES/3DES/TDES)が考案された。1999年には、より安全で高速処理可能な暗号標準として「AES」(Advanced Encryption Standard)が米政府に採用され、DESに代わって利用されるようになった。