CN101196965A - 防攻击高级加密标准的加密芯片的算法 - Google Patents

防攻击高级加密标准的加密芯片的算法 Download PDF

Info

Publication number
CN101196965A
CN101196965A CN 200610119238 CN200610119238A CN101196965A CN 101196965 A CN101196965 A CN 101196965A CN 200610119238 CN200610119238 CN 200610119238 CN 200610119238 A CN200610119238 A CN 200610119238A CN 101196965 A CN101196965 A CN 101196965A
Authority
CN
China
Prior art keywords
xor
data
random number
key
sbox
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200610119238
Other languages
English (en)
Inventor
周玉洁
陈志敏
秦晗
谭咏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Aisino Chip Electronic Technology Co., Ltd.
Original Assignee
SHANGHAI ANCHUANG INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI ANCHUANG INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI ANCHUANG INFORMATION TECHNOLOGY Co Ltd
Priority to CN 200610119238 priority Critical patent/CN101196965A/zh
Publication of CN101196965A publication Critical patent/CN101196965A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开一种防攻击高级加密标准的加密芯片的算法,涉及信息安全技术领域;该算法的机理是通过把输入的初始数据与一个随机数异或运算而把DPA需要使用到的中间数据掩盖;而Masking的关键在于中间的所有数据都是被修改过的但最终可以把数据再恢复还原输出。因此这个设计需要两个数据通道,一个用于被修改的所需加密数据的正常加密处理,一个用于随机数的处理,使得最后可以将两个通道的数据通过简单异或而还原真实输出。本发明具有相对安全而易实现的,无统计分析规律,并能最终把输出数据恢复还原的特点。

Description

防攻击高级加密标准的加密芯片的算法
技术领域
本发明涉及信息安全技术,特别是涉及一种用于防攻击高级加密标准AES加密芯片的算法技术。
背景技术
随着集成电路分析技术的发展,芯片,尤其是安全芯片本身的安全性受到越来越多的威胁,如何有效保护安全芯片中的重要或者敏感数据的完整性、机密性与有效性关系到国家的经济、政治、文化与军事等诸多方面。由于安全芯片的特殊性,国内一般无法获得国际上先进的安全芯片及其相关技术,当然也包括针对安全芯片的防御攻击和分析的技术。为了增强国家安全芯片本身的安全性,自主研究各类防御芯片分析技术的高性能算法、新型电路结构,开展芯片的安全防护工作就显得十分重要,并且已经迫在眉睫。
现在业内普遍关注的安全芯片分析技术称为旁路攻击(SCA),其主要是基于物理特征的分析技术,包括电压分析技术、故障分析技术、侵入分析技术、时间分析技术、简单电流分析技术、差分电流分析技术、电磁辐射分析技术、高阶差分分析技术和汉明差分分析技术等。利用这些技术,攻击者可以在获得密码运算载体的情况下,不破坏芯片正常运算,而快速获得密钥,从而破译整个密码系统。
功耗分析是指通过分析密码运算过程中呈显的电流/电源变化,从而引起消耗能量的变化,获得密钥信息。功耗分析技术从最初的简单功耗分析(SPA)技术,发展为差分功耗分析(DPA)技术,最近又有了高阶差分功耗分析技术。SPA对密码操作过程中因指令序列的执行而产生的较大幅度能量变化图进行分析;DPA则针对操作数据变化引起的微小的能量变化进行分析,因为系统噪声干扰和可能的采样差错,这些微小变化容易丢失,所以需要进行统计分析。目前,针对信息安全芯片的功耗分析技术已经成为攻击者获得密钥等敏感信息的主要途径之一,该类攻击对信息安芯片的威胁最大,于是针对功耗分析的相应防御技术便成为人们的研究热点。
在硬件防御功耗分析措施方面,有人开始研究相应的对策。利用噪声发生器产生随机的噪声,加入到可能会被攻击的信号端,以降低功耗分析的信噪比,从而使得功耗分析的攻击方法变得更加困难。但是该方法存在一些缺陷,攻击者可以通过更多的采样和信号处理等方法完成对硬件的攻击。异步电路由于其在平均功耗、能量信号的峰值以及电磁辐射等方面的优势,使得它在抵御功耗分析方面也有作用,但由于芯片设计中异步电路本身运用的不是很广泛,相关的设计软件也不是很齐全,这为异步电路在安全芯片中的应用带来了不小的麻烦。现有的比较有效的方法是算法级Masking和电路一级的双轨和Masking技术。
差分功耗分析(Differential Power Analysis)最为常见,通用性高,对被攻击算法没有依赖性,实现攻击过程中也不需要对硬件实现有任何详细了解。DPA所需要的是大量的实验数据,与通过对输入数据的分类,实现对中间过程数据的分类。即攻击者知道中间数据与输入数据在密钥固定情况下的某种对应关系。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种相对安全而易实现的,无统计分析规律,并能最终把输出数据恢复还原的防攻击高级加密标准(AES)的加密芯片的算法。
为了解决上述技术问题,本发明所提供的一种防攻击高级加密标准(AES)的加密芯片的算法,其特征在于,算法加密的工作流程:
1)明文被分为128bits为一组pt,每一个组先与一个8bits的通过重复扩展成128bits的随机数mp异或。这一步实现了对输入初始数据的掩盖,必然导致中间过程数据的变化;
2)进行密钥扩展,过程与标准AES加密完全一样,唯一的不同是字节代换的时候换用了带Mask的新Sbox;新的SBox的输入有5个,分别为3个新产生的随机数Z,W,F,经过异或运算的数据
Figure A20061011923800061
(这里S代表不使用Mask方法时的原始中间数据),和刚才用于异或运算的随机数M,输出是一个8bits随机数F’和一个与该随机数异或运算而掩盖的真实数据
Figure A20061011923800062
;为了保证最终输出的正确和处理步骤的简单,必须使得输出的两个值通过一步简单的异或就可以还原出真实的中间数据;
3)密钥扩展的结果是输出44个字的mk,和44个被掩盖了的子密钥它们按顺序一一对应,异或后得到真实的子密钥值,也是为了最终数据还原的实现;
4)第一个经过MASK的子密钥先与MASK后的需加密数据
Figure A20061011923800065
异或,然后这个数据输入新SBOX,同时输入的还有
Figure A20061011923800066
输出的将是F’,
Figure A20061011923800067
5)对输出的
Figure A20061011923800068
做行移位,列混淆,再与第二个被MASK过的子密钥
Figure A20061011923800069
异或;
6)F’则和与第二个子密钥相对应的随机数mk2做异或;经过处理后的这个数据和这个数据通道也是为了最终还原输出而存在的;
7)这时判断是否到了最后一轮,如果没到,则上面两个数据进入新Sbox,然后重复上面的步骤;
8)如果到了最后一轮,两个数据进入新SBox后,输出的F’与最后一个子密钥相对应的mk44异或得到
Figure A200610119238000610
9)
Figure A200610119238000611
则进行行移位后与最后一个被Mask过的子密钥异或;
10)最后将上面两个所得数据异或,得到加密后的输出128bits的密文。
进一步地,所述步骤2)中的密钥为初始的128bits的密钥先与一个32bits通过重复扩展的随机数异或;虽然第一步的异或已经修改了实际数据;但为了提高安全性,这个设计对密钥也进行了异或处理。
进一步地,所述新Sbox的工作流程:首先判断是进行加密还是解密,如果是加密的话,先对进入的数据做有限域上的求逆,然后把求逆得到的结果用有限域上的乘法与一个固定的矩阵A相乘,然后与一个固定的向量b做有限域上的加法,最终得到的就是字节代换的输出值;如果是解密,则先对数据做有限域上的与一个固定向量b的加法,然后将结果用有限域上乘法与一个固定的矩站A’相乘,注意A和A’不同,经过这些计算后的结果再在有限域上求逆,最终的结果就是解密过程中的字节代换输出。
进一步地,所述新Sbox的工作流程中有限域求逆算法:首先把数字A通过G(256)到G(16)转换公式分解成高四位Ah和低四位Al;Ah通过有限域上的平方后乘以常数E(十进制的14),假设这个结果称为Ah2E,Al与Ah异或后的结果再与Al做有限域上的乘法,这个值为
Figure A20061011923800071
再把
Figure A20061011923800072
与Ah2E异或,得到
Figure A20061011923800073
这个值经过有限域求逆,得到
Figure A20061011923800074
这个求逆结果分别与Ah,Al做有限域乘法得到Bh、Bl,它们分别是字节代换结果的高四位和低四位;把它们按照G(16)到G(256)的转换公式能还原成八位值。
本发明提供的防攻击高级加密标准的加密芯片的算法,将使用算法级Masking(掩蔽)实现防攻击;与其他方法相比,Masking有较高的安全性。它的机理是通过把输入的初始数据与一个随机数异或运算而把DPA需要使用到的中间数据掩盖。因此输入数据与中间过程数据的固定关系由于每次加密或者解密使用的随机数不同而不同,就丧失了统计分析所需要的规律,破坏了DPA攻击的数学基础。而Masking的关键在于中间的所有数据都是被修改过的但最终可以把数据再恢复还原输出。因此这个设计需要两个数据通道,一个用于被修改的所需加密数据的正常加密处理,一个用于随机数的处理,使得最后可以将两个通道的数据通过简单异或而还原真实输出。经过该设计修改的加密解密可以保持原有算法的正确性,同时可以起到防范DPA攻击的效果。从实现上可以使用原有的自动化设计工具,因此是个相对安全而易实现的方案。
附图说明
图1是本发明实例加密部分整体结构示意框图;
图2是本发明实例的基于有限域求逆算法的Sbox示意框图;
图3是本发明图2实例的有限域求逆的具体实现示意框图;
图4是本发明实例的加密情况下带MASK的字节代换模块的示意框图;
图5是本发明图4实例的安全求逆模块的具体示意框图;
图6是本发明实例的Mask乘法模块的具体示意框图;
图7是本发明实例的4位安全求逆模块示意框图;
图8是本发明实例的带mask的与门的具体示意框图。
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似算法及其相似变化,均应列入本发明的保护范围。
本发明是一款防旁路攻击的采用高级加密标准AES算法的高速加密芯片的加密算法。所谓的防攻击是指可以防SCA中的一种DPA。所设计芯片不仅采用NIST的标准算法AES,防止DPA攻击,另外还具有高速的特点。可以对任意长度的消息进行加密运算,采用的密钥是128bits。
本发明设计只涉及加密核心部分,不包括接口模块。芯片对外接口有128bits的数据输入接口,128bits的密钥输入接口,1bits的加密或解密控制位,1bits的加密或解密已完成指示位,1bits的加密或解密启动控制位,128bits的输出接口。整体上使用20个SBOX并行工作,可以在13时钟周期内完成一次加密或解密。
根据所实现算法的特点,芯片可以分为加密部分,解密部分,密钥扩展部分。
芯片整体框图如图1(由于加密与解密过程的类似,仅显示加密部分):
参见图1所示,mp,mk,Z,W,F,F’都为随机数,xor为异或运算,字节代换模块为带Mask的新模块,行移位和列混淆模块为AES标准模块。
加密芯片的算法工作流程:
1)明文被分为128bits为一组pt,每一个组先与一个8bits的随机数mp(通过重复扩展成128bits)异或。这一步实现了对输入初始数据的掩盖,必然导致中间过程数据的变化。
2)128bits的密钥先与一个32bits的随机数mk(通过重复扩展成128bit)异或。这一步不是必须的,因为第一步的异或已经修改了实际数据。但为了提高安全性,这个设计对密钥也进行了异或处理。
3)进行密钥扩展,过程与标准AES加密完全一样,唯一的不同是字节代换的时候换用了带Mask的新Sbox。新的SBox的输入有5个,分别为3个新产生的随机数Z,W,F,经过异或运算的数据
Figure A20061011923800091
(这里S代表不使用Mask方法时的原始中间数据),和刚才用于异或运算的随机数M,输出是一个8bits随机数F’和一个与该随机数异或运算而掩盖的真实数据
Figure A20061011923800092
为了保证最终输出的正确和处理步骤的简单,必须使得输出的两个值通过一步简单的异或就可以还原出真实的中间数据。新的SBox设计难点在于字节代换的非线性,具体实现方法在下文详细介绍。
4)密钥扩展的结果是输出44个字的mk,和44个被掩盖了的子密钥
Figure A20061011923800093
它们按顺序一一对应,异或后得到真实的子密钥值,也是为了最终数据还原的实现。
5)第一个经过MASK的子密钥
Figure A20061011923800094
先与MASK后的需加密数据
Figure A20061011923800095
异或,然后这个数据输入新SBOX,同时输入的还有
Figure A20061011923800096
输出的将是F’,
Figure A20061011923800097
6)对输出的
Figure A20061011923800101
做行移位,列混淆,再与第二个被MASK过的子密钥
Figure A20061011923800102
异或。
7)F’则和与第二个子密钥相对应的随机数mk2做异或。经过处理后的这个数据和这个数据通道也是为了最终还原输出而存在的。
8)这时判断是否到了最后一轮,如果没到,则上面两个数据进入新Sbox,然后重复上面的步骤。
9)如果到了最后一轮,两个数据进入新SBox后,输出的F’与最后一个子密钥相对应的mk44异或得到
Figure A20061011923800103
10)
Figure A20061011923800104
则进行行移位后与最后一个被Mask过的子密钥
Figure A20061011923800105
异或。
11)最后将上面两个所得数据异或,得到加密后的输出128bits的密文。
模块分述:
这个部分只介绍与Mask技术相关的新Sbox和密钥扩展模块,而行移位,列混淆等为标准的AES模块,不另赘述。关于标准模块的说明请参照AES官方文档。
字节代换模块:
该模块即Sbox非线性变换部分。它相当与一个查表运算,把一个8bits的数据通过非线性变换为另一8bits数据。初始数据经过异或后,其他中间处理步骤都是线性的,因此最终恢复数据时所需要的随机数是可以平行地增加一个数据通道而计算得到的。但是
Figure A20061011923800106
不等于
Figure A20061011923800107
Mask的难点就在于这个模块的非线性。为了使得数据的恢复可以容易地进行,需要构建新的SBOX’,它要满足 Sbox , ( S ⊕ F ) = Sbox ( S ) ⊕ F .
AES的字节代换模块,
由于新Sbox的构建是建立在原Sbox的基础上的,因此这里先介绍未加MASK的SBOX。它的实现分查表和有限域求逆两种,这里使用第二种方法。因为虽然查表法的原理简单,但表格需要根据每次的随机数F的不同而重新建立,所需要的时间和硬件复杂度已经不能满足正常加密所能承受的限度。如果先选择固定数目的随机数,再建立好对应的表格储存起来,那么随机数的选择范围如果很大,则固定表格的储存所占用的空间也是无法承受的;如果范围很小,使用的不同的表格有限,则牺牲了安全性,也就失去了进行Mask的意义。
基于有限域求逆算法的Sbox框图如图2所示;首先判断是进行加密还是解密,如果是加密的话,先对进入的数据做有限域上的求逆,然后把求逆得到的结果用有限域上的乘法与一个固定的矩阵A相乘,然后与一个固定的向量b做有限域上的加法,最终得到的就是字节代换的输出值;如果是解密,则先对数据做有限域上的与一个固定向量b的加法,然后将结果用有限域上乘法与一个固定的矩站A’相乘,注意A和A’不同,经过这些计算后的结果再在有限域上求逆,最终的结果就是解密过程中的字节代换输出。
参见图3所示,有限域求逆算法的具体实现如下:先将8bits数据A=(a7,a6,a5,a4,a3,a2,a1,a0)分解为两个4bits的数al和ah,然后所进行的有限域乘法,有限域平方和有限域求逆都是4bits数据的运算。得到两个4bits的输出数据bl和bh后再合成为8bits的数。把8位分解到4位的意义是8位求逆复杂度太高,相应的4位求逆相对容易实现。该部分仅讨论加密过程。首先把数字A通过G(256)到G(16)转换公式分解成高四位Ah和低四位Al。Ah通过有限域上的平方后乘以常数E(十进制的14),假设这个结果称为Ah2E,Al与Ah异或后的结果再与Al做有限域上的乘法,这个值为
Figure A20061011923800111
再把它与Ah2E异或,得到 Ah 2 E ⊕ ( Al 2 ⊕ AhAl ) . 这个值经过有限域求逆,得到这个求逆结果分别与Ah,Al做有限域乘法得到Bh,Bl,它们分别是字节代换结果的高四位和低四位。把它们按照G(16)到G(256)的转换公式可以还原成八位值。
G(256)到G(16)的转换计算公式(1)是:
aA=a1 xor a7   aB=a5 xor a7   aC=a4 xor a6
al0=aC xor a0 xor a5   al1=a1 xor a2
al2=aA                 al3=a2 xor a4
ah0=aC xor a5          ah1=aA xor aC
ah2=aB xor a2 xor a3   ah3=aB
G(16)到G(256)的转换计算公式(2)是:
aA=al1 xor ah3                  aB=ah0 xor ah1
a0=al0 xor ah0                  a1=aB xor ah3
a2=aA xor aB                    a3=aB xor al1 xor ah2
a4=aA xor aB xor al3            3a5=aB xor al2
a6=aA xor al2 xor al3 xor ah0   a7=aB xor al2 xor ah3
有限域上的乘法公式(3)是:
Q0=a0b0 xor a3b1 xor(a2 xor a3)b2 xor(a1 xor a2)b3
Q1=a1b0 xor(a0 xor a3)b1 xor a2b2 xor a1b3
Q2=a2b0 xor a1b1 xor(a0 xor a3)b2 xor(a2 xor a3)b3
Q3=a3b0 xor a2b1 xor a1b2 xor(a0 xor a3)b3
相连表示AND
有限域上的平方公式(4)是:
Q0=a0 xor a2  Q1=a2  Q2=a1 xor a3  Q3=a3
有限域上的求逆公式(5)是:
A=a1 xor a2 xor a3 xor a1a2a3
Q0=A xor a0 xor a0a2 xor a1a2 xor a0a1a2
Q1=a1(a0 xor a2 xor a3 xor a0a3)xor a0a2 xor a3
Q2=a0(a1 xor a2 xor a3 xor a2a3)xor a2 xor a3
Q3=A xor a0a3 xor a1a3 xor a2a3
相连表示AND。
带MASK的字节代换模块,
新的SBox的输入有5个,分别为3个新产生的随机数Z(4bits),W(4bits),F(8bits),经过异或运算的中间数据
Figure A20061011923800121
(这里S代表不使用MASK方法时的原始中间数据),和刚才用于异或运算的随机数M,输出是一个8bits随机数F’和一个被该随机数异或运算而掩盖的真实数据
Figure A20061011923800122
M是为了数据的还原,而新的随机数中Z和W用于内部数据的掩盖,F用于模块输出值的掩盖。
为了简化,仅画出加密情况下的框图如图4所示,M,W,Z,F为四个相互独立的随机数,S xor M为被随机数Mask后的输入,这五个数据进入安全求逆模块后得到S-1xor F,这是被新的随机数F所Mask的输入的逆,S-1xor F在有限域上乘以矩阵A再加上向量b后,得到(S-1A)xor(FA)xor b,即相当于Sbox(S)xor(FA),另一个数据通道上把F与A相乘,得到了F’=FA,则输出是Sbox(S)xorF’和F’,只要把它们异或就可以得到真实的字节代换结果Sbox(S)。图4对应于图2(去掉解密模块部分),可以看出多了一个数据通道进行平行计算,用于最终输出数据的还原。
实际计算步骤中新的随机数先与原数据运算,然后才会去掉以前步骤所引入的随机数。这样实现了随机数的更新,提高安全性。另外需要注意的是这个换随机数的步骤不能错,如果先去随机数再加随机数则实际数据已经暴露过。正确的步骤是先加新的,再去旧的。
图4中的安全求逆模块的具体框图如图5所示;图5对应前面的图3,只不过明显多了一个数据通道给随机数。由于加密数据经过修改后进行了8位到4位的差分,因此为了每一个步骤中的暂时还原与进一步换用新的随机数修改真实数据,初始输入的随机数也被拆分成4位配合使用。最后随机数和加密数据都还原成8位数据。
图5中的4位安全求逆模块和Mask乘法模块在下文介绍。拆分,整合,平方公式都同上述的公式(1)、(2)、(3)、(4)、(5)。
图6中所有数据都是4位,A和B为真实数据,X,Y,Z为随机数,X,Y用于消除前面异或运算导致的修改,新的Z用于掩盖输出的真实值。4位乘法同上文介绍的有限域乘法公式(3)。首先A xor X,B xor Y,X,Y之间分别做四位乘法,如图6所示得到四个乘积(A xor X)(B xor Y),(B xor Y)X,(A xor X)Y,XY,然后Z分别与上述结果从右到左叠加异或,依次得到XY xor Z,(A xor X)Y xor XY xorZ(化简为AY xor Z),AY xor Z xor(B xor Y)X,AY xor Z xor(B xor Y)xorX(A xor X)(B xor Y),这个最终值化简可以得到(AB)xor Z。这样就实现了A与B的相乘,并且没有在最初,中途和最后泄露真实的值,所有的数据都有随机数做Mask。
4位安全求逆模块,
四位求逆公式如同上文所示公式(5)不变,但是其中的与门替换为下面介绍的带MASK的与门。
具体实现的算法有很多种,其中一种参见图7所示;图7中的求逆模块有三个输入,分别是随机数mask(需要使用它是为了在过程中将它去掉),与随机数异或过的中间数据
Figure A20061011923800141
一个新随机数W作为新的随机数来修正真实值。输出有两个,分别是一个掩盖真实数据的值x,和所求的逆与这个值的异或mA。
输出 mA = state - 1 ⊕ x
mA可以通过上面介绍过的求逆公式计算,只需要把其中的与门换成带mask的与门。
下面是如何计算x:
State ⊕ mask = ( s 3 , s 2 , s 2 , s 0 )             W=(w3,w2,w1,w0)
x=(x3,x2,x1,x0)
x 0 = s 0 ⊕ s 1 ⊕ s 2 ⊕ s 3 ⊕ w 0 ⊕ w 1 ⊕ w 2 ⊕ w 3 , x 1 = s 3 ⊕ w 0 ⊕ w 1
x 2 = s 0 ⊕ s 2 ⊕ s 3 ⊕ w 0 , x 3 = s 1 ⊕ s 2 ⊕ s 3 ⊕ w 0 ⊕ w 1 ⊕ w 2 ⊕ w 3
带mask的与门参见图8所示,图8中所有数据都为1位,a,b为真实数据,x,y,z为随机数,x,y用于消除前面异或运算导致的修改,新的z用于掩盖输出的真实值。
密钥扩展部分:
由于初始密钥已经与随机数做过异或,这个部分要做的工作是获得有随机数保护的子密钥,和恢复出真实子密钥所对应的随机数。它们被分别存在两个数组w[i]和mk[i]中。
密钥扩展部分的C伪代码如下:
    Word temp1,temp2;
    For(i=0;i<4;i++) w[i]=(key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]);
    mk[0]=(mk1,mk1,mk1,mk1);mk[1]=(mk2,mk2,mk2,mk2);
    mk[2]=(mk3,mk3,mk3,mk3);mk[3]=(mk4,mk4,mk4,mk4);
    for(i=4;i<44;i++)
    {    temp1=w[i-1];temp2=mk[i-1];
     if(i mod 4=0){temp1=subword(rotword(temp1))xor rcon[i/4];temp2
=0;}
      w[i]=w[i-4]xor temp1;mk[i]=mk[i-4]xor temp2
    }
mk1,mk2,mk3,mk4为8bits随机数。
Subword使用四个带MASK的Sbox。
带Mask的Sbox的输入是:rotword(temp1),mk[i-1],W(4bits随机数),Z(4bits随机数),F(设置为0)。这里的F可以设置为0,是因为所有数据已经有了修改,这里可以省略一些随机数。
随机数的产生:
整个设计的所有随机数都由嵌在IP中的RNG(随机数生成模块)生成,每个时钟产生一位随机数。当每次加密开始时,首先把RNG产生的随机数锁存到相应的寄存器中供数据处理过程使用。

Claims (4)

1.一种防攻击高级加密标准的加密芯片的算法,其特征在于,加密算法的工作流程:
1)明文被分为128bits为一组pt,每一个组先与一个8bits的通过重复扩展成128bits的随机数mp异或;
2)进行密钥扩展,过程与标准AES加密完全一样,唯一的不同是字节代换的时候换用了带Mask的新Sbox;新的SBox的输入有5个,分别为3个新产生的随机数Z,W,F,经过异或运算的数据MS(这里S代表不使用Mask方法时的原始中间数据),和刚才用于异或运算的随机数M,输出是一个8bits随机数F’和一个与该随机数异或运算而掩盖的真实数据SBOX(S)
Figure A2006101192380002C2
F’;为了保证最终输出的正确和处理步骤的简单,必须使得输出的两个值通过一步简单的异或就可以还原出真实的中间数据;
3)密钥扩展的结果是输出44个字的mk,和44个被掩盖了的子密钥Subkey
Figure A2006101192380002C3
mk;它们按顺序一一对应,异或后得到真实的子密钥值,也是为了最终数据还原的实现;
4)第一个经过MASK的子密钥Subkey1
Figure A2006101192380002C4
mk1先与MASK后的需加密数据ptmp异或,然后这个数据输入新SBOX,同时输入的还有mp
Figure A2006101192380002C6
mk1,Z,W,F,输出的将是F’,SBOX(pt
Figure A2006101192380002C7
Subkey1)
Figure A2006101192380002C8
F’;
5)对输出的SBOX(pt
Figure A2006101192380002C9
Subkey1)F’做行移位,列混淆,再与第二个被MASK过的子密钥Subkey2
Figure A2006101192380002C11
mk2异或;
6)F’则和与第二个子密钥相对应的随机数mk2做异或;经过处理后的这个数据和这个数据通道也是为了最终还原输出而存在的;
7)这时判断是否到了最后一轮,如果没到,则上面两个数据进入新Sbox,然后重复上面的步骤;
8)如果到了最后一轮,两个数据进入新SBox后,输出的F’与最后一个子密钥相对应的mk44异或得到F’
Figure A2006101192380003C1
mk44;
9)SBOX(state
Figure A2006101192380003C2
Subkey43)
Figure A2006101192380003C3
F’则进行行移位后与最后一个被Mask过的子密钥Subkey44
Figure A2006101192380003C4
mk44异或;
10)最后将上面两个所得数据异或,得到加密后的输出128bits的密文。
2.根据权利要求1所述的防攻击高级加密标准的加密芯片的算法,其特征在于,所述步骤2)中的密钥为初始的128bits的密钥先与一个32bits通过重复扩展的随机数异或。
3.根据权利要求1所述的防攻击高级加密标准的加密芯片的算法,其特征在于,所述新Sbox的工作流程:首先判断是进行加密还是解密,如果是加密的话,先对进入的数据做有限域上的求逆,然后把求逆得到的结果用有限域上的乘法与一个固定的矩阵A相乘,然后与一个固定的向量b做有限域上的加法,最终得到的就是字节代换的输出值;如果是解密,则先对数据做有限域上的与一个固定向量b的加法,然后将结果用有限域上乘法与一个固定的矩站A’相乘,注意A和A’不同,经过这些计算后的结果再在有限域上求逆,最终的结果就是解密过程中的字节代换输出。
4.根据权利要求1所述的防攻击高级加密标准的加密芯片的算法,其特征在于,所述新Sbox的工作流程中有限域求逆算法:首先把数字A通过G(256)到G(16)转换公式分解成高四位Ah和低四位Al;Ah通过有限域上的平方后乘以常数E(十进制的14),假设这个结果称为Ah2E,Al与Ah异或后的结果再与Al做有限域上的乘法,这个值为(Al
Figure A2006101192380003C5
Ah)Al,再把(Al
Figure A2006101192380003C6
Ah)Al与Ah2E异或,得到Ah2E
Figure A2006101192380003C7
(Al2 Ah Al),这个值经过有限域求逆,得到(Ah2E(Al2
Figure A2006101192380003C10
Ah Al))-1,这个求逆结果分别与Ah,Al做有限域乘法得到Bh、Bl,它们分别是字节代换结果的高四位和低四位;把它们按照G(16)到G(256)的转换公式能还原成八位值。
CN 200610119238 2006-12-07 2006-12-07 防攻击高级加密标准的加密芯片的算法 Pending CN101196965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610119238 CN101196965A (zh) 2006-12-07 2006-12-07 防攻击高级加密标准的加密芯片的算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610119238 CN101196965A (zh) 2006-12-07 2006-12-07 防攻击高级加密标准的加密芯片的算法

Publications (1)

Publication Number Publication Date
CN101196965A true CN101196965A (zh) 2008-06-11

Family

ID=39547364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610119238 Pending CN101196965A (zh) 2006-12-07 2006-12-07 防攻击高级加密标准的加密芯片的算法

Country Status (1)

Country Link
CN (1) CN101196965A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN101702709A (zh) * 2009-11-05 2010-05-05 复旦大学 一种适用于mips处理器的aes加密单元
CN102045159A (zh) * 2010-12-30 2011-05-04 北京锐安科技有限公司 一种解密处理方法及其设备
CN102970132A (zh) * 2011-08-31 2013-03-13 北京中电华大电子设计有限责任公司 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN103455446A (zh) * 2012-06-04 2013-12-18 罗伯特·博世有限公司 用于实施加密方法的设备及对此的运行方法
CN103475463A (zh) * 2013-08-19 2013-12-25 华为技术有限公司 加密实现方法及装置
CN103577742A (zh) * 2013-10-25 2014-02-12 复旦大学 一种抗差分功耗分析的aes算法电路及电子标签
CN103906048A (zh) * 2012-12-25 2014-07-02 广东乐心医疗电子股份有限公司 通过蓝牙技术安全地传送数据的方法与装置
CN105897398A (zh) * 2016-06-03 2016-08-24 深圳视融达科技有限公司 一种des加密过程的密钥保护方法及系统
CN106156615A (zh) * 2016-06-21 2016-11-23 上海观源信息科技有限公司 基于类可分性判距的旁路区分器方法及系统
CN106656475A (zh) * 2017-01-09 2017-05-10 李朋林 一种用于高速加密的新型对称型密钥算法
CN109891425A (zh) * 2016-08-04 2019-06-14 耐瑞唯信有限公司 序列验证
CN110071927A (zh) * 2019-04-28 2019-07-30 苏州国芯科技股份有限公司 一种信息加密方法、系统及相关组件
CN116866038A (zh) * 2023-07-12 2023-10-10 北京兆讯恒达技术有限公司 动态掩码加密方法及动态掩码加密装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729241B (zh) * 2008-10-23 2012-01-25 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
WO2010045843A1 (zh) * 2008-10-23 2010-04-29 国民技术股份有限公司 抵御差分能量攻击的aes加密方法
CN101702709A (zh) * 2009-11-05 2010-05-05 复旦大学 一种适用于mips处理器的aes加密单元
CN101702709B (zh) * 2009-11-05 2013-04-10 复旦大学 一种适用于mips处理器的aes加密单元
CN102045159A (zh) * 2010-12-30 2011-05-04 北京锐安科技有限公司 一种解密处理方法及其设备
CN102970132B (zh) * 2011-08-31 2015-02-18 北京中电华大电子设计有限责任公司 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN102970132A (zh) * 2011-08-31 2013-03-13 北京中电华大电子设计有限责任公司 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN103455446A (zh) * 2012-06-04 2013-12-18 罗伯特·博世有限公司 用于实施加密方法的设备及对此的运行方法
CN103455446B (zh) * 2012-06-04 2019-04-09 罗伯特·博世有限公司 用于实施加密方法的设备及对此的运行方法
CN103906048B (zh) * 2012-12-25 2017-06-20 广东乐心医疗电子股份有限公司 通过蓝牙技术安全地传送数据的方法与装置
CN103906048A (zh) * 2012-12-25 2014-07-02 广东乐心医疗电子股份有限公司 通过蓝牙技术安全地传送数据的方法与装置
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN103475463B (zh) * 2013-08-19 2017-04-05 华为技术有限公司 加密实现方法及装置
CN103475463A (zh) * 2013-08-19 2013-12-25 华为技术有限公司 加密实现方法及装置
CN103577742A (zh) * 2013-10-25 2014-02-12 复旦大学 一种抗差分功耗分析的aes算法电路及电子标签
CN105897398A (zh) * 2016-06-03 2016-08-24 深圳视融达科技有限公司 一种des加密过程的密钥保护方法及系统
CN106156615A (zh) * 2016-06-21 2016-11-23 上海观源信息科技有限公司 基于类可分性判距的旁路区分器方法及系统
CN106156615B (zh) * 2016-06-21 2018-12-28 上海观源信息科技有限公司 基于类可分性判距的旁路区分器方法及系统
CN109891425B (zh) * 2016-08-04 2022-11-15 耐瑞唯信有限公司 序列验证
CN109891425A (zh) * 2016-08-04 2019-06-14 耐瑞唯信有限公司 序列验证
CN106656475A (zh) * 2017-01-09 2017-05-10 李朋林 一种用于高速加密的新型对称型密钥算法
CN106656475B (zh) * 2017-01-09 2020-01-21 李朋林 一种用于高速加密的新型对称型密钥加密方法
CN110071927B (zh) * 2019-04-28 2021-09-14 苏州国芯科技股份有限公司 一种信息加密方法、系统及相关组件
CN110071927A (zh) * 2019-04-28 2019-07-30 苏州国芯科技股份有限公司 一种信息加密方法、系统及相关组件
CN116866038A (zh) * 2023-07-12 2023-10-10 北京兆讯恒达技术有限公司 动态掩码加密方法及动态掩码加密装置

Similar Documents

Publication Publication Date Title
CN101196965A (zh) 防攻击高级加密标准的加密芯片的算法
Mathur et al. AES based text encryption using 12 rounds with dynamic key selection
CN1989726B (zh) 用于执行加密计算的方法和装置
US8971526B2 (en) Method of counter-measuring against side-channel attacks
US8615079B2 (en) Cryptography circuit protected against observation attacks, in particular of a high order
Link et al. Clarifying obfuscation: improving the security of white-box DES
US8199909B2 (en) Method and device for carrying out a cryptographic calculation
US8428251B2 (en) System and method for stream/block cipher with internal random states
US5649014A (en) Pseudorandom composition-based cryptographic authentication process
Lavanya et al. Enhancing the security of AES through small scale confusion operations for data communication
Huang et al. Low area-overhead low-entropy masking scheme (LEMS) against correlation power analysis attack
CN106936822B (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
Saha et al. White-box cryptography based data encryption-decryption scheme for iot environment
Gandh et al. FPGA implementation of enhanced key expansion algorithm for Advanced Encryption Standard
Link et al. Clarifying obfuscation: Improving the security of white-box encoding
US20040096059A1 (en) Encryption apparatus with parallel Data Encryption Standard (DES) structure
Chou et al. A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology
Bajaj et al. AES algorithm for encryption
Manliclic et al. Improving the extended 10x10 polybius square key matrix for playfair bifid and polybius cipher
Hong et al. Hardware implementation for fending off side-channel attacks
Karri et al. Parity-based concurrent error detection in symmetric block ciphers
Wang et al. A correlation fault attack on rotating S-box masking AES
Venkatesha et al. AES based algorithm for image encryption and decryption
Liu et al. Improving tag generation for memory data authentication in embedded processor systems
Bae et al. A practical analysis of fault attack countermeasure on AES using data masking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHANGHAI AIXINNUO HANGXIN ELECTRONIC SCIENCE CO.,

Free format text: FORMER OWNER: SHANGHAI ANCHUANG INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20090515

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090515

Address after: Floor 6, building 555, No. 8, Dongchuan Road, Shanghai, Minhang District

Applicant after: Shanghai Aisino Chip Electronic Technology Co., Ltd.

Address before: In Shanghai Road, Pudong New Area Zhangjiang hi tech park, 299 No. 6 Lane 202

Applicant before: Shanghai Anchuang Information Technology Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080611