当前位置: 首页 > news >正文

后浪来袭: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% 的门电路。

三、后浪超越前浪:新一代算法的优势解析

(一)设计理念的进化

  1. 从 “单一功能” 到 “一体化方案”:PRESENT 等前辈算法仅支持分组加密,需额外组合哈希函数实现认证;而 ASCON、SPARKLE 等直接集成 AEAD 功能,减少协议层复杂度。
  2. 从 “固定参数” 到 “弹性配置”:新一代算法支持密钥长度、轮数的动态调整(如 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 的夺冠之道:为何均衡者终成赢家?

  1. 安全性的无短板表现:在 NIST 的评估中,ASCON 抵御了所有已知的攻击方法,包括差分、线性、积分、侧信道等,其 8 轮置换的安全边际显著高于同类算法。
  2. 场景适配的普适性:无论是 8 位 MCU(如 ATmega328)还是 FPGA,ASCON 的性能均处于第一梯队,尤其在资源中等的设备(如智能手表、工业传感器)上表现最优。
  3. 实现的简洁性:ASCON 的参考代码仅 200 行,比 SPARKLE 少 40%,降低了工程实现中的错误风险,这对标准化推广至关重要。
  4. 后量子时代的前瞻性:ASCON 的海绵结构可与格基密码等后量子算法兼容,为未来抗量子升级预留了扩展空间。

五、结语:标准之下的技术生态重构

NIST 轻量级密码标准化并非简单的算法选择,而是为物联网安全构建了一套技术生态体系。ASCON 的胜出标志着 “均衡性” 成为轻量级密码的核心设计准则 —— 既不能为追求极致效率牺牲安全底线,也不应为绝对安全忽视资源约束。

SPARKLE、GIFT-COFB 等算法虽未夺冠,但它们在软件优化、硬件精简等领域的创新仍将影响特定场景的技术选型。这场竞赛的真正价值,在于推动密码学界形成了一套可量化、可验证的轻量级设计方法论,为后续算法创新提供了标杆。

随着 ASCON 成为国际标准,其将逐步渗透到 RFID、车联网、医疗设备等领域,重塑万亿级 IoT 设备的安全基础。而算法设计者们已将目光投向更远的后量子轻量级密码,一场新的技术竞赛正在酝酿。

http://www.dtcms.com/a/342787.html

相关文章:

  • AI翻唱实战:用[灵龙AI API]玩转AI翻唱 – 第6篇
  • RocketMQ 消息消费 单个消费和批量消费配置实现对比(Springboot),完整实现示例对比
  • TCP连接
  • 华为开发者空间训练营-优秀作品公布
  • PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化——CNN原理、Faster RCNN/YOLO检测到U-Net分割等
  • 13、按键输入检测
  • ES_索引模板
  • flutter_rust_bridge的前世今生
  • Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【一、InnoDB 架构先导。主讲模块划分,各模块功能、源码位置、关键结构体/函数】
  • 无人机长距离高速传输技术解析
  • cuda之sass分析
  • 机器人组装MES系统:破解行业痛点,打造数字化智能工厂
  • 对象存储解决方案:MinIO 的架构与代码实战
  • week3-[字符数组]元音
  • 电脑芯片其实更偏向MPU不是CPU,GPU CPU NPU MPU MCU的区别
  • 电商项目_微服务_架构
  • Shader开发(十六)UV 坐标介绍
  • 【python】windows下使用pyenv+uv进行python版本及环境变量管理
  • K 均值聚类(K-Means)演示,通过生成笑脸和爱心两种形状的模拟数据,展示了无监督学习中聚类算法的效果。以下是详细讲解:
  • 微服务02-Spring Cloud入门:构建微服务生态系统
  • 灵活使用UE5 Modeling中的UV编辑功能
  • RabbitMQ死信队列、延时队列分别是什么
  • 常德二院全栈国产化信创项目:开启医疗新质生产力的“头雁”之旅
  • 【STM32】HAL库中的实现(九):SPI(串行外设接口)
  • 如何在阿里云OSS之间进行数据迁移呢?
  • Pytorch安装详细步骤
  • Navicat16.3.9 连接 MongoDB 数据库异常及解决
  • 【CSP初赛】程序阅读15
  • 【C++】类和对象——默认成员函数(中)(附思维导图)
  • 算力魔方迷你主机的“八爪鱼”模式