DES(Data Encryption Standard)
DESとは
DES(Data Encryption Standard)とは、1977年にアメリカ連邦政府標準の暗号方式として採用された共通鍵暗号アリゴリズムの一つです。
共通鍵暗号の特徴は「暗号化」と「復号」に使用する鍵が同じという点です。
上記は共通鍵暗号のイメージ図です。送信側で「共通の鍵」を使い「平文」を「暗号文」に暗号化して送信、受け取った受信側でも同じ「共通の鍵」を使い「暗号文」を「平文」復号しています。
共通鍵暗号の詳細はこちら
DESの暗号化アルゴリズム
DESは、データを一定の量(ブロック)に分けて「暗号文」に変換していくブロック暗号で、ブロック長は64ビットです。
そして、鍵の長さは8ビットはパリティチェックを含めた、64ビットを鍵データとして管理しています。(アルゴリズム上の実際の鍵の長さは56ビット)
DESでは、ラウンドと呼ばれる変換処理を16回行い、それぞれのラウンドでは元の鍵から一定の計算により生成した異なる鍵データ(ラウンド鍵)を使用。そして、DESのラウンドで使用される構造のことを「Feistel構造」(ファイステル構造)と呼びます。
DESに代わるアルゴリズム
1977年に制定されたDESは、長い間 共通鍵暗号のアルゴリズムとして用いられていたが、コンピュータの処理速度向上による強度不足(56ビットという鍵の長さでは解読が容易、「差分解読法」や「線形解読法」などの攻撃法に対応できない)などの問題が表面化し、NIST(アメリカ国立標準技術研究所)は1997年に次世代の暗号標準であるAES(Advanced Encryption Standard)の候補を公募。
その結果、ベルギーのホァン・ダーメン (Joan Daemen) と フィンセント・ライメン (Vincent Rijmen) が設計した Rijndaelを2000年10月に採用。
そして、AES(Advanced Encryption Standard)は2001年11月に FIPS 197 として正式に公表されています。