问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

高性能处理器助力AES加密技术新突破

创作时间:
作者:
@小白创作中心

高性能处理器助力AES加密技术新突破

引用
CSDN
12
来源
1.
https://blog.csdn.net/2401_83140188/article/details/139683458
2.
https://blog.csdn.net/sinat_32960911/article/details/139772416
3.
https://blog.csdn.net/qq_27718973/article/details/137398874
4.
https://blog.csdn.net/m0_60697583/article/details/140664093
5.
https://blog.51cto.com/yingnanxuezi/11633863
6.
https://finance.sina.com.cn/tech/roll/2024-09-12/doc-incnwrnm0858983.shtml
7.
https://blog.csdn.net/qq_26664043/article/details/136990821
8.
http://www.chinaaet.com/article/3000169215
9.
https://my.oschina.net/emacs_7426855/blog/11571332
10.
https://www.showapi.com/news/article/6746cf7a4ddd79f11a16c874
11.
https://docs.pingcode.com/baike/1992446
12.
https://cloud.tencent.com/developer/article/2465720

随着信息化社会的发展,信息安全成为重要议题。AES加密算法因其高强度和快速运算能力,在保密通信系统中广泛应用。本文通过一个基于AES加密算法的保密通信系统设计案例,展示了如何利用高性能处理器实现高效的加密解密服务。该系统采用客户端-服务器架构,包括高性能处理器、大容量高速存储设备以及稳定可靠的网络接口,确保数据传输的安全性和实时性。通过软硬件协同调试,进一步提升了系统的稳定性和可靠性。这一技术突破为未来的硬件安全提供了新的方向。

01

高性能处理器的AES优化技术

在高性能处理器中,AES加密算法的优化主要集中在三个方面:空间换时间、预计算以及减少内循环嵌套。这些优化策略能够显著提升加密速度,同时保持算法的安全性。

空间换时间

空间换时间策略通过增加额外的内存使用,以存储预计算的数据,从而减少实时计算的需要。在AES加密过程中,最显著的应用是S盒的查表操作。S盒操作是字节代替步骤中的核心,通过预先计算256个可能的输出值并将它们存储在查找表中,可以显著减少加密时的计算量。

unsigned __int8 S[256] = {
    0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
    /* ... 省略中间部分 ... */
    0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a
};

通过预先计算并存储每个字节的替换值,可以在加密过程中快速查找并替换,大幅度提升加密速度。

预计算

预计算主要应用于AES的列混合(MixColumns)步骤。通过预先计算各种可能的列混合结果并存储于查找表中,可以将复杂的多次乘法和加法运算转换为简单的查表操作。此外,密钥扩展过程中的每个轮密钥也可通过预计算方式提前生成并存储,以降低每次加密操作的处理时间。

unsigned int S1[256] = { /* 预先计算的变换值 */ };
unsigned int S2[256] = { /* 预先计算的变换值 */ };
unsigned int S3[256] = { /* 预先计算的变换值 */ };
unsigned int S4[256] = { /* 预先计算的变换值 */ };

这些查表分别对应AES列混合中的每种可能变换,使得每次变换操作只需四次查表和一次异或操作,大大提高了速度。

减少内循环嵌套

通过优化算法结构,减少循环中的计算步骤和条件判断,可有效减轻处理器负担。在AES实现中,优化数据路径和减少每轮中的冗余操作,如不必要的数据拷贝和变量更新,是提升效率的关键。为了减少内循环嵌套,我们可以通过引入临时变量来减少赋值操作,并通过预先计算减少不必要的计算量。

unsigned __int32 e, f, g, h;
/* 初始化e, f, g, h,减少每轮中的赋值操作 */
e = S1[a >> 24] ^ S2[(unsigned __int8)(b >> 16)] ^ S3[(unsigned __int8)(c >> 8)] ^ S4[(unsigned __int8)d] ^ k5;
f = S1[b >> 24] ^ S2[(unsigned __int8)(c >> 16)] ^ S3[(unsigned __int8)(d >> 8)] ^ S4[(unsigned __int8)a] ^ k6;
g = S1[c >> 24] ^ S2[(unsigned __int8)(d >> 16)] ^ S3[(unsigned __int8)(a >> 8)] ^ S4[(unsigned __int8)b] ^ k7;
h = S1[d >> 24] ^ S2[(unsigned __int8)(a >> 16)] ^ S3[(unsigned __int8)(b >> 8)] ^ S4[(unsigned __int8)c] ^ k8;

通过这种方式,可以减少每轮运算中的计算量,从而提高整体加密速度。

02

最新硬件加速方案

ARMv9架构引入了对AES操作的改进和加速,AESD指令是这些改进之一,专门用于AES解密操作。这个指令通过对数据执行一系列变换,实现了AES解密算法的一轮操作。

AESD <Vd>.16B, <Vn>.16B

这个指令需要FEAT_SVE_AES特性支持,通过硬件加速显著提升了AES解密的性能。

03

工业应用案例:海光CPU的密码处理器方案

在实际应用中,高性能处理器的AES加密能力得到了充分体现。以海光CPU为例,其内置的密码学协处理器(CCP)通过C86指令集支持密码学指令,为云上和大数据加密等场景提供先进的解决方案。

海光CPU的机密计算已经发展到第三代,能够提供包含内存隔离的完整性保护。其优势主要体现在三个方面:

  1. 适用性强:海光具备丰富的信创经验,能将CPU适配到信创全场景中,同时其C86指令集兼容x86的各种云平台管理工具和软件。

  2. 性能强:传统加密卡一般采用PCIe的外挂形式,而将密码模块植入内部可以加快数据传输速度。

  3. 成本低:用户无需额外采购密码卡等基础硬件,可直接进行方案升级,具有很好的成本优势。

海光推出的C86处理器安全计算架构(CSCA)包含多项安全技术,如安全密钥、安全处理器、安全启动、安全存储、密钥管理及使用、动态度量保护、内存加密、机密计算、密码计算、可信计算标准支持、芯片安全防护等。这些技术的综合应用,实现了从底层固件到上层应用软件的整体安全。

04

未来发展方向

随着技术的不断进步,AES加密技术在高性能处理器上的应用将更加广泛。未来的发展方向可能包括:

  1. 更先进的硬件加速技术:随着处理器架构的演进,可能会出现更多专门针对AES优化的硬件指令集。

  2. 国密算法的深度融合:在国家信息安全需求的推动下,高性能处理器将更多地集成国密算法,提供更全面的安全保障。

  3. AI与密码学的结合:人工智能技术可能被应用于密码学领域,进一步提升加密算法的效率和安全性。

  4. 量子计算的影响:随着量子计算技术的发展,未来的高性能处理器可能需要应对量子计算带来的安全挑战。

高性能处理器在AES加密技术中的应用,不仅提升了数据加密的效率,也为未来的信息安全提供了新的发展方向。随着技术的不断进步,我们可以期待更安全、更高效的加密解决方案的出现。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号