一种aes加密方法和基于及的抗功耗攻击方法

文档序号:9891164阅读:409来源:国知局
一种aes加密方法和基于及的抗功耗攻击方法
【技术领域】
[0001] 本发明设及信息安全技术领域,具体设及一种AES加密方法和基于及的抗功耗攻 击方法。
【背景技术】
[0002] 随着信息化的发展,信息安全问题也越来越重要,人们在运个过程中提出了各种 不同的密码算法,在运繁多的密码算法中,AES(Advanced Enc巧ption S化ndard,高级加密 标准)广为全世界所使用且已成为一个国际通用的对称加密算法,W其密钥建立时间短、灵 敏度高、内存要求低等优点,大量应用于信息安全领域,如电子商务和通讯加密等。
[0003] 随着人们对AES算法进行各种不同层次的分析,出现了很多对AES算法的攻击破解 方式,在众多的攻击方式中,功耗攻击通过分析密码算法执行和功耗之间的关系,对使用该 算法的密码忍片内部的密钥进行数学解析分析,如简单功耗分析(SPA)和差分功耗分析 (DPA)等,并最终获取密钥,从而对密码忍片的安全性造成了很大的威胁。
[0004] 传统AE巧日密算法的实现中,主要的运算操作可分为"S盒变换、行变换、列混淆、与 扩展密钥的异或"运四个步骤,很多学者在此基础上提出了各种不同抗功耗攻击的防御策 略。本发明针对一种改进的AES实现方案,运种实现方案简化了 AES实现过程中复杂的列混 淆运算,并结合该实现方案提出了一种抗功耗攻击的方法,运种方法基于功耗的汉明重量 模型理论,通过算法级上的互补操作来平衡功耗,使忍片上运算的功耗信息得W隐藏,并达 到抗功耗攻击的目的。
[0005] 现有的WAES-128为例,图1展示了AES-128算法的实现过程,在运个实现过程中, W字节作为基本操作单元,需要将"S盒变换、行变换、列混淆、与扩展密钥的异或"作为一个 轮函数循环操作10次。其中,所有的数学运算都是针对G(2~8)域上的运算而言。
[0006] 针对运种AE巧日密实现,人们提出了很多种不同的抗功耗攻击方法,常见的有对中 间数据进行掩码(masking)操作,运种方法通过使用随机掩码来与加密运算产生的中间数 据进行一定的结合运算,使中间数据随机化;或者使用功耗平衡电路,使得运算功耗保持平 衡并与处理的数据无关;也有通过插入随机延时的方法,让加密操作执行的时间点不确定。
[0007] AES加密的一种改进实现方式可W通过简化轮函数的四步操作,使得加密过程中 没有复杂的列混淆操作。运种实现方式仅需要四个查找表、每轮每列的四次异或,W及存储 运些数据的额外存储空间。
[000引但现有AES上抗功耗攻击的方法主要是针对传统的AES实现方案来设计的,缺乏针 对运种不带列混淆,且更高效的加密实现过程的抗功耗攻击策略。

【发明内容】

[0009] 本发明旨在至少解决上述技术问题之一。
[0010] 为此,本发明的第一个目的在于提出一种AE巧日密方法。
[0011] 本发明的第二个目的在于提出一种基于AE巧日密方法的抗功耗攻击方法。
[0012] 为了实现上述目的,本发明的实施例公开了一种AE巧日密方法,包括如下步骤:SI: 对明文数据进行分组;S200:初始化循环次数为0; S201:将轮函数的输入与扩展的密钥进行 异或操作;S202:使用N位输入、Μ位输出的S盒进行数据替换,其中,N和Μ均为自然数,M〉N且Μ 被Ν整除;S203:通过所述S盒输出的Μ位数据进行移位,得到分组矩阵列混淆操作的一个列 的数据;S204:对行移位操作输出的Μ位数据对应地进行异或操作,得到一次轮函数的输出 值,循环次数加1;S205:判断当前循环次数是否达到预设次数,如果没有当前循环次数达到 预设次数则进入步骤S3,否则返回步骤S201; S3:对扩展密钥进行异或;S4:使用N位输入、P 位输出的S盒进行数据替换,其中,P为自然数且P被N整除;S5:与扩展密钥进行异或;S6:输 出密文数据。
[0013] 根据本发明实施例的AE巧日密方法,各个操作主要所需的操作只有查表、移位和异 或,运在逻辑实现上是较为简单且高效的。
[0014] 另外,根据本发明上述实施例的AE巧日密方法,还可W具有如下附加的技术特征:
[0015] 进一步地,N为8,M为32且P为8。
[0016] 为了实现上述目的,本发明的实施例公开了一种基于AE巧日密方法的抗功耗攻击 方法,包括W下步骤:SA:获取明文数据;SB:通过权利要求1或2所述的AES加密方法对所述 明文数据进行加密,在对所述明文数据进行加密的过程中引入一个互补操作W使得加密操 作产生的功耗和所述互补操作产生的功耗的和为近似一个常数,所述互补操作包括与扩展 密钥的反进行异或、反S盒数据替换、反数据的行位移和同或运算;SC:输出密文。
[0017] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0018] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得 明显和容易理解,其中:
[0019] 图1是相关技术的AES-128实现过程的流程图;
[0020] 图2是本发明一个实施例的AES加密方法的流程图;
[0021] 图3是本发明一个实施例的AES加密方法中部分操作的数据变换图;
[0022] 图4是本发明一个实施例的基于AES加密方法的抗功耗攻击方法的抗功耗攻击实 现框图。
【具体实施方式】
[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0024] 在本发明的描述中,需要理解的是,术语"中屯、"、"纵向横向上"、"下"、 "前"、"后V'左'、"右V'竖曹'、"水甲V'顶'、"底V'胖V'外"等指示的方位或位置关系为 基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗 示所指的装置或元件必须具有特定的方位、W特定的方位构造和操作,因此不能理解为对 本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对 重要性。
[0025] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相 连"、"连接"应做广义理解,例如,可W是固定连接,也可W是可拆卸连接,或一体地连接;可 W是机械连接,也可W是电连接;可W是直接相连,也可W通过中间媒介间接相连,可W是 两个元件内部的连通。对于本领域的普通技术人员而言,可W具体情况理解上述术语在本 发明中的具体含义。
[0026] 参照下面的描述和附图,将清楚本发明的实施例的运些和其他方面。在运些描述 和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施 例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的 实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0027] W下结合附图描述根据本发明实施例的AES加密方法。
[0028] 图1是本发明一个实施例的AE巧日密方法的流程图。请参考图1,一种AE巧日密方法, 包括W下步骤:
[00巧]S1:对明文数据进行分组。
[0030] S200:初始化循环次数为0。
[0031] S201:将轮函数的输入与扩展的密钥进行异或操作。该步骤与原始AES的实现完全 一样,将轮函数的输入与扩展的密钥执行模2加操作,逻辑上表现为异或操作。
[0032] S202:使用N位输入、Μ位输出的S盒进行数据替换,其中,N和Μ均为自然数,M〉N且Μ 被Ν整除。在本发明的一个示例中,Ν为8、Μ为32,即通过使用一个8位输入,32位输出的改进S 盒执行字节替换。该32位输出是在原始ΑΕ巧日密过程中S盒变换的8位输出数据基础上,预先 设定好而得到的。
[0033] S203:通过S盒输出的Μ位数据进行移位,得到原来AES算法中分组矩阵列混淆操作 的一个列的数据。
[0034] S204:对行移位操作输出的Μ位数据对应地进行异或操作,得到一次轮函数的输出 值,循环次数加1。具体地,对行移位操作输出的32位数据对应地进行模2加(异或),最终得 到一次轮函数的输出值。
[0035] S205:判断当前循环次数是否达到预设次数,如果没有当前循环次数达到预设次 数则进入步骤S3,否则返回步骤S201。
[003
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1