轻量级认证加密算法ASCON

轻量级认证加密算法ASCON

认证加密算法ASCON是CAESAR竞赛胜出算法之一,并为轻量级资源受限环境的首选方案,其工作模式基于MONKEYDUPLEX。接下来给出ASCON的算法描述。算法状态大小为320比特(5个64比特长的字x0,⋯,x4),属于类SPONGE结构。下图中列出了两种方案ASCON-128和ASCON-128a的参数。

如下图所示,ASCON的加密过程基于MONKEYDUPLEX,分为四个阶段:初始化,相关数据处理,明文处理,结束部分。

(1)模式

ASCON的初始状态为,IV(64比特),K(128比特)和nonce N(128比特)的级联,如上图所示,IV在算法的两个方案中均为常数。状态首先经过Pa置换,然后异或K。关数据被分成长度为64比特的数据分组Ai(i=1,…,s). 中间状态依次异或Ai, 进行Pb置换操作。在相关数据处理的结尾,最低比特异或1。明文处理阶段中,类似于Ai的处理方式,中间状态异或明文分组Pi(i=1,…,t), 输出相应的Ci, 然后进行Pb置换操作。在终结部分中,中间状态异或K,然后作用置换Pa, 中间状态在最低128比特异或密钥K后,输出标签T。

(2)置换

如上图所示,置换Pa和Pb仅在轮函数P的迭代轮数上有区别。轮函数P由常数加,置换层和线性层组成。关于常数加操作,其每轮常数不同,均是对字x2的异或操作。整个状态(5个64比特字x0,…,x4)可划分为64个5比特长的比特分片(bit-slice)。

如下图所示,置换层对每个比特分片进行平行的S盒操作,其中字x0的比特为S盒的最高比特。

如下图所示,线性层将每个64比特的状态字xi替换为Σi(xi),提供扩散作用。

ASCON算法5X5S盒的分量布尔函数如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄金龙PLUS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值