专利类型:发明专利
语 言:中文
申 请 号:CN201410075270.9
申 请 日:20140303
申 请 人:重庆大学
申请人地址:400044 重庆市沙坪坝区沙正街174号
公 开 日:20140514
公 开 号:CN201410075270.9
代 理 人:郭吉安
代理机构:重庆大学专利中心 50201
摘 要:本发明公开了一种防止基于功耗分析攻击AES算法的软件掩码防护方案。引入掩码矩阵M,在加密运算的每一轮设置三个随机掩码防护点;每次加密过程生成M的一组掩码序列对上述三处防护点进行保护;在密码芯片内部设置计数器C,每加密一次进行初始值叠加,当达到阈值T1时矩阵M构造完成;当达到阈值T2时,重置计数器C并从下次加密开始更新矩阵M,以此反复;由于设置的三个随机掩码防护点对至少在穷举少量子密钥时能计算出的重要中间值进行了掩码防护,因此能有效抵抗高阶差分功耗攻击,保护AES密钥安全;同时掩码矩阵采用队列模式进行动态更新,减少了随机掩码更换的频率,降低了防护成本。
主 权 项:一种防止基于功耗分析攻击AES算法的软件掩码防护方案,其特征在于该方案主要针对的是软件实现的AES算法的掩码防护,对至少在穷举少量子密钥时能计算出的重要中间值进行了保护;防止了攻击者通过寄存器劫持获取掩码序列的方式进行高阶差分攻击,减少了随机掩码更换的频率,降低了防护成本,其实施步骤如下:引入掩码矩阵M用于生成随机数序列,在加密运算的每一轮设置三个随机掩码防护点,分别为子密钥异或结果,即S盒输入;字节代换结果,即S盒输出;以及轮加密结果;第1轮加密过程中,首个子密钥K1未对数据进行操作之前,加密算法流程保持和AES流程相同;在第1轮子密钥K1对明文进行异或操作后引入掩码X,字节代换操作后引入掩码X1,第1轮加密操作结束时引入掩码X2;第2轮至第9轮的加密过程,操作方式与第1轮加密过程类似,即在三个随机掩码防护点处设置随机掩码,只是异或的随机数值与第1轮不相同;在第10轮字节代换操作后引入掩码X20,加密结果输出前引入掩码X21,最后经过逆置换操作引入掩码Y还原真实的密文信息;掩码矩阵M在第一次加密过程中的密钥初始化阶段随机生成第一组掩码序列,第二次加密过程随机生成第二组掩码序列,以此反复,每次加密过程均从M中随机选取一组掩码序列进行防护设置;当达到计数器C的阈值T1(i=N)时,矩阵M构造完成,此后的加密过程不再变更M的大小;当达到阈值T2(i=2N)时,重置计数器C(i=0),之后的加密过程以阈值T1为计数周期,T2为重置周期,采用队列模式更新掩码矩阵M,即第j次加密生成的掩码序列将替换M中的第j组掩码序列(1<=j<=N),更新完成之后当达到重置周期T2时才进行下一次替换,以此反复完成多次加密过程中掩码矩阵的动态更新。
关 键 词:
法律状态:公开
IPC专利分类号:H04L9/06;H04L9/00;H;H04;H04L;H04L9;H04L9/06;H04L9/00