一种抗滑动攻击的密钥流提取改进算法

2018-03-02 09:22:44邓元庆
计算机工程 2018年2期
关键词:检测

丁 杰,石 会,龚 晶,邓元庆

(解放军理工大学 通信工程学院,南京 210007)

0 概述

为推动流密码更好的发展,促进密码界开发出新的流密码设计思想与设计理念,ECRYPT项目[1]于2004年启动了eSTREAM流密码研究计划[2]。自从eSTREAM计划启动以来,国际上密码研究得到了极大发展,其中,基于分组密码思想构造流密码成为流密码设计的一个重要方向。

进入eSTREAM计划第二阶段的流密码候选算法泄露提取(Leak Extraction,LEX)[3],是基于分组密码算法高级加密标准(Advanced Encryption Standard,AES)[4]来构造的,并因其较高的密钥流生成速度以及便于硬件实现的特点倍受关注,与其他类似方式构造的流密码相比,其密钥流生成速度约是AES算法OFB模式的2.5倍[5]。

自LEX算法提出以来,出现了很多针对该算法的分析结果[6],许多针对分组密码提出的分析手段也被用来分析该流密码算法[7]。其中,文献[8]提出的针对LEX算法的滑动攻击给LEX算法的安全性带来了很大的隐患。本文研究旨在改进LEX算法的薄弱环节,增强其抗滑动攻击能力。

1 LEX算法

LEX算法采用128 bit分组密码高级加密标准AES作为密钥流产生部件,它的出现架起了分组密码与序列密码设计的桥梁,具有十分重要的意义。

1.1 LEX算法结构

与AES算法一致,LEX算法延续了128 bit的密钥与明文规模,其算法结构如图1所示[3],具体分为初始化和密钥流提取2个阶段。初始化阶段:对于给定的128 bit密钥K,以初始向量IV作为输入,运行一组AES,得到加密结果C1=AESk(IV),该组AES不输出任何密钥流;密钥流提取阶段:从第2组AES开始,每执行一组AES会有10轮轮函数迭代,从每一轮迭代后所得的128 bit中间变量提取32 bit(共4个字节),作为输出密钥流的一部分,10轮迭代后共输出320 bit密钥流。……

登录APP查看全文

猜你喜欢
检测
QC 检测
小波变换在PCB缺陷检测中的应用