ASCON 置换算法的优缺点
ASCON 算法简介
ASCON是由奥地利格拉茨技术大学团队设计的一种轻量级认证加密算法,于2023年2月被美国国家标准与技术研究院(NIST)正式选定为轻量级加密国际标准。它从全球57个候选算法中脱颖而出,同时兼具认证加密(AEAD)和哈希功能。
核心架构:
ASCON的核心是一个320位的Sponge(海绵)结构,将320位状态分为5个64位的字进行处理。状态分为两部分:
- 速率部分(rate,r位) :直接与输入数据交互;
- 容量部分(capacity,c位) :算法的"秘密核心",不直接输出,决定安全性强度。
置换函数(Permutation)结构:
ASCON的置换函数采用SPN(替换-置换网络)结构,每一轮由三个顺序执行的操作层组成:
- 常数加层(p<sub>C</sub>) :将轮常数与状态的一个字异或,打破轮与轮之间的对称性;
- 替换层(p<sub>S</sub>) :对每个64位列位置并行应用一个5-bit S盒进行非线性变换;
- 线性扩散层(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的置换函数在设计上追求简洁、高效与安全的精妙平衡,其轻量级特性使其在资源受限设备上表现卓越。但也正因其设计的高度精简,一些密码学性质仍需更深入的研究来充分验证。