OFB mode and CTR mode
新城@筑波大学情報です。こんにちは。
In article <86odbe8got.fsf@bsd2.4bn.ne.jp>
Yoshitaka Ikeda <ikeda@4bn.ne.jp> writes:
> OFBとは全く違います。OFBはどちらかというとフィードバックシフトレジスタの
> フィードバック関数がブロック暗号になったというイメージのほうが正しいです。
私も CTR (Counter) モードはフィードバックがないので、関数的
なイメージだったのですが、世の中では、Output Feedback Mode
(OFB) モードの改良という考え方があるようです。結城さんの暗号
の本[1]を開いたらちょうど出てました。今までは同じページを見
ても気が付かなかったんだけれど。
[1] 結城浩: "暗号技術入門 秘密の国のアリス",ソフトバンククリ
エイティブ (2003/9/30). ISBN-10: 4797322977, ISBN-13:
978-4797322972.
------------------------------------------------------------
OFBモード
[平文ブロック]
+-------------+ |
| | v
+--> [暗号化] +--> XOR
|
v
[暗号文ブロック]
CTRモード
[平文ブロック]
+---------------+ |
| | v
+--> [カウンタ] +--> [暗号化] --> XOR
|
v
[暗号文ブロック]
------------------------------------------------------------
インクリメントの x = x + 1 で、フィードバックとか。私は、あ
んまりそんな感じはしません。関数的な感じ。
[暗号文ブロック] = f([鍵],append(nonce,カウンタ値),[平文ブロック])
> CTRは、出力とは全く関係ないカウンタが逐次変わっていきます。
> 一般にはインクリメントが実装されることが多いです。ランダムアクセスが楽だし。
カウンタ・モードで、インクリメント以外の実装もあるんですね。
> > http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/StandardNames.html
> > http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/crypto/CryptoSpec.html
> 訳がわるいのか原文がわるいのか。暗号のことを知らない人が書いた文章にしかみえない。
> initメソッドで設定できるように読めるけど、どれを使えばいいのかわかんないし。
原書はこれ。/ja を取ればでてきます。2つ。
http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html
http://java.sun.com/javase/6/docs/technotes/guides/security/StandardNames.html
------------------------------------------------------------
CTR A simplification of OFB, Counter mode updates the input
block as a counter.
------------------------------------------------------------
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735