ASCON置换算法的优缺点

ASCON 置换算法的优缺点

ASCON 算法简介

ASCON是由奥地利格拉茨技术大学团队设计的一种轻量级认证加密算法,于2023年2月被美国国家标准与技术研究院(NIST)正式选定为轻量级加密国际标准。它从全球57个候选算法中脱颖而出,同时兼具认证加密(AEAD)和哈希功能。

核心架构:

ASCON的核心是一个320位的Sponge(海绵)结构,将320位状态分为5个64位的字进行处理。状态分为两部分:

  • 速率部分(rate,r位) :直接与输入数据交互;
  • 容量部分(capacity,c位) :算法的"秘密核心",不直接输出,决定安全性强度。

置换函数(Permutation)结构:

ASCON的置换函数采用SPN(替换-置换网络)结构,每一轮由三个顺序执行的操作层组成:

  1. 常数加层(p<sub>C</sub>) :将轮常数与状态的一个字异或,打破轮与轮之间的对称性;
  2. 替换层(p<sub>S</sub>) :对每个64位列位置并行应用一个5-bit S盒进行非线性变换;
  3. 线性扩散层(p<sub>L</sub>) :每个字与自身的循环移位版本异或,实现比特扩散。

不同版本的ASCON采用不同的轮数------ASCON-128为6轮,ASCON-128a为8轮。


ASCON 置换函数的优缺点分析

优点

1. 软硬件实现的卓越均衡性

ASCON的核心优势在于其在硬件与软件实现之间达到了极佳的平衡。硬件实现面积仅需约2.6个逻辑门等效面积,比传统AES算法节省约85%的芯片空间;软件方面,在8位微控制器(如Arduino Uno)上的加密速度可达ChaCha20的3倍,能耗降低40%。第三方基准测试显示,ASCON在8位到64位的广泛平台上均快于AES-GCM。

2. 操作简单、无查表依赖

ASCON置换函数的每一轮操作仅由XOR、AND、NOT和固定循环移位组成,完全消除了查表操作、有限域算术和数据依赖分支。这不仅降低了硬件实现复杂度,还能天然抵抗基于时间的侧信道攻击。

3. 状态小巧、资源占用低

ASCON的320位状态远小于SHA-3的1600位状态。这种小状态设计使得硬件实现面积更小、寄存器压力更低。320位状态仅占用40字节内存,非常适合内存仅KB级的物联网设备。

4. 易于掩码防护,抗侧信道攻击

ASCON一轮运算的代数次数仅为2,这使得在硬件和软件中实现掩码防护(Masking)非常高效。与AES-GCM相比,ASCON进行掩码防护时所需的新鲜随机数更少甚至几乎不需要。

5. 密钥化初始化和终结化设计

ASCON的密钥化初始化和终结化设计,即使攻击者获取了数据处理过程中的内部状态,也能防止密钥恢复和伪造攻击,增强了应对nonce误用等攻击的韧性。这是AES-GCM所不具备的特性。

缺点

1. 差分与线性性质存在理论与实际差距

针对ASCON置换的差分和线性密码分析,目前最佳攻击特征与可证明安全边界之间仍存在显著差距。学术界认为需要对ASCON置换建立完整的线性和非线性函数模型,才能更准确地评估其统计特性。

2. 轮缩减分析的持续关注

密码学界对ASCON的轮缩减(round-reduced)版本持续进行分析,发现了一些可被利用的2轮性质。虽然目前尚未攻破完整轮数的ASCON,但这些发现提示其置换函数可能存在尚未被完全理解的密码学特性。

3. 吞吐量与轮数的权衡

在ASCON-128a(吞吐量优化版本)中,为了将速率从64位提升至128位以获得更高吞吐量,轮数需要从6轮增加到8轮。这表明提高性能需要以增加计算轮数为代价,存在一定的性能-安全权衡。

4. 全展开实现的硬件成本较高

虽然ASCON的硬件实现总体非常高效,但完全展开(fully unrolled)的实现方式会带来显著的硬件面积开销,对于有严格能耗和面积限制的物联网应用可能不太适合。


总体而言,ASCON的置换函数在设计上追求简洁、高效与安全的精妙平衡,其轻量级特性使其在资源受限设备上表现卓越。但也正因其设计的高度精简,一些密码学性质仍需更深入的研究来充分验证。

相关推荐
邪修king16 分钟前
Re:Linux 系统篇(十六):进程篇(五):O (1) 调度算法深度解析 —— 优先级数组、位图优化与活跃 / 过期双队列
linux·运维·算法
Yfhonier33 分钟前
6440. 极大连通图个数(DFS)
数据结构·算法·深度优先
玖玥拾1 小时前
LeetCode 1 两数之和
算法·leetcode·职场和发展
Cccp.1231 小时前
【leetcode】(一)认识复杂度和简单排序算法
算法·排序算法
杨浦老苏1 小时前
群晖 Docker 部署 LAN-Sheriff:实时监控局域网设备对外连接
网络安全·docker·监控·群晖·网络监控
旖旎夜光1 小时前
LeetCode 974:和可被 K 整除的子数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
无限码力1 小时前
拼多多笔试真题 2026-8-30【唯一入栈出库序列】
算法·pdd笔试真题·拼多多春招笔试真题·拼多多秋招笔试真题·拼多多笔试真题题解·拼多多最新笔试题库
lvwangshu1 小时前
分治:序列分治(CDQ)与点分治
算法·分治