Table of Contents
高度な暗号化標準(AES)は、データセキュリティを確保するために広く使用されている暗号化アルゴリズムです。 さまざまなアプリケーションで採用され、通信の確保から保存されたデータを保護します。 この記事では、その操作を理解するための例の計算を含むAESの実用的な概要を提供します。
AESの基本
AESは、暗号化と復号化の両方に同じキーが使用されるという対称キー暗号化アルゴリズムです。 これは、通常、128ビットの固定サイズのブロックで動作し、128ビット、192ビット、256ビットのキーサイズをサポートしています。 暗号化プロセスは、複数の置換、透過、およびデータの混合のラウンドを含み、安全な暗号文を生成する。
暗号化プロセス
AES 暗号化プロセスは、いくつかの手順で構成されています。
- []サブバイト:]] 定義済みのSボックスを使用して、サブ置換をバイトします。
- [ShiftRows:]] 状態配列の行を円滑にシフトします。
- []MixColumns:[]] 列を組み合わせてデータを拡散させます。
- [AddRoundKey:]]は、メインキーから派生した丸キーで状態を結合します。
鍵の大きさに応じて、このシーケンスは、MixColumnsのステップを省略する最後のラウンドで、ラウンド数を繰り返します。
計算例
128ビットキーでシンプルな128ビットブロックを暗号化することを検討してください。 最初のプレーンテキストは、00112233445566778899aabbccddeeffとして16進数で表されます。 キーは000102030405060708090a0b0c0d0e0fです。 最初のステップは、新しい状態に終って、プレーンテキストに丸キーを追加することを含みます。 サブシーケントラウンドは、置換、シフト、混合、およびキーを変換し、データを変換する手順を追加します。
例えば、最初のAddRoundKey操作の後、状態は次のようになります。
原文: 00112233445566778899aabbccddeeff
丸いキー: 000102030405060708090a0b0c0d0e0f
結果の状態(六角): 00102030405060708090a0b0c0d0e0f
このプロセスは、暗号化された暗号文を最終的に作成する、すべてのラウンドを通して継続します。