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

相关推荐
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark1 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her11 天前
并查集-听课笔记
笔记·算法·并查集
码流子1 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven1 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark1 天前
从算法设计模式看编程思维的抽象能力4
算法
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法