在硬件处理器中推动未来加密的创新

文章作者:Wajdi Feghali, Intel

硬件行业一直在努力制作新的准则,微体系结构增强和创新的软件优化方法。

这很可能,在未来一切都将加密,从您的杂货名单到您的医疗记录。这是一个令人兴奋的概念,但加密领域尤为令人不安,现在已经完成了很多工作来确保数据可以很好地获得未来。

多个加密操作可以应用于数据的每个字节,因为数据在软件、网络和存储堆栈的多个层中受到加密保护。这些流程支持需要强大安全性的高度关键的业务功能,但在硬件级别上,它们是现有的计算密集型操作之一。对密码计算的需求持续增长,每年生成的数据量呈指数级增长,组织使用更大的密钥规模,以及多个同时使用的密码算法,以加强安全性。与此同时,这些计算需求继续膨胀。

为了打击加密计算成本问题,硬件行业一直在努力制作新的指导方针,微体系结构增强和创新的软件优化方法。多年来这一进展的强大示例包括引入下一代固定功能处理器指令,这减少了高级加密标准(AES)对称加密的计算要求和更多最近的FIPS算法。因此,组织越来越致力于实施强大的加密密码,以便在过去10年内更好地安全数据和通信。

但随着量子计算进步继续加速,对称和非对称加密算法的安全效果可能在危险中。增加关键尺寸(从128到256位)可以帮助使对称算法(例如AES)更有弹性,但是,该解决方案再次携带更高的计算成本。不对称加密算法(如RSA和ECDSA)也很可能也很短。许多人表示,量子计算机的原始力量将是加密的死亡,但我们不相信将是这种情况。

上述现任加密方案可能会包含新的umportum密码方法。该行业正在积极努力向新的加密标准过渡,以满足这些即将到来的衡量标准安全挑战。事实上,许多提案已经提交给NIST后量子加密(PQC)竞争,其中在其中键大小,存储和计算规范方面存在不同的要求。

随着量子计算时代的曙光,该行业将需要在一起反弹以迈向新的方法和标准。

那个偏移是什么样的?过渡将冗长,并且现有的加密将留在行业能够充分采用紧急量子抗性算法之前保持到位。我们希望这会导致高计算负担,并且该组织不会广泛采用更强的加密,直到基础的量子算法从计算性能角度来看经济可持续性。

为了加速未来密码学的诞生,业界将需要开发创新的硬件改进和优化的软件解决方案,共同缩小计算需求。好消息是,无论如何我们都不是从零开始。

以下是当今加密性能改进和创新的六个关键例子:

1.TLS (Transport Layer Security)加密算法—TLS协议分为两个阶段。首先是会话启动阶段。当发起会话时,客户端必须使用公钥加密方法(通常是RSA)向服务器发送私有消息,然后协议才能生成共享密钥。RSA基于模块化幂运算,这是一种高成本的计算机制,可以产生大部分TLS会话发起处理器周期。将RSA与椭圆曲线密码(Elliptic Curve Cryptography, ECC)等算法结合,使用完美前向保密等技术,可以提供更大的安全性。

在第二阶段,传输批量数据。该协议加密数据包以确保基于数据的加密散列来保密和利用消息认证码(MAC),以防止尝试修改传输中的数据的任何内容。加密和认证算法保护TLS批量数据传输,并且在许多情况下,拼接两种情况会增加整体性能。某些密码套件(如AES-GCM)甚至可以定义组合的“加密+认证”模式。

2.公钥加密 -为了提高“大数”乘法处理的性能,一些供应商正在创建新的指令集。例如,Intel的冰湖处理器引入了AVX512 Integer Fused Multiply Add (AVX512_IFMA)指令集架构(ISA)支持。该指令将在宽512位(ZMM)寄存器中找到的8个52位无符号整数相乘,产生结果的高低两部分,并将其加到64位累加器中。结合软件优化技术(如多缓冲区处理),这些指令不仅可以为RSA提供显著的性能改进,也可以为ECC提供显著的性能改进。

3.对称加密 -两种指令增强提高了AES对称加密的性能:向量化的AES (VAES)和向量化的无载乘。VAES指令已经被扩展到支持使用宽512位(ZMM)寄存器一次最多4个AES块(128位)的矢量处理,并且当适当利用时,将为所有AES操作模式提供性能好处。一些供应商还扩展了对向量处理的支持,使用宽512位(ZMM)寄存器,以提供额外的性能伽罗瓦哈希和广泛使用的AES-GCM密码。

4.哈希 -可以通过为安全哈希算法(SHA)创建新的扩展来提高计算性能,SHA将任意大小的数据压缩为256位的固定大小。这些扩展包括在SHA-256性能方面提供了显著改进的指令,允许使用更多的加密散列。

5.函数缝合,函数拼接最早于2010年,是一种优化两种算法的技术,这两种算法通常是组合运行的,但顺序运行,如AES-CBC和SHA256,并将它们形成一个单一的优化算法,专注于最大化处理器资源和吞吐量。其结果是每个算法的指令的细粒度交错,以便两个算法同时执行。这使得在执行单个算法时由于数据依赖或指令延迟而处于空闲状态的处理器执行单元能够执行来自其他算法的指令,反之亦然。这是非常相关的,因为算法仍然有严格的依赖性,现代微处理器不能完全并行化。

6.多缓冲器 -多缓冲器是一种用于处理多个独立数据缓冲区的创新和有效的技术,并并行用于加密算法。供应商以前已经为诸如散列和对称加密的算法实现了这种技术。同时处理多个缓冲区可以导致显着的性能改进 - 对于代码可以利用单个指令多数据(AVX / AVX2 / AVX512)指令,甚至在其无法使用的情况下。随着更多数据需要加密处理,这是重要的,并且随着更广泛的处理器数据路径的可用性将使行业能够保持速度。

真正的量子计算将在我们知道之前到达,并且行业思维模式已经开始从“这种数据加密应该加密?”“为什么这个数据没有加密?”作为一个社区,我们必须重点关注在硬件级别实施高级密码,以及随附的算法和软件创新,以满足昆腾世界后呈现的挑战。这样做将导致在一系列重要的加密算法中导致性能和安全方面的突破,并帮助加速到下一代加密方案的过渡行业需要导航到即将到来的十年。

本文最初发布EE倍

Wajdi feghali.是Intel Fellow。

发表评论