openssl里的fips是什么意思?

ocean1002 ocean1002 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
先引用两段:

openssl-fips是符合FIPS标准的Openssl。
联邦信息处理标准(Federal Information Processing Standards,FIPS)是一套描述文件处理、加密算法和其他信息技术标准(在非军用政府机构和与这些机构合作的政府承包商和供应商中应用的标准)的标准。


编译过openssl的同学应该知道一个叫OPENSSL_FIPS的宏。这个宏有什么作用呢。
Intel AES指令(AES-NI)是Intel32纳米微架构上的一组新指令。这些指令对于使用 AES(Advancde Encryption Standard)算法进行数据加解密的操作能够起到加速的作用。AES标准由FIPS定义,如今广泛 应用在贸易安全,数据库的加密等各个方面。
Intel AES-NI包括七条指令。其中六条是硬件对AES的支持(四条关于AES加解密,另两条指令有关AES key的扩展)。第七条指令有助于进位乘法。
AES-NI可以灵活地支持AES的各种使用方式,包括各种标准密钥的长度,各种模式的操作,甚至是一些非标准或是未来可能的各种方式。对比现在一些纯软件的实现,它对性能的提升非常显著。
如果打开该宏,直接调用Intel AES指令,轻松获得5倍左右的性能提升(这个摘抄网上的说法,没有真正测试过)。


我的问题是:
1、openssl-1.0.1h.tar.gz、openssl-fips-2.0.6.tar.gz有什么不同。
1.0.1h版本加OPENSSL_FIPS宏编译出支持fips的库?fips加不加OPENSSL_FIPS都编译出支持fips的库?

加密算法不都是一样的吗,怎么还会分符合不符合fips的标准。比如:普通的des和fips-des哪里会不一样?

2、openssl-fips-ecp-2.0.6.tar.gz、 openssl-fips-2.0.6.tar.gz有什么不同。
ecp【The Elliptic Curve Public-Key Crypto Library (ECC Code)】,从代码管理角度来说,为什么这个要分开两个工程?我对比了下目录,ECP多出10个文件,而且没有其他文件不一致的情况。

3、加了OPENSSL_FIPS宏,效率提升5倍。
openssl-fips编译出来的库跑在不支持AES-NI指令集的CPU上,会怎样?是否和1.0.1h版本不加OPENSSL_FIPS宏的效果一样?
还是说openssl-fips.gz的存在,是因为用1.0.1h.gz的代码是编译不出支持fips标准的库的?所以分开了两个工程
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
ocean1002
云安全 4,450 成员 4,374 内容