AES内部構造(暗号化された部分)

コンテンツ参照:
素人暗号-原則と一般的に使用される暗号化技術清華大学プレスの適用
第4章のAdvanced Encryption Standard

AESの内部構造

AESは、バイト指向のコードです:

状態は、マトリックス状からなる16のバイトが想定されます。

鍵Kに対応する行列の形態においても同様です。

SubBytes層

図4-3に示すように、各バイトの最初の層は、置換層です。
バイト置換層16が並列カートリッジSとして見ることができ、各カートリッジのS入力および出力は8ビットです。
なお、AESのカートリッジを使用して16秒が同じで
、この層で、ステータスのそれぞれは、バイトIは、別のバイトBによって置換されているI S(:I)= B I
Sカートリッジ置換は、このプロパティは、私たちは一意に復号動作のために必要とされるSボックスを、反転することができ、ユニークな1出力との双方向のマッピング、すなわち256個の可能な入力(8)です。
数学Sカセットを説明:
AES S-boxは、非常に強力な代数構造を有する二段階数学的変換と見なすことができます。

実現し、AESのこの部分との間の関係を理解していないので非常に明確元の本、で見ることができます興味を持っています。
最後は良い達成、またはステップバイステップを計算するためにルックアップテーブルを使用することですでSは、一部のハードウェアボックスを達成するために、さておき、この最初の問題は、元の本は述べています:

拡散層

AES拡散層は、二つのサブレイヤ混乱シフト行と列から成ります。拡散は、全体の単一ビット状態へ拡散の影響を指します。これは、線形動作です。

ラインシフトサブレイヤ

シフト行変換第二行行列状態が周期的に右の3つのバイトにシフトし、第3段目は2バイト、右に4行目の動きの1バイト、最初の行が残っを右方向に移動させます変更

列の混乱サブレイヤ

行シフト後の状態をBとして表現した場合、Cで表される出力列の混乱の状態、すなわちのMixColumn(B)= C.
最初の4つの出力バイトは、4×4行列が算出されるが、固定されています。

レイヤキーの追加

2つの入力は、キー付加層であり、現在の状態マトリックス16バイトの長さは16バイトサブキーです。
一緒にビット単位のXOR演算することによって、これらの2つの入力。
長さが128ビットであり、10、128ビットAESキーは、サブ11必要があります。
計算サブキーが再帰的である、即ち、サブ鍵Kを得るためにIを、Kを知っている必要がありI. 1-
編成部分128ビットのAES鍵を、Kは、元のキーである:

計算左端の単語:I = 1 、...、10の

残りの3つの言葉:I = 1、...、10、J = 1,2,3。

G()関数反転入力最初の4バイト、バイトを実行します(?) Sボックス置換、付加、最後にホイールRC係数。非直線的な増加、対称性の排除。
ラウンド係数が各ラウンドを変更します、ルールは以下のとおりです。

おすすめ

転載: www.cnblogs.com/zhanghaha-zzz/p/11716571.html