发明名称 |
一种基于寄存器掩码的面向AES算法的抗功耗攻击方法 |
摘要 |
本发明公开了一种基于寄存器掩码的面向AES算法的抗功耗攻击方法,在AES算法中添加随机数发生器和寄存器保护模块,寄存器保护模块包括第一异或单元、第二异或单元和寄存器。更新寄存器中的中间结果时,将需要保存的中间结果与随机数异或之后保存到寄存器中,同时保存该随机数;读取寄存器中的中间结果时,在将寄存器中的值读取并与保存的随机数进行异或。该方法保证寄存器中的存储值具有随机性,有效的隐藏了AES密码算法中的汉明距离泄露,可以有效的抵抗基于汉明距离模型的功耗攻击。 |
申请公布号 |
CN106452725A |
申请公布日期 |
2017.02.22 |
申请号 |
CN201610431897.2 |
申请日期 |
2016.06.14 |
申请人 |
东南大学 |
发明人 |
曹鹏;陈圣华;申艾麟;陆启乐;刘波;杨锦江 |
分类号 |
H04L9/06(2006.01)I;H04L9/00(2006.01)I |
主分类号 |
H04L9/06(2006.01)I |
代理机构 |
南京苏高专利商标事务所(普通合伙) 32204 |
代理人 |
柏尚春 |
主权项 |
一种基于寄存器掩码的面向AES算法的抗功耗攻击方法,其特征在于:在AES算法中添加随机数发生器(1)和寄存器保护模块(2),寄存器保护模块(2)包括第一异或单元(21)、第二异或单元(23)和寄存器(22);AES算法初始阶段的密钥加操作中,明文和初始密钥进行密钥加操作,随机数发生器(1)产生初始阶段随机数,初始阶段随机数和密钥加操作结果通过第一异或单元(21)进行异或操作,得到第一阶段异或结果并存入寄存器(22),在第1轮轮操作开始时,再将初始阶段随机数和初始阶段异或结果通过第二异或单元(23)进行异或操作,得到被还原的密钥加操作结果,作为第1轮轮操作的输入数据;AES算法的第i轮中,轮操作模块计算得到第i轮中间值,随机数发生器(1)产生第i轮随机数,第i轮中间值和第i轮随机数通过第一异或单元(21)进行异或操作,得到第i轮异或结果并存入寄存器(22);如果i≠N,则在第i+1轮开始时,第i轮异或结果和第i轮随机数通过第二异或单元(23)进行异或操作,得到被还原的第i轮中间值,作为第i+1轮的输入数据;如果i=N,则第i轮异或结果和第i轮随机数通过第二异或单元(23)进行异或操作,得到密文;其中,N为AES算法的轮操作的总次数。 |
地址 |
210096 江苏省南京市四牌楼2号 |