NIST有一个"SP 800-38D:分组密码操作模式的推荐:Galois/计数器模式(GCM)和GMAC“。此指南是AES-GCM从定义到安全性考虑的基础。(所有的锚都是我的)
第8.2.1节确定性结构第四节
在确定性构造中,IV是两个字段的连接,称为固定字段和调用字段。固定字段应标识设备,或者更一般地标识经身份验证的加密功能的实例的上下文。调用字段应标识该特定设备中经过身份验证的加密功能的输入集。
稍后在同一节中
调用字段通常是( 1)整数计数器或( 2)线性反馈移位寄存器,该寄存器由原始多项式驱动,以确保最大周期长度。在任何一种情况下,调用字段都会在每次调用经过身份验证的加密函数时递增。
计数器和线性反馈移位寄存器(LFSR)的区别是明确的。计数器可以简单地在CPU寄存器中实现,以构造一个要求原始多项式和额外代码的LFSR。今天,选择/寻找一个原始多项式并不难。正如这个所以回答中所列出的,有一个来自惠普列表的报告,这是一种低次的二进制本原多项式。你也可以使用枫叶,数学和SageMath找到一个。
如果一切正常工作,计数器和LFSR可以产生独特的IV,这是至关重要的安全的AES-GCM。任何(IV,密钥)对的使用都可以消除机密性,并可能导致伪造。
我注意到了一个问题:在系统故障期间,最后一个递增/高级计数器/LFSR值可能会丢失。如果管理员继续使用上一个已知值,则会导致(key,IV)对重用。以减少交换新密钥或在IV的某些部分使用随机密钥。
关于正确使用AES-GCM的规则是什么?回答的评论
对不起,但是我不明白为什么你需要一个LFSR,而不是一个通用的DRBG。
而且还
这是一个很好的建议,除了LFSR。非加密的RNG在密码中没有位置.
和
我不知道他们为什么建议使用LFSR。遗憾的是,他们没有给出理由。
。
RGB对抗计数器/LFSR有什么优势吗?
发布于 2020-10-05 20:43:50
我不知道这是否是推动NIST的原因,但我在一些应用程序中发现了一篇关于LFSR计数器的文章:
摘要。我们考虑了在某些密码算法中有效地生成硬件序列的问题。传统的方法是使用计数器。结果表明,线性反馈移位寄存器(LFSR)产生的序列可以根据相应的算法进行调整。对于硬件实现,这减少了时间和芯片面积。因此,我们能够建议改进由电子前沿基金会于1998年建造的efficient的设计;提供一种有效的策略来生成时间记忆交换/关闭攻击中的起始点;并提出一种改进的并行硬件实现,以实现分组密码的计数器操作模式的一种变体。
正如我在对这个问题的一个注释中提到的,NIST SP 800-38a (“对分组密码操作模式的建议”,2001年版)也提到了LFSR作为计数器块允许的增量函数的一个例子(第18页),因此该技术先于GCM和本文。
RFC 3686 (“使用高级加密标准(AES)计数器模式和IPsec封装安全有效载荷(ESP)”,2004年1月)也允许使用LFSR计数器块。它说,LFSR是一种常见的IV生成方法(第5页),并间接地呼吁与Mukhopadhyay和Sarkar相似的动机允许它们:
第14页允许加法器、LFSR和满足加密器时间预算的任何其他技术,只要该技术为每个数据包带来唯一的值。加法器的实现简单明了,但由于有了进位,它们不会在固定时间内执行。LFSR提供了一种在恒定时间内执行的替代方案。
说LFSR在固定时间内执行对我们软件人员来说是违反直觉的,他们倾向于更普遍地认为添加是“简单的”但LFSR是“复杂的”。
https://crypto.stackexchange.com/questions/84380
复制相似问题