后浪来袭:NIST 轻量级密码标准化决赛圈算法剖析(ASCON、SPARKLE 等)
一、NIST 轻量级密码标准化项目:密码学界的 “奥林匹克”
随着物联网设备的普及,轻量级加密算法的需求日益迫切,但市场上算法种类繁多且缺乏统一标准,导致设备厂商在选型时面临诸多困扰,也给安全 interoperability(互操作性)带来挑战。为此,美国国家标准与技术研究院(NIST)于 2018 年启动了轻量级密码标准化项目,旨在筛选出一批安全、高效且适用于资源受限环境的加密算法,为全球物联网安全提供统一的技术基准。
这场竞赛吸引了来自全球 27 个国家的 57 个算法提案,经过多轮严格的安全性分析、性能评估和兼容性测试,最终有 10 个算法进入第三轮(决赛圈),其中 ASCON、SPARKLE、GIFT-COFB、CRYSTALS-Kyber(后量子候选)等算法表现尤为突出。该项目的意义不仅在于确立标准,更推动了轻量级密码设计理念的革新,促使算法在安全性与资源效率的平衡上达到新高度。
二、决赛圈明星算法的实现原理与技术突破
(一)ASCON:均衡之道的集大成者
ASCON 由奥地利格拉茨技术大学的团队设计,最终在 2023 年成为 NIST 轻量级密码标准的首选算法。其核心优势在于硬件与软件实现的卓越均衡性,这源于其精妙的 sponge 结构和高效的置换函数设计。
1. 核心结构:基于 sponge 构造的 Authenticated Encryption with Associated Data(AEAD)方案
ASCON 采用 sponge 结构实现加密与认证的一体化,该结构包含状态寄存器(state)、吸收阶段(Absorb)和挤压阶段(Squeeze)三个核心部分。状态寄存器固定为 320 位(5 个 64 位字),分为容量(capacity)和速率(rate)两部分:容量用于存储密钥相关信息以保证安全性,速率用于处理明文和关联数据(AD)。
- 吸收阶段:将密钥、非 ce(nonce)、关联数据和明文按块输入,通过 XOR 操作融入状态寄存器,并交替执行置换函数 P;
- 挤压阶段:从状态寄存器的速率部分提取密文和标签,完成加密与认证。
2.置换函数 P:轻量化设计的核心
置换函数 P 是 ASCON 安全性的关键,其迭代轮数根据版本不同分为 6 轮(ASCON-128)和 8 轮(ASCON-128a),每轮包含四个操作:
- 加法常量:将轮常量与状态寄存器的第一个字相加,打破对称性;
- SubBytes:对每个 64 位字进行非线性变换,采用 4 位 S 盒(与 PRESENT 的 S 盒不同,ASCON 的 S 盒经过优化,在硬件实现时仅需 8 个门电路);
- ShiftRows:对状态寄存器的字进行循环移位,增强扩散性;
- MixColumns:通过线性变换实现字间数据混合,采用矩阵乘法优化,减少运算复杂度。
3. 性能优化:软硬件协同设计
ASCON 的置换函数采用位级操作与字级操作的混合设计:硬件实现时,320 位状态可通过串行化处理减少寄存器数量(仅需约 2000GE);软件实现时,64 位字操作适配主流 MCU 的寄存器宽度,在 32 位处理器上每轮仅需 32 条指令,吞吐量达到 AES-128 的 1.5 倍。
(二)SPARKLE:软件效率的极致追求者
SPARKLE 由卢森堡大学和德国达姆施塔特工业大学联合设计,包含 Schwaemm(AEAD 方案)和 Esch(哈希函数)两个组件,其设计理念是通过灵活的状态扩展机制优化软件实现效率。
1. 迭代结构:基于 ARX 的状态更新机制
SPARKLE 的核心是名为 Alzette 的置换函数,采用 ARX(Add-Rotate-XOR)运算组合,支持 128 位和 256 位两种状态长度。与 SIMON/SPECK 的固定轮函数不同,Alzette 引入了 “双轨更新” 机制:
- 状态分为两个分支,每个分支通过不同的旋转量和加法常量进行更新;
- 每 4 轮执行一次分支交换,增强非线性扩散;
- 密钥调度与状态更新融合,避免额外的密钥扩展开销。
2. 软件友好性设计
SPARKLE 在指令级优化上表现突出:
- 旋转操作采用处理器原生支持的移位指令(如 ARM 的 LSL/ASR),避免查表操作;
- 加法与异或操作可在单周期内完成,适合流水线执行;
- 状态长度适配 32 位 / 64 位处理器,在 8 位 MCU 上通过分块处理仍能保持高效(代码大小仅 1.2KB)。
3. 安全性增强:可调参数的弹性防御
SPARKLE 允许通过调整轮数(12-24 轮)平衡安全性与性能,其置换函数的差分概率和线性偏差均低于 PRESENT,能抵抗更高阶的差分分析。
(三)GIFT-COFB:硬件优化的传承者
GIFT-COFB 基于比利时鲁汶大学设计的 GIFT 分组密码扩展而来,继承了 PRESENT 的硬件友好基因,同时在扩散结构上进行革新。
1.分组密码核心:轻量化 SPN 结构
GIFT 采用 64 位分组和 128 位密钥,轮函数包含:
- 4×4 S 盒(与 PRESENT 的 S 盒相比,差分均匀性从 4 降至 2);
- 比特置换层采用规则的循环移位,减少布线复杂度;
- 密钥加采用轮密钥与状态的逐位异或,避免复杂运算。
2. COFB 模式:认证加密的高效实现
GIFT-COFB 采用 Counter with Ciphertext Feedback 模式,将加密与认证整合为单 - pass 流程,硬件实现仅需 1800GE,比 PRESENT-AEAD 节省 20% 的门电路。
三、后浪超越前浪:新一代算法的优势解析
(一)设计理念的进化
- 从 “单一功能” 到 “一体化方案”:PRESENT 等前辈算法仅支持分组加密,需额外组合哈希函数实现认证;而 ASCON、SPARKLE 等直接集成 AEAD 功能,减少协议层复杂度。
- 从 “固定参数” 到 “弹性配置”:新一代算法支持密钥长度、轮数的动态调整(如 ASCON-80/128,SPARKLE-128/256),可适配从 RFID 到工业网关的多样化场景。
(二)安全性的量化提升
通过对比主流攻击的复杂度阈值(以 2^k 表示,k 为安全强度):
- PRESENT-80:抵抗差分分析的复杂度约 2^40;
- ASCON-128:抵抗差分 / 线性分析的复杂度均≥2^64;
- SPARKLE-256:能抵抗 2^128 复杂度的量子攻击预演。
此外,新一代算法均通过侧信道攻击防护设计(如 ASCON 的掩码友好性、GIFT 的恒定时间实现),弥补了前辈算法在物理安全上的短板。
(三)性能指标的全面突破
算法 | 硬件实现(GE) | 软件吞吐量(Mbps@32MHz) | 能量效率(pJ/bit) |
PRESENT-80 | 1500 | 4.2 | 48 |
ASCON-128 | 2000 | 6.8 | 22 |
SPARKLE-128 | 2800 | 9.5 | 18 |
GIFT-COFB | 1800 | 5.1 | 30 |
四、ASCON 的夺冠之道:为何均衡者终成赢家?
- 安全性的无短板表现:在 NIST 的评估中,ASCON 抵御了所有已知的攻击方法,包括差分、线性、积分、侧信道等,其 8 轮置换的安全边际显著高于同类算法。
- 场景适配的普适性:无论是 8 位 MCU(如 ATmega328)还是 FPGA,ASCON 的性能均处于第一梯队,尤其在资源中等的设备(如智能手表、工业传感器)上表现最优。
- 实现的简洁性:ASCON 的参考代码仅 200 行,比 SPARKLE 少 40%,降低了工程实现中的错误风险,这对标准化推广至关重要。
- 后量子时代的前瞻性:ASCON 的海绵结构可与格基密码等后量子算法兼容,为未来抗量子升级预留了扩展空间。
五、结语:标准之下的技术生态重构
NIST 轻量级密码标准化并非简单的算法选择,而是为物联网安全构建了一套技术生态体系。ASCON 的胜出标志着 “均衡性” 成为轻量级密码的核心设计准则 —— 既不能为追求极致效率牺牲安全底线,也不应为绝对安全忽视资源约束。
SPARKLE、GIFT-COFB 等算法虽未夺冠,但它们在软件优化、硬件精简等领域的创新仍将影响特定场景的技术选型。这场竞赛的真正价值,在于推动密码学界形成了一套可量化、可验证的轻量级设计方法论,为后续算法创新提供了标杆。
随着 ASCON 成为国际标准,其将逐步渗透到 RFID、车联网、医疗设备等领域,重塑万亿级 IoT 设备的安全基础。而算法设计者们已将目光投向更远的后量子轻量级密码,一场新的技术竞赛正在酝酿。