在NSA的文档“椭圆曲线密码学案例”(已归档)中,我们在NSA SuiteB🕗中具有


+---------------+-------------------------+-----------------+
| Symmetric Key | RSA and Diffie-Hellman  | Elliptic Curve  |
| Size (bits)   |      Key Size (bits)    | Key Size (bits) |
+---------------+-------------------------+-----------------+
|       80      |            1024         |       160       |
|      112      |            2048         |       224       |
|      128      |            3072         |       256       |
|      192      |            7680         |       384       |
|      256      |           15360         |       521       |
+---------------+-------------------------+-----------------+
             Table 1: NIST Recommended Key Sizes



,我们确实有AES-256(用于TOP SECRET);但是,ECC仅限于P-384:具有128位密钥的AES为高达SECRET级别的机密信息提供了足够的保护。同样,使用FIPS PUB 186-3和SHA-256中指定的256位素数模量椭圆曲线的ECDH和ECDSA为高达SECRET级别的分类信息提供了足够的保护。

256-AES AES位密钥,需要使用FIPS PUB 186-3和SHA-384中指定的使用384位素模椭圆曲线的椭圆曲线公钥密码术,以保护TOP SECRET级别的机密信息。


尽管P-521已在NIST FIPS-186-4中正式编码,但似乎已经引入了熵扼流点,就好像我们有加密的“管道”一样。

示例:如果我们正在使用P-384密钥进行ECDH,然后使用AES-256进行加密,我们实际上仅将192位密钥熵传递给AES-256引擎。

读取唯一已知的响应(我知道)在IETF线程🕗上的声明如下:关于NSA省略P-521,P-256和P-384将满足美国政府的所有要求因此,套件B中仅包含这些信息。我们没有要求包含P-521的要求。


我无法提供这些看似矛盾的信息在一起,所以我想在这里问其他人。为什么要排除P-521?是技术性的还是非技术性的?任何其他信息,将不胜感激。

编辑:

这不是很直接相关,但我检查了一些经验测试结果。对于几乎所有EC操作,似乎从P-256 => P-386 => P-521的计算时间大约是原来的两倍。以签名短消息(1200字节)为例。

P-256:  8ms ( 64 byte signature) 
P-384: 15ms ( 96 byte signature)
P-521: 30ms (132 byte signature)


它并不能直接代表上述熵瓶颈,而是更趋向于“足够好”的思路。但是话又说回来,AES-192应该也足够了...

评论

好的,因此您发现计算时间和ECC密钥大小之间确实存在线性关系。这是ECC的众所周知的特性,也是ECC可能比例如ECC更能证明未来的原因之一。 RSA。请注意,我们不可能查看生成文档的人员的想法。我唯一能说的就是Brainpool曲线使用一组定义明确的域参数,密钥大小为512位。通常,处理2的幂和8的倍数的数据类型会更容易。

可能相关:crypto.stackexchange.com/questions/41193/…

#1 楼

真正的问题不是“为什么Suite B不使用P-521?”就是说:“为什么套件B不使用AES-192?” NSA只对Suite B的192位安全性感兴趣,但是他们选择使用AES-256,因为AES-192并未得到广泛支持。


“事实上,我们本来想使用AES -128和AES-192,但是对AES实现的快速调查(我相信以硬件为中心)显示,只有很少的已实现AES-192,因此决定在Suite B中使用AES-128和AES-256 ,与P256和P384配对。所有crypt纯粹主义者都不断抱怨AES-256和P384之间的不匹配。“

-NSA的Kevin M. Igoe,


(我选择从表面上来解释他的观点,但情报机构永远都不知道。)

评论


$ \ begingroup $
很有意义,感谢您的参考。尽管凯文可能会把我带入加密纯粹主义者小组,但我还是以加密实用主义者的身份为自己辩解。 (我)想到的问题不如抱怨,而更多是因为加密异常设计的好奇心...
$ \ endgroup $
– DeepSpace101
2015年5月7日,3:28

#2 楼

由于未解释排除P-521和AES-192的原理,因此可以假定曲线“太好”或密码“不够好”。 SHA-512的排除意味着该标准对192位安全性的限制,因此AES-192将是合理的选择。它的排除意味着在某种程度上,它不足以根据NSA对S3B的要求在给定的密钥长度下保护TOP SECRET信息。

最合理的答案是S3B仅需要最大192位安全性,并且它们仅使用AES-256,因为与AES-192相比,轮数增加了,或者密钥调度对齐方式有所不同。多年来,有人一直认为AES对于给定的密钥长度,其舍入计数太低,因此从安全性角度来看这是有道理的。与AES-128相比,AES-256的密钥长度仅增加了40%,密钥长度增加了100%,如果我写的是标准,我可能也做出了相同的决定来跳过AES-192。

S3A算法是经过分类的,但最有可能需要256位安全性及更高版本,并具有较高的标准来长期保护资金免受攻击,以防止资金充裕的攻击者(中国和俄罗斯提供100多年的安全性),因此可能一起跳过AES,并且转到具有不同回合计数和关键时间表的变体,或使用目的构建的算法,这些算法没有AES具有相同的速度/安全性折衷。

#3 楼

他们不包括P-521,因为他们想要192位安全级别,而P-384提供了该级别。

他们不使用AES-192的原因可能与AES-192不在TLS中的事实:

https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4

评论


$ \ begingroup $
这就引出了一个问题,即为什么他们对256位安全级别不感兴趣。
$ \ endgroup $
–吉尔斯'所以-不再是邪恶的'
2015年5月7日19:42

$ \ begingroup $
那是因为192绰绰有余:security.stackexchange.com/a/25392
$ \ endgroup $
–莉莉·威尔森
2015年5月10日15:21

$ \ begingroup $
我想知道您为什么链接到IANA和“ RFC 5246 –传输层安全(TLS)协议版本1.2,2008年”。毕竟,IANA对(与从未有过)与套件B加密有关的决定没有影响-NSA倾向于独自处理与美国国家安全有关的决定……作为“ RFC 6460 –传输层安全性(TLS)的套件B配置文件” ,日期为2012年1月”清楚地显示。要了解有关Suite-B涉及和强制执行的“标准和协议”的更多信息,请访问nsa.gov/ia/programs/suiteb_cryptography
$ \ endgroup $
– e-sushi
2015年6月19日在3:10



$ \ begingroup $
我根本没有链接到RFC 5246。这些密码套件是在RFC 5289中定义的。NSA在做出此类决定时通常会考虑已经存在的实现,这很显然就是它们选择AES 256而不是AES 192的原因。
$ \ endgroup $
–莉莉·威尔森
2015年6月19日,下午3:38

$ \ begingroup $
@Gilles他们可能对256位感兴趣。但是,美国国家安全局(NSA)给出了有关不同材料分类SECRET→128位的密钥大小的准则。最高机密→192位。但是由于没有很多好的192位实现,因此他们将其提高到256位。但是实际上192位对于TOP SECRET来说已经足够了,而256位是过大的。大概他们仍然可以具有CODEWORD→256位。
$ \ endgroup $
–伊恩·博伊德(Ian Boyd)
19年5月23日在3:02