(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202110548000.5
(22)申请日 2021.05.19
(65)同一申请的已公布的文献号
申请公布号 CN 113128133 A
(43)申请公布日 2021.07.16
(73)专利权人 衡阳师范学院
地址 421002 湖南省衡阳市珠晖区衡花路
16号
(72)发明人 李浪 刘嘉辉
(74)专利代理 机构 长沙市融智专利事务所(普
通合伙) 43114
专利代理师 欧阳迪奇
(51)Int.Cl.
G06F 30/27(2020.01)
G06N 3/00(2006.01)
G06N 3/12(2006.01)G06F 111/08(2020.01)
G06F 119/06(2020.01)
(56)对比文件
CN 112769540 A,2021.0 5.07
US 2011185303 A1,201 1.07.28
CN 111565189 A,2020.08.21
K. Kalaiselvi.A N ovel Method to
Design S-box Based o n Genetic Algorithm
and Particle Swarm Optimizati onin AES-128
Cryptosystem. 《I nternati onal Journal of
Pure and Ap plied Mathematics》 .2018,
王宝楠.从演化密码到量子人工智能密码综
述. 《计算机 研究与发展》 .2019,
陈颖等.SM4硬件电路的功耗分析研究. 《信
息网络安全》 .2018,(第0 5期),
审查员 李丽萍
(54)发明名称
一种基于遗传算法的功耗攻击高效筛选方
法
(57)摘要
本发明公开了一种基于遗传算法的功耗攻
击高效筛选方法。 包括: 采集功耗; 确定参数以及
适应度函数; 初始化种群; 计算个体适应度; 计算
字节适应度; 选择优良个体阶段; 交叉阶段; 变异
阶段。 本发 明结合了侧 信道分析技术中的功耗攻
击技术, 将传统功耗攻击与改进的遗传算法进行
结合, 既降低了传统功耗攻击的计算复杂度, 又
提高了攻击的效率以及成功率, 同时解决了传统
遗传算法和功耗攻击所结合的方法中存在的个
体“退化”和进化速度慢的问题。
权利要求书3页 说明书7页 附图2页
CN 113128133 B
2022.05.17
CN 113128133 B
1.一种基于 遗传算法的功耗 攻击高效筛 选方法, 其特 征在于, 包括如下步骤:
步骤1: 从密码设备上采集功耗泄露信 息, 形成原始数据; 所述的功耗泄露信息包括: 加
密过程中第一轮所有S盒的功耗之和以及每 个S盒的功耗;
步骤2: 确定遗传算法的参数以及适应度函数; 包括: 交叉参数Pc、 变异参数Pm和一个种
群所包含的密钥个 体数N; 适应度函数为相关性系数公式;
步骤3: 初始化N个随机密钥作为第一代种群, 然后与明文一同输入密码算法, 计算得到
中间值;
步骤4: 使用适应度函数计算种群中个体的适应度; 对N个个体都进行个体适应度的计
算, 如果存在适应度等于的1个体即为正确密钥并结束整个方法, 如果不存在正确密钥, 则
进入步骤5;
步骤5: 使用适应度函数去计算每个个体的字节的适应度, 如果字节的适应度等于1, 则
说明该字节为正确字节, 并将该字节位置上 的字节替换其他个体上相同位置上 的字节; 当
遍历完所有个体后, 如果得到所有字节适应度均为1的个体则为正确密钥并结束整个方法,
否则进入步骤6; 若所有个 体均不存在正确密钥字节, 则直接进入步骤6;
步骤6: 采用竞赛选择法选择优良个体; 随机选出少于原种群中个体数量的多个密钥个
体进行适应度的比较, 最后选择最高适应度的所对应的个体作为下一代种群中的个体, 重
复执行直到构成一个与原种群 个体数量相等的新种群, 进入步骤7;
步骤7: 进行交叉互换; 随机选择两个个体, 再随机选择这两个个体上同一位置的比特,
并判断该比特是否在正确字节中, 如果在正确字节中, 就重新选择两个没有被选择过的个
体; 如果不在正确字节中, 就产生一个随机数, 判断随机数是否小于设定交叉参数, 如果小
于, 则交换这两个比特, 否则不进行交换; 然后继续选择两个没有被选择过的个体执行, 直
到遍历所有个 体, 进入步骤8;
步骤8: 进行变异阶段; 对所有个体的每个字节都进行变异, 当选中一个密钥个体的一
个字节时, 先判断其是否为正确字节, 如果为正确字节, 则跳过并对后一个字节进行判断;
如果不是正确字节, 则对该字节包含的比特进行依次变异, 即赋予当前比特一个随机数, 如
果随机数小于变异参数, 则对该比特执行二进制取反; 否则不改变当前比特并赋予下一个
比特随机数; 直至遍历所有个体; 然后基于 当前的种群重复步骤4-8, 直到得到正确密钥或
达到跳出循环条件后输出。
2.根据权利要求1所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所
述步骤1中采集功耗信息包括如下步骤:
步骤101: 随机产生预设个1位的二进制随机数来形成一条明文, 产生多条明文并编号,
同时让指定密钥与明文运行加密算法得到密文, 并采集所需要的功耗信息; 采集的信息包
括两种功耗, 一种是对S盒的输出进行整体的统计, 并运用汉明重量模型刻画出来的功耗,
视为一个功 耗样本, 用来判断是否恢复了正确密钥; 另一种是对每个S盒的输出进 行单独的
统计, 也用汉明重量模型进 行刻画出来的功耗, 视为另一个功 耗样本, 用来判断该字节是否
为正确字节; 两种功耗的编号与对应明文一 致;
步骤102: 重复步骤101, 直到获得预设数量的功耗泄露信息, 并分别保存到两个文件
中, 视为两个矩阵。
3.根据权利要求1所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所权 利 要 求 书 1/3 页
2
CN 113128133 B
2述步骤2中确定参数以及适应度函数包括以下步骤:
步骤201: 确定交叉参数Pc, 变异参数Pm, 以及种群所包含的密钥个体数N; 是预先通过
对Pc、 Pm和N分别赋值后, 基于本方法来计算已知的密钥, 并选择运算过程最快的Pc、 Pm和N
组合作为所选用的参数;
步骤202: 适应度函数为相关性系数:
其中ri,j表示r矩阵中的一个元素, 包含了列hi和tj的比较结果; h是用汉明重量模型刻
画得到的中间值矩阵, 且h和t是两个功耗样本矩阵, 分别是中间值矩阵和功耗矩阵,
和
分别代表两个矩阵的第i列和第j列的平均值, hd,i与td,j代表h矩阵和t矩阵第d行的第i个元
素和第j个元 素。
4.根据权利要求1所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所
述步骤3中初始化种群包括以下步骤:
随机产生48个1位的二进制随机数作为一个密钥个体, 总共产生N个, 并编号保存, 作 为
第一代种群;
用N个密钥与500条随机明文基于加密算法进行加密, 得到中间值, 中间值包括两种, 一
种是所有S盒的输出作为 一个中间值矩阵hq, w, 其中0≤q<N, 0 ≤w<500:
其中, S和E分别代表加密算法中的S盒和E扩展; Rw代表明文经过算法后的右半部分, w代
表了第几个明文; Kq代表了密钥, q代 表了第几个密钥;
另一种是单个S盒的输出作为一个中间值矩阵h`q, w, p, 其中0≤q<N, 0≤w<500, 0≤p<
8:
其中, Sp中的p代表第几个S盒。
5.根据权利要求3所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所
述步骤4中计算个 体适应度包括以下步骤:
采用适应度函数计算, 最终得到一个r矩阵, r矩阵中的每一个元素ri, j包含了列hi和tj
的比较结果即一个密钥, 如果ri, j值等于1, 则认定该值所对应的密钥为正确密钥, 并将该密
钥作为结果并输出。
6.根据权利要求3所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所
述的步骤5中计算密钥字节相关性包括以下步骤: 根据适应度函数计算得到r`矩阵, 其中的
每一个元素r`x, y包含了列h`x和t`y的比较结果即一个密钥, 其中0≤x<N, 0≤y<8, 其中t`y
表示采集单个S盒的输出得到的功耗样本集合t`矩阵中的元素, h`x表示采集密钥个体与
500条明文执 行算法运 算后每个S盒的中间值。
7.根据权利要求1所述的一种基于遗传算法的功耗攻击 高效筛选方法, 其特征在于, 所
述的步骤6中选择优良个 体包括以下步骤:
从种群包含的密钥个体数的种群中, 随机选择出不大于种群个数的密钥个体, 进行适权 利 要 求 书 2/3 页
3
CN 113128133 B
3
专利 一种基于遗传算法的功耗攻击高效筛选方法
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 17:54:38上传分享