版权说明 操作指南
首页 > 成果 > 详情

一种基于遗传算法的功耗攻击高效筛选方法

认领
导出
Link by 万方专利
反馈
分享
QQ微信 微博
成果类型:
专利
发明/设计人:
李浪;刘嘉辉
申请/专利权人:
衡阳师范学院
专利类型:
发明专利
语种:
中文
申请时间:
2021-05-19
申请/专利号:
CN202110548000.5
公开时间:
2021-07-16
公开号:
CN113128133A
主申请人地址:
421002 湖南省衡阳市珠晖区衡花路16号
申请地区:
中国湖南
代理人:
欧阳迪奇
机构署名:
本校为其他完成单位
主权项:
1.一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,包括如下步骤: 步骤1:从密码设备上采集功耗泄露信息,形成原始数据;所述的功耗泄露信息包括:加密过程中第一轮所有S盒的功耗之和以及每个S盒的功耗; 步骤2:确定遗传算法的参数以及适应度函数;包括:交叉参数Pc、变异参数Pm和一个种群所包含的密钥个体数N;适应度函数为相关性系数公式; 步骤3:初始化N个随机密钥作为第一代种群,然后与明文一同输入密码算法,计算得到中间值; 步骤4:使用适应度函数计算种群中个体的适应度;对N个个体都进行个体适应度的计算,如果存在适应度等于的1个体即为正确密钥并结束整个方法,如果不存在正确密钥,则进入A5; 步骤5:使用适应度函数去计算每个个体的字节的适应度,如果字节的适应度等于1,则说明该字节为正确字节,并将该位置上的字节替换其他个体上相同位置上的字节;当遍历完所有个体后,如果得到所有字节适应度均为1的个体则为正确密钥并结束整个方法,否则进入步骤6;若所有个体均不存在正确密钥字节,则直接进入步骤6; 步骤6:采用竞赛选择法选择优良个体;随机选出少于原种群中个体数量的多个密钥个体进行适应度的比较,最后选择最高适应度的所对应的个体作为下一代种群中的个体,重复执行直到构成一个与原种群个体数量相等的新种群,进入步骤7; 步骤7:进行交叉互换;随机选择两个个体,再随机选择这两个个体上同一位置的比特,并判断该比特是否在正确字节中,如果在正确字节中,就重新选择两个没有被选择过的个体;如果不在正确字节中,就产生一个随机数,判断随机数是否小于设定交叉参数,如果小于,则交换这两个比特,否则不进行交换;然后继续选择两个没有被选择过的个体执行,直到遍历所有个体,进入步骤8; 步骤8:进行变异阶段;对所有个体的每个字节都进行变异,当选中一个密钥个体的一个字节时,先判断其是否为正确字节,如果为正确字节,则跳过并对后一个字节进行判断;如果不是正确字节,则对该字节包含的比特进行依次变异,即赋予当前比特一个随机数,如果随机数小于变异参数,则对该比特执行二进制取反;否则不改变当前比特并赋予下一个比特随机数;直至遍历所有个体;然后基于当前的种群重复步骤4-8,直到得到正确密钥或达到跳出循环条件后输出。 2.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述步骤1中采集功耗信息包括如下步骤: 步骤101:随机产生预设个1位的二进制随机数来形成一条明文,产生多条明文并编号,同时让指定密钥与明文运行加密算法得到密文,并采集所需要的功耗信息;采集的信息包括两种功耗,一种是对S盒的输出进行整体的统计,并运用汉明重量模型刻画出来的功耗,视为一个功耗样本,用来判断是否恢复了正确密钥;另一种是对每个S盒的输出进行单独的统计,也用汉明重量模型进行刻画出来的功耗,视为另一个功耗样本,用来判断该字节是否为正确字节;两种功耗的编号与对应明文一致; 步骤102:重复步骤101,直到获得预设数量的功耗泄露信息,并分别保存到两个文件中,视为两个矩阵。 3.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述步骤2中确定参数以及适应度函数包括以下步骤: 步骤201:确定交叉参数Pc,变异参数Pm,以及种群所包含的密钥个体数N;是预先通过对Pc、Pm和N分别赋值后,基于本方法来计算已知的密钥,并选择运算过程最快的Pc、Pm和N组合作为所选用的参数; 步骤202:适应度函数为相关性系数: 其中ri,j表示r矩阵中的一个元素,包含了列hi和tj的比较结果;h是用汉明重量模型刻画得到的中间值矩阵,且h和t是两个功耗样本矩阵,分别是中间值矩阵和功耗矩阵,和分别代表两个矩阵的第d行i列和第d行j列的平均值,hd,i与td,j代表h矩阵和t矩阵第d行的第i个元素和第j个元素。 4.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述步骤3中初始化种群包括以下步骤: 随机产生48个1位的二进制随机数作为一个密钥个体,总共产生N个,并编号保存,作为第一代种群; 用N个密钥与500条随机明文基于加密算法进行加密,得到中间值,中间值包括两种,一种是所有S盒的输出作为一个中间值矩阵hi,j,其中0≤i<N,0≤j<500: 其中,S和E分别代表加密算法中的S盒和E扩展;Rj代表明文经过算法后的右半部分,j代表了第几个明文;Ki代表了密钥,i代表了第几个密钥; 另一种是单个S盒的输出作为一个中间值矩阵h`i,j,p,其中0≤i<N,0≤j<500,0≤p<8: 其中,Sp中的p代表第几个S盒。 5.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述步骤4中计算个体适应度包括以下步骤: 采用适应度函数计算。最终得到一个r矩阵,r矩阵中的每一个元素ri,j包含了列hi和tj的比较结果即一个密钥,如果ri,j值等于1,则认定该值所对应的密钥为正确密钥,并将该密钥作为结果并输出。 6.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述的步骤5中计算密钥字节相关性包括以下步骤:根据适应度函数计算得到r`矩阵,其中的每一个元素r`i,j包含了列h`i和t`j的比较结果即一个密钥,其中0≤i<N,0≤j<8,其中t`j表示采集单个S盒的输出得到的功耗样本集合t`矩阵中的元素,h`i表示采集密钥个体与500条明文执行算法运算后每个S盒的中间值。 7.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述的步骤6中选择优良个体包括以下步骤: 从种群包含的密钥个体数的种群中,随机选择出不大于种群个数的密钥个体,进行适应度的比较,每个密钥个体的适应度由适应度函数计算相关性系数得到,选出最大适应度所对应的密钥个体作为下一代种群中的个体,重复与种群个体数量相同的次数,直到产生新的一个种群,并且新种群中允许存在相同的个体。 8.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述的步骤7中进行交叉互换包括以下步骤: 按交叉概率Pc,在选中的位置实行交换:先随机选择两个密钥个体和所要交换的比特位,并判断所要交换的比特位是否存在于正确字节中,如果存在于正确字节中,则重新随机生成要交换的比特位并进行判断,否则对该比特位进行交叉互换,然后随机生成一个数,若小于交叉概率Pc,就进行交叉互换,产生两个新的个体来代替原来的两个个体,如果随机生成数大于交叉概率Pc,则不对这两个比特进行交叉互换,然后重新选择两个密钥个体和比特进行交叉步骤,重复与种群个体数量相同的次数。 9.根据权利要求1所述的一种基于遗传算法的功耗攻击高效筛选方法,其特征在于,所述A8中进行变异阶段包括以下步骤: 在变异时,先判断要变异的字节是否为正确字节,如果为正确字节,则跳过该字节的变异,直接到下一个字节进行判断,否则对该字节的每个比特都进行一次判断,如果随机生成数小于变异参数Pm,则该比特取反,否则不变。
摘要:
本发明公开了一种基于遗传算法的功耗攻击高效筛选方法。包括:采集功耗;确定参数以及适应度函数;初始化种群;计算个体适应度;计算字节适应度;选择优良个体阶段;交叉阶段;变异阶段。本发明结合了侧信道分析技术中的功耗攻击技术,将传统功耗攻击与改进的遗传算法进行结合,既降低了传统功耗攻击的计算复杂度,又提高了攻击的效率以及成功率,同时解决了传统遗传算法和功耗攻击所结合的方法中存在的个体“退化”和进化速度慢的问题。

反馈

验证码:
看不清楚,换一个
确定
取消

成果认领

标题:
用户 作者 通讯作者
请选择
请选择
确定
取消

提示

该栏目需要登录且有访问权限才可以访问

如果您有访问权限,请直接 登录访问

如果您没有访问权限,请联系管理员申请开通

管理员联系邮箱:yun@hnwdkj.com