各ラウンド処理では、鍵と入力データに変換をかけ、次のラウンドにデータを渡します。本来、短い鍵からいくら長いビットを生成しても鍵が長くなるわけではないのですが、ラウンド鍵同士の関連がわからない人から見れば、「長い鍵で暗号化された暗号」を解読しているかのような作業を必要とするわけです。安全性評価では、各ラウンド鍵の値は互いに独立という仮定をすることも多くあります。(明らかに誤った仮定ですが、通常はそのように計算するということです。後に初期変換や最終変換と呼ばれる変換が含まれることがあります。多くの場合、初期変換や最終変換は鍵に依存しない高速な処理を用います。初期変換や最終変換の扱いは暗号方式によって様々です。これらの変換は暗号の安全性評価からはずされる場合が多いようです。最近は、このような変換をラウンド関数の間にはさむような工夫したものも登場しています。暗号の方式によってまちまちです。しくみが違う暗号を比較しようとする場合は、ラウンド数の大小では強度を比較できません。同じ暗号では、通常はラウンド数が多いほど強度が高くなると考えることが出来ます。暗号方式によっては、ラウンド数を可変にしているものがあります。固定のものもあります。(DES、Twofish、等)ラウンド関数の実装法によって、よく以下の様に分類されます。左右分割して交互に暗号化。換字・転置を繰り返す。AESに使われています。上記の構造は、暗号を利用しようとする人にはあまり意味のないパラメタでしょう。分類にはあまりこだわらない方が良いともいえます。SPN構造を採用していることもあります。上記分類にそれほど強い意味があるわけではありません。構造系よりも、通常はラウンド数を多く取ります。Feistel構造は、1ラウンドでデータ全体の一部しか暗号化できないからです。構造より遅いということも弱いということも意味していません。Feistel構造の代表的なブロック暗号は、DES、Twofish、FEAL、MISTY、などでしょう。(参照→Feistel構造、DES、Twofish、FEAL-N、MISTY)SPN構造の代表的なブロック暗号は、AES、Serpent、などでしょう。http://www.triplefalcon.com/利用モードブロック単位に処理する場合、各ブロックに平文の特徴が表れることがあるので、それを防ぐ工夫をします。規定されたモード一覧です。限らず他のブロック暗号にも適用が可能です。新しい暗号利用モードも考案されています。平文が一致するかどうかわかっても、平文の中身が知られなければいいんでないの?と思われる方は読んでください。下の表を見てください。左の平文を右に暗号化しました。1664372平文を見ると、暗号文中の第三行だけ他の人と値が違います。平文ブロックに”前科無し”がほとんどである場合、その行は重大な意味を持ちます。上から3番目が誰であるか推測できる人で、さらに右欄が犯罪暦であると知っている人であれば、この部分だけでかなりのことがわかります。ないことはわかります。暗号文ブロックが他と違う(あるいは同じである)という事実、それだけで重大な意味を持つ場合があります。工夫をしないでブロック処理をする場合、ECBモードと呼びます。わ-ん数学、哲学、工学を横断する事典です。よろしければ活用してください。