一种应用于aes算法的字节替换方法及系统的制作方法
【技术领域】
[0001 ] 本发明属于无线通信忍片媒体访问控制(Media Access Control ,MAC)层加密技 术领域,更具体地,设及到高级加密标准(Advance祀nc巧ptStandard,AES)算法中在有限域 GF(28)内实现字节替换的方法。
【背景技术】
[0002] 2000年10月,美国政府正式宣布选择两位比利时密码学家共同发明的RUndael算 法作为新一代高级加密标准(AES) dAES由美国国家标准与技术研究院于2001年11月26日发 布于FIPSPUB197,并在2002年5月26日正式有效。Ri jndae 1算法因为其安全、性能好、效率 高、实用性强、灵活性好的特点而被最终选为AES,作为新一代数据加密标准。目前AES已经 被一些国际标准化组织(ISO,IETF,IE邸802.11 i等)采纳作为标准。
[0003] AES作为新一代数据加密标准,被广泛的应用于各个领域。在无线网络应用方面, 无线网络通信信道的开放性使得通信对安全性的要求变得更高。目前,世界上主要有两个 无线网络国际标准:一是WLAN的IE趾80 2.11协议(Wi -Fi );二是WMAN的IE趾80 2.16协议 (WiMAX)。虽然,运两个协议在制定初期分别选择了RC4和DES扣ata Enc巧ption S^ndard) 作为所用的安全机制,但随着信息安全发展需要且考虑安全的原因,AES已经逐渐代替RC4 和DES。除此W外,其他一些无线网络技术也都采用了 AES,用于加密数据安全传输。
[0004] 密码学加密技术就密钥的策略上而言,密码体制可分为对称密码体制和非对称密 码体制。AE巧日密算法属于对称密码体制,在信息安全中起着重要的作用,有着W下优点:
[0005] (1)加密和解密速度快,有很高的数据吞吐率,便于软硬件实现;
[0006] (2)密文和明文长度相同;
[0007] (3)其算法安全性能在现有的攻击下能保持良好的安全性。
[000引自从AES提出之时起,国内外很多学者专家对其开展了各项研究。其中,一部分研 究聚焦于AES的攻击方式和分析方法,一部分则重点研究AES的优化与应用,后者的目的是 为了更好地平衡AES硬件实现具体设计中的面积与速度。AES算法的实现方式有两种:软件 方式和硬件方式。软件实现速度慢,并且存在安全隐患。AES的硬件实现可W提供强安全性、 灵活性和高效性,因此AES高性能硬件实现成为研究重点。
【发明内容】
[0009] 本发明提出了一种应用于AES算法的字节替换方法,该方法通过扩展欧几里得算 法来求取乘法逆元,然后将乘法逆元进行仿射运算来实现AES算法中的字节替换功能,与现 有技术相比,可W最大限度的节省逻辑资源,并且有效提升系统的工作频率。
[0010] 为实现W上发明目的,采用的技术方案是:
[0011] -种应用于AES算法的字节替换方法,将AES算法内部数据路径输入数据的每个字 节均表示为有限域GF(2 8)中的一个元素,使用扩展欧几里得算法计算有限域GF(28)中输入 数据基于不可约多项式的乘法逆元,然后对得到的乘法逆元进行仿射运算,得到字节替换 结果。
[0012] 上述方案中,将GF(28)中的乘法逆元用作字节替换的优势在于提供了高度的非线 性,能够抵御截止到目前为止已知的最强分析攻击。而仿射运算又破坏了有限域的代数结 构,可W进一步有效抵御针对有限域的乘法逆元的攻击。
[0013] 优选地,所述扩展欧几里得算法表示如下:
[0014] gcd(r〇,r) = s*r〇+t*r
[0015] 其中为有限域乘法运算,' + '为有限域中的加法运算;gcd(r〇,r)表示ro和r两个 正整数的最大公约数,其中ro表示不可约多项式,r表示有限域GF(2 8)中任一个的输入数据, S和t为满足上述欧几里得算法方程的唯一一对整数解,其中t为r基于ro的乘法逆元,S为ro 基于r的乘法逆元;
[0016] 而不可约多项式默认设定为:m(x)=x8+x4+x 3+x+l;
[0017] 对不可约多项式的系数采用9位二进制表示为9'6100011011,将9'6100011011换 算为10进制表示为283;则有限域GF(2 8)中所有的输入数据与283的最大公约数为1,此时扩 展欧几里得算法表示如下:
[001 引 s*;r0+t*r=l;
[0019] 所述计算乘法逆元的具体过程如下:
[0020] Sl.设定两组数据so、Sl与to、tl,当s = so=l时,且t = to = 0时,s*;roパ*r = ;ro = 283; 当s = sl = 0时,且t = tl = l时,s*r()パ*r = ;r;此时得到两组初始化数据:
[0021 ] (so'to'ro) = (1,0,283)和(si'ti'r) = (0,1,!);
[0022] 此时设定循环轮数为i且令i初始化为1;
[0023] S2.判断第i次循环在有限域GF(28)中选取的输入数据ri是否等于1,如果ri = l则 结束循环,与ri对应的ti为所求的乘法逆元,否则执行步骤S3;
[0024] S3.令i = i+l;
[002引S4.将ri-2、ri-i最高位的位宽进行位差计算,其中ri-2、ri-汾别为第i-1次、第i-2次 循环选取的输入数据,若ri-2的位宽小于ri-i的位宽,则输出使能信号value为低电平,然后 执行步骤S6;若ri-2的位宽大于ri-i的位宽,则输出使能信号value为高电平,并且输出ri-2、 ri-i的位差dif,并执行步骤S5;
[0026] S5.执行W下操作:
[0027] tmp = ri-i<<dif ;
[002引 巧一2 =巧-2思妨巧;
[0029] QucfUcrU =Quotiem@ \ q'M ?dify
[0030] 其中' <<'表示左移运算/ ? '表示异或运算;
[0031] 然后执行步骤S4;
[0032] S6.输出如 Otient;
[0033] S7.执行W下操作:
[0034] ;Ti = ;ri-2-Quotien1:*;ri-i;
[003引 si = Si-2-Quotient*Si-i;
[0036] ti = ti-2_Quotient*ti-i;
[0037]其中'一'为有限域中的减法运算,;Si-2和ti-2、Si-i和ti-i分别为ri-2、ri-i满足求取 条件的S和t的中间迭代参数;
[003引 S8.返回步骤S2。
[0039]优选地,所述仿射运算的具体过程如下:
[0041] 则仿射运算表示如下:
[0042] 其中
表示字节替换结果。
[0043] 同时,本发明还提供了一种根据上述方法的系统,其具体方案如下:
[0044] 包括位差计算模块、有限域除法计算模块、有限域乘法计算模块、循环迭代模块和 仿射运算模块;
[0045] 其中位差计算模块用于对ri-2 Ji-I最高位的位宽进行位差计算,并根据计算结果, 输出使能信号value和位差dif;
[0046] 有限域除法计算模块用于计算并输出如Otient;
[0047] 有限域乘法计算模块由于计算qi-i*;Ti-i、qi-i*Si-i和qi-i*ti-i;
[004引循环迭代模块用于计算ri、si和ti,并判断ri是否等于1,若等于1则将ti输出至仿射 运算模块,否则令i = i+l;
[0049] 仿射运算模块用于对ti进行仿射运算,获得字节替换结果。
[0050] 与现有技术相比,本发明的有益效果是:
[0051] 本发明提供的替代方法通过扩展欧几里得算法来求取乘法逆元,然后将乘法逆元 进行仿射运算来实现AES算法中的字节替换功能,与现有技术相比,可W最大限度的节省逻 辑资源,并且有效提升系统的工作频率。
【附图说明】
[0052] 图1应用替换方法的系统的结构示意图。
[0053] 图2位差计算模块的实施示意图。
[0054] 图3有限域除法计算模块的实施示意图。
[0055] 图4循环迭代模块的操作过程示意图。
【具体实施方式】
[0056] 附图仅用于示例性说明,不能理解为对本专利的限制;
[0057] W下结合附图和实施例对本发明做进一步的阐述。
[0化引实施例1
[0059] AES算法采用分组密码的Square(方形)算法结构,对轮函数进行迭代运算