掲示板に戻る
No:647 タイトル:GEAR戦士撫子 新Part642 お名前:プロフェッサー圧縮 投稿日:2025/03/19 08:11:50 単表示 返信

まずは1.SubBytesから。

これは由緒正しい換字法です。

AESで使う暗号表はS-BOXといい、8ビットの一対一変換表となっています。

8ビットで表現できる値は0-255なので、256個の変換表です。

この暗号表は固定となっています。

他の変換が3種も後に控えてますので、利便性を取った形になります。


          ◇          ◇          ◇


次は2.ShiftRowsを行います。

これはブロックの4x4表を上から順にローテートする処理です。

但しローテートは2行目から始まり、1行目は何もしません。

更に3行目と4行目ではローテート量が違い、

2行目:右に1つ
3行目:右に2つ
4行目:右に3つ

となっています。


          ◇          ◇          ◇


次に3.MixColumnsを行います。

これは列単位にする特殊な演算で、逆の手順を踏めば元に戻せるようになっています。

まあ暗号は復号ではなければならないので、ある意味当然ではあります。

正直この手順要らなくないですかと思わないこともないのですが・・・・・・

多分数学的な意味があるのでしょう。多分きっとMaybe.


          ◇          ◇          ◇


最後に4.AddRoundKeyを行います。

これは最初に作った32文字単位の暗号鍵と演算をし、暗号鍵がないと解けないようにします。

ブロックの数だけこの4処理を繰り返し、最後のプロックは1.2.4.の処理だけをして締めます。

これがAES暗号方式です。