暗号理論入門 4.4〜4.7
- 作者: 林芳樹
- 出版社/メーカー: 丸善出版
- 発売日: 2012/04/20
- メディア: 単行本
- この商品を含むブログを見る
4.4 アルファベットと語
アルファベットを有限かつ空でない集合 とする。 の長さ(length)とは の中の元の個数であるとする。
- 上の語(word)または記号列(string)とは、 の記号の有限列を意味する。空列は で表され、空語(empty word)と呼ばれる。
- 上の語 の長さとは、その記号の個数である。それを で表す。
- 上のすべての語の集合は、空集合を含めて で表す。
- であれば、 と の結合によって得られる記号列 は、 と の連結と呼ばれる。特に である。
- が負でない整数であれば、 を 上の長さ のすべての語の集合とする。
4.5 置換
を集合とし、 の置換(permiutation)を全単射 で定義する。 のすべての置換の集合を で表す。
が自然数であれば、 により集合 {1, 2, ..., n} の置換群を表す。
群 はちょうど n! = 1 * 2 * 3 * ... * n 個の元をもつ。
を長さ のすべてのビット列の集合であるとする。ビットの位置のみを換える の置換をビット置換(bit permutation)という。
ビット置換として巡回左シフト(circular leftshift)、巡回右シフト(circular rightshift)がある。
4.6 ブロック暗号
ブロック暗号とは、平文空間と暗号文空間が である暗号方式であるとする。ここで はアルファベット 上の長さ のすべての語の集合である。
ブロック暗号の一例としてシーザー暗号があり、そのブロック長は1である。ブロック長1のブロック暗号は換字暗号(substitution cipher)という。
4.7 多重暗号化
ブロック暗号の安全性を高めるため、種々の異なった鍵を使用してブロック暗号に何重にも適用する方法がある。
よく使用されるのはE-D-E三重暗号化(triple encryption)であり、
と暗号化する。ここで は3つの鍵であり、 は暗号化関数、 は鍵 に対する復号化鍵である。
鍵の長さを2倍にするのみの場合は、 とする。