人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

AESの暗号化の手順について質問です。
現在AESについて勉強しており、
sub bytes、shift rows、mix colmns
まではなんとか理解出来ているのですが、
最後のadd round keyの部分で理解が出来なくて困っています。
この処理の部分で登場するキースケジュール、ラウンドキーとはどういうものなのか、どういう手順で作成するのかを解説していただけないでしょうか?

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

http://www.triplefalcon.com/Lexicon/Encryption-Block-1.htm

鍵拡大処理では、入力された暗号鍵の値を多くのビット長に拡大し、各ラウンド処理で利用できる様にラウンドごとに異なるラウンド鍵(round key) を生成します。

ラウンドキーは鍵拡大処理によって生成されるものだそうです。

鍵の拡大処理を、鍵スケジュール(key scheduling) ともいいます。

キースケジュールは鍵の拡大処理の事だそうです。

と、ここまではブロック暗号の用語のようですね。
調べると、AESにおけるadd round keyの処理の実態はXORのようです。
http://www.atmarkit.co.jp/ait/articles/1506/18/news019.html


もしかするとご存知かもしれませんが一応補足として。
XORを使うと任意のビットのみを反転させる事ができます。
要するに、A XOR B = C である時に C XOR B = A が成り立つため、
暗号キーを用いて簡単に復号化できるというメリットがあるのでしょう。
(上記の例の場合、暗号キーはBになります)


どういう手順で、については以下が参考になるかも。
https://srad.jp/~Yoh2/journal/431452/

えーと、それでも平文を入れ替えたりシフトしたり、いろいろかきまわした後で鍵ストリームとXORしますよね。
DESやAESはそれを複数回繰りかえすことで強固な暗号化を実現しているわけで。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ