DES(データ暗号化規格)とAES(高度暗号化規格)はどちらも対称ブロック暗号です。 AESはDESの欠点を克服するために導入されました。 DESの鍵サイズが小さいため、このトリプルDESを克服するのは安全性が低くなりますが、遅くなりました。 したがって、後にAESが米国標準技術局によって導入されました。 DESとAESの基本的な違いは、 DESでは、平文ブロックはメインアルゴリズムが始まる前に2つに分割され、 AESではブロック全体が暗号文を得るために処理されるということです。
以下に示す比較表を使って、DESとAESの違いについてもう少し説明しましょう。
比較表
比較基準 | DES(データ暗号化規格) | AES(高度暗号化規格) |
---|---|---|
基本 | DESでは、データブロックは2つに分割されます。 | AESでは、データブロック全体が単一の行列として処理されます。 |
原理 | DESはFeistel暗号構造に取り組んでいます。 | AESは、置換および置換の原則に取り組んでいます。 |
平文 | 平文は64ビットです | 平文は128、192、または256ビットです。 |
キーサイズ | DESはAESと比べて鍵サイズが小さくなります。 | AESはDESと比較して鍵サイズが大きくなります。 |
ラウンド | 16ラウンド | 128ビットアルゴのための10ラウンド 192ビットアルゴのための12ラウンド 256ビットアルゴで14ラウンド |
ラウンド名 | 拡張順列、Xor、Sボックス、Pボックス、Xorおよびスワップ。 | サブバイト、Shiftrows、Mix列、Addroundkeys。 |
セキュリティ | DESには小さい鍵があり、それは安全性が低くなります。 | AESは比較的大きな秘密鍵を持っているため、より安全です。 |
速度 | DESは比較的遅いです。 | AESは速いです。 |
DES(データ暗号化規格)の定義
データ暗号化規格(DES)は、 1977年 に米国標準技術局によって採用された対称鍵ブロック暗号です。 DESは、プレーンテキストが2つに分割されているFeistel構造に基づいています。 DESは、入力を64ビットのプレーンテキストと56ビットのキーとして受け取り、64ビットの暗号文を生成します。
下の図では、DESを使用した平文の暗号化を見ることができます。 最初に、64ビット平文は、64ビット置換入力を得るためにビットを並べ替える初期置換を受けます。 今、この64ビット置換入力は、2つの半分、すなわち32ビット左部分と32ビット右部分に分割される。 この部分は両方とも各ラウンドが同じ機能に従う16ラウンドを経る。 16ラウンドの完了後、最後の置換が行われ、64ビットの暗号文が得られます。
- 拡張順列 :ここでは、32ビット右部分が48ビット右部分を形成するように拡張される。
- Xor :48ビットの右部分は、56ビットのキーから得られた48ビットのサブキーを持つXorで、48ビットの出力になります。
- Sボックス :Xor stepで得られた48ビットの出力が再び32ビットに縮小されます。
- Pボックス :ここで、Sボックスから得られた32ビットの結果が再び並べ替えられ、その結果、32ビットの並べ替え出力が得られる。
AES(Advanced Encryption Standard)の定義
Advanced Encryption Standard(AES)も対称鍵ブロック暗号です。 AESは、 米国標準技術局によって2001年に発行されました。 DESは非常に小さい暗号鍵を使用し、アルゴリズムはかなり遅いため、AESはDESを置き換えるために導入されました。
- サブバイト: Sボックスを使用して、ブロック全体(マトリックス)をバイト単位で置換します。
- 行シフト:行列の行をシフトします。
- 列の混在:行列の列は右から左にシャッフルされます。
- ラウンドキーを追加する:ここで、現在のブロックと拡張キーのXorが実行されます。
そして最後の10ラウンドは、サブバイト、シフト行、およびラウンドキー追加ステージのみを含み、16バイト(128ビット)の暗号文を提供します。
DESとAESの主な違い
- DESとAESの基本的な違いは、DES内のブロックがさらに処理される前に2つに分割されるのに対し、AESではブロック全体が暗号文を取得するために処理されることです。
- DESアルゴリズムは、Feistel暗号の原理に基づいて動作し、AESアルゴリズムは、置換および置換の原理に基づいて動作します。
- DESの鍵サイズは56ビットで、128、192、または256ビットの秘密鍵を持つAESよりも比較的小さいです。
- DESのラウンドには、拡張順列、Xor、Sボックス、Pボックス、Xor、およびスワップがあります。 一方、AESのラウンドには、サブバイト、シフトローフ、ミックスコラム、アドラウンドキーが含まれます。
- DESは、鍵サイズが小さいため、AESよりも安全性が低くなります。
- AESはDESよりも比較的高速です。
結論:
DESはより古いアルゴリズムであり、AESはDESよりも高速で安全な高度なアルゴリズムです。