検索
連載

マイコンに搭載されているAESって何?Q&Aで学ぶマイコン講座(82)(5/6 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、上級者の方からよく質問される「マイコンに搭載されているAESって何?」についてです。

Share
Tweet
LINE
Hatena

InvSubBytes

 Subbytesの逆変換処理です。Subbytesと同様の処理ですが、S-Boxの代わりにInverse S-Boxを使用します(図9

<strong>図9:InvSubBytes</strong>[クリックで拡大]
図9:InvSubBytes[クリックで拡大]

InvShiftRows

 ShiftRowsの逆変換処理です。4バイト単位の行を右シフトします。行数ごとにシフト量が1つインクリメントされます(図10

<strong>図10:InvShiftRows</strong>[クリックで拡大]
図10:InvShiftRows[クリックで拡大]

InvMixColumns

 MixColumnsの逆変換処理です。4バイトの列を行列演算によって別の4バイトに変換します。State配列を列ごとに操作し、各列を4項の多項式として扱います。列はガロア体GF(2^8)上の多項式で、

 で与えられる固定多項式を掛け合わせます。計算された値は、出力先のそれぞれの列に出力されます(図11

<strong>図11:InvMixColumns</strong>[クリックで拡大]
図11:InvMixColumns[クリックで拡大]

 出力結果の1列をs’(x)、入力の1列をs(x)とし、下記のように定義されます。

これを列ごとに展開します。

 この乗算の結果、列中の4バイトは下記の通りとなります。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る