【问题标题】:what are NCFB and NOFB modes for?什么是 NCFB 和 NOFB 模式?
【发布时间】:2011-06-02 05:37:37
【问题描述】:

我在任何地方都找不到它,当我用谷歌搜索它时,它会显示这里发布的这个问题。鉴于这种情况,我想准确地问:cfb 和 ofb 之前的这个“n”是什么意思?

【问题讨论】:

  • 能否为您的问题添加更多上下文?
  • 这些模式在 php 中的 mcrypt 中使用,但没有在文档中解释。 (看标签)
  • 不要将它们用于新协议。这些模式被考虑用于嘈杂的通信通道。有更好的,当然更有效的方法来处理嘈杂的线路。请注意,CFB-8 的效率是 CFB-n 的 n 倍。

标签: php encryption mcrypt


【解决方案1】:

这是我能找到的对 nCFB 和 nOFB 的一个参考:

请注意,文档其余部分中的 CFB 和 OFB 表示“8bit CFB 或 OFB”模式。 nOFB和nCFB模式代表n位OFB/CFB模式,n用来表示算法的块大小

...

nOFB:输出反馈模式(以 nbit 为单位)。 n 是算法块的大小。这是从分组密码实现的同步流密码。它旨在用于嘈杂的线路,因为损坏的密文块不会破坏后面的明文块。此模式在流中运行。

nCFB:密码反馈模式(以 nbit 为单位)。 n 是算法块的大小。这是从分组密码实现的自同步流密码。此模式在流中运行。

http://mcrypt.hellug.gr/lib/mcrypt.3.html

【讨论】:

  • 鉴于:mcrypt_get_iv_size($cript_alg,'8cfb') - 应该给出结果,但它会抛出错误
  • 好吧,我放弃了,从现在开始我将使用 CTR 模式,因为需要填充的模式不太安全。我会接受上面的答案,以保持我的接受率很高。
  • PHP appears to use libmcrypt。我对这句话的解读是,对于 AES,“nOFB”表示 128 位 OFB,“OFB”表示 8 位 OFB(请注意,减少位 OFB 被认为是不安全的!)。需要填充的模式并非本质上不太安全,但如果您从不重用 IV/输入块,CTR 是不错的(OTOH,IV 重用的后果比 CBC 严重得多)。
  • 实际上,似乎8-bit OFB mode is secure after all,至少如果IV是随机选择的(与CFB模式相同)。也就是说,全块“nOFB”模式更快且同样安全(或稍微安全一点),因此仍然没有理由实际使用 8 位 OFB。
猜你喜欢
  • 2015-06-22
  • 2011-06-02
  • 2012-10-03
  • 2016-12-04
  • 2011-08-26
  • 2011-04-10
  • 2010-11-02
  • 2011-01-16
  • 1970-01-01
相关资源
最近更新 更多