发明名称 防攻击高级加密标准的加密芯片的算法
摘要 本发明公开一种防攻击高级加密标准的加密芯片的算法,涉及信息安全技术领域;该算法的机理是通过把输入的初始数据与一个随机数异或运算而把DPA需要使用到的中间数据掩盖;而Masking的关键在于中间的所有数据都是被修改过的但最终可以把数据再恢复还原输出。因此这个设计需要两个数据通道,一个用于被修改的所需加密数据的正常加密处理,一个用于随机数的处理,使得最后可以将两个通道的数据通过简单异或而还原真实输出。本发明具有相对安全而易实现的,无统计分析规律,并能最终把输出数据恢复还原的特点。
申请公布号 CN101196965A 申请公布日期 2008.06.11
申请号 CN200610119238.1 申请日期 2006.12.07
申请人 上海安创信息科技有限公司 发明人 周玉洁;陈志敏;秦晗;谭咏伟
分类号 G06F21/00(2006.01);H04L9/30(2006.01) 主分类号 G06F21/00(2006.01)
代理机构 上海申汇专利代理有限公司 代理人 吴宝根
主权项 1.一种防攻击高级加密标准的加密芯片的算法,其特征在于,加密算法的工作流程:1)明文被分为128bits为一组pt,每一个组先与一个8bits的通过重复扩展成128bits的随机数mp异或;2)进行密钥扩展,过程与标准AES加密完全一样,唯一的不同是字节代换的时候换用了带Mask的新Sbox;新的SBox的输入有5个,分别为3个新产生的随机数Z,W,F,经过异或运算的数据M<img file="A2006101192380002C1.GIF" wi="31" he="32" />S(这里S代表不使用Mask方法时的原始中间数据),和刚才用于异或运算的随机数M,输出是一个8bits随机数F’和一个与该随机数异或运算而掩盖的真实数据SBOX(S)<img file="A2006101192380002C2.GIF" wi="31" he="32" />F’;为了保证最终输出的正确和处理步骤的简单,必须使得输出的两个值通过一步简单的异或就可以还原出真实的中间数据;3)密钥扩展的结果是输出44个字的mk,和44个被掩盖了的子密钥Subkey<img file="A2006101192380002C3.GIF" wi="32" he="33" />mk;它们按顺序一一对应,异或后得到真实的子密钥值,也是为了最终数据还原的实现;4)第一个经过MASK的子密钥Subkey1<img file="A2006101192380002C4.GIF" wi="31" he="33" />mk1先与MASK后的需加密数据pt<img file="A2006101192380002C5.GIF" wi="31" he="33" />mp异或,然后这个数据输入新SBOX,同时输入的还有mp<img file="A2006101192380002C6.GIF" wi="33" he="34" />mk1,Z,W,F,输出的将是F’,SBOX(pt<img file="A2006101192380002C7.GIF" wi="32" he="32" />Subkey1)<img file="A2006101192380002C8.GIF" wi="32" he="32" />F’;5)对输出的SBOX(pt<img file="A2006101192380002C9.GIF" wi="32" he="34" />Subkey1)<img file="A2006101192380002C10.GIF" wi="32" he="34" />F’做行移位,列混淆,再与第二个被MASK过的子密钥Subkey2<img file="A2006101192380002C11.GIF" wi="32" he="31" />mk2异或;6)F’则和与第二个子密钥相对应的随机数mk2做异或;经过处理后的这个数据和这个数据通道也是为了最终还原输出而存在的;7)这时判断是否到了最后一轮,如果没到,则上面两个数据进入新Sbox,然后重复上面的步骤;8)如果到了最后一轮,两个数据进入新SBox后,输出的F’与最后一个子密钥相对应的mk44异或得到F’<img file="A2006101192380003C1.GIF" wi="31" he="33" />mk44;9)SBOX(state<img file="A2006101192380003C2.GIF" wi="32" he="33" />Subkey43)<img file="A2006101192380003C3.GIF" wi="32" he="32" />F’则进行行移位后与最后一个被Mask过的子密钥Subkey44<img file="A2006101192380003C4.GIF" wi="32" he="32" />mk44异或;10)最后将上面两个所得数据异或,得到加密后的输出128bits的密文。
地址 201204上海市浦东新区张江高科技园区毕升路299弄6号202