暗号理論入門 4.8.3〜4.9
- 作者: 林芳樹
- 出版社/メーカー: 丸善出版
- 発売日: 2012/04/20
- メディア: 単行本
- この商品を含むブログを見る
4.8.3 CFBモード(cipher feedback mode)
CBCモードは、受信者が復号化を始めるには、送信者が暗号文ブロックを全部作り、送信するまで待たなければならない。CFBモードはこの点に関して異なる方法を取る。
初期ベクトル と自然数 が必要であり、平文は長さ のブロックに分割される。平文ブロック を暗号する場合、 とおき、 に対して以下を実行する。
- を計算
- を の最初の ビットとする
- を計算
- とする。( は左へ ビットシフトされ、 ビット分の位置に が置かれる)
復号化は3.が
に置き換わる。
受信者も を知ればビット列 を求めることができる。鍵 は送信者と受信者が同時に計算できる。
ブロック長 が小さければ小さいほど、ブロック暗号化関数をより頻繁に適用する必要があり、計算量が増える。短い暗号文は速く伝送可能なので、最適な を選ぶ必要がある。
4.8.4 OFBモード(output feedback mode)
CFBモードに似ている。
- を計算
- を の最初の ビットとする
- を計算
- とおく
復号化のときは3. を
に置き換える。
暗号文の1つの語の伝送でビットが変化すると、復号ではエラーがただ一箇所のみちょうど全く同じ位置に現れる。
鍵ビット列 は 初期ベクトル と鍵 のみに依存しており、それらを送信者と受信者が独立して計算できる。
4.9 ストリーム暗号
平文ブロックの文脈に依存する暗号化法を一般化する。
をアルファベットとし、平文空間と暗号文空間を とする。自然数 に対し鍵集合を とする。
この暗号化は、 を一つの鍵とし、 を の中の長さ の語とする。鍵ストリーム を作るため、
とおき、 であれば
とする。 は固定のビットとする。
この方程式をn階の線形漸化式(linear recursion)という。
暗号化関数 と復号化関数 は等式
によって与えられる。
ストリーム暗号はいわゆる線形シフトレジスタによりハードウェアで効率的に実用化できる。