CN101969374A - 分组密码算法中混淆层的实现方法 - Google Patents
分组密码算法中混淆层的实现方法 Download PDFInfo
- Publication number
- CN101969374A CN101969374A CN 201010521246 CN201010521246A CN101969374A CN 101969374 A CN101969374 A CN 101969374A CN 201010521246 CN201010521246 CN 201010521246 CN 201010521246 A CN201010521246 A CN 201010521246A CN 101969374 A CN101969374 A CN 101969374A
- Authority
- CN
- China
- Prior art keywords
- data
- input
- realizing
- implementation method
- key
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种分组密码算法中混淆层的实现方法。该方法实现了一种基于GF(216)求逆的S盒的新的实现方法,通过有限域GF(216)与复合域GF((28)2)的转化,降低传统查表方法带来的存储量和计算量,节省硬件实现开销,提高基于GF(216)求逆的S盒的运算效率。该方法包括:先把需要进行GF(216)上求逆运算的数据进行初始化,再选择GF(28)上的本原多项式求解有限域GF(216)与复合域GF((28)2)的转化矩阵,利用转化矩阵把初始化后GF(216)中的元素在GF(28)中表示出来,并在GF(28)中进行求逆运算,最后把运算结果通过转化矩阵转化成GF(216)中的元素形式输出。与现有的查表算法相比,本发明提供的方案存储面积仅为原有技术的1/512,在硬件实现面积上至少节省了98.57%,而在速度上提高了32.96%。
Description
技术领域
本发明涉及分组密码加密解密算法,具体涉及分组密码算法中混淆层的实现方法。
背景技术
随机混淆层是数据加解密算法实现加密数据的混淆和扩散的核心运算层,在分组密码算法中通常使用S盒实现随机混淆层的非线性置换。为满足现代信息安全的需要,密码设计尽可能使用大规模的随机混淆层,确保数据加密的安全性和灵活性。其中,基于GF(216)求逆运算的S盒在军事通信、卫星数据链路、下一代带互联网络安全等领域中有广泛的应用和重要的作用。因此,对此类S盒的研究和高效实现具有很强的现实意义。
由于加密算法在每一次轮函数运算时都要通过S盒进行有限域运算,S盒运算的高效实现很大程度上决定着整个加密***的性能。然而,基于GF(216)求逆运算的S盒虽然在安全性方面性能优秀,但涉及大规模存储和计算,在实现效率上大打折扣。实现求逆运算的一般操作是预先计算GF(216)求逆对应每一个输入的输出结果,生成一张包含65536个16比特数据的查找表,存放在只读存储器(ROM)中,运算时将输入值连接到ROM的地址总线上。此方法实现占用大量存储和计算资源,特别是硬件实现时占用存储面积庞大,且会造成固定的延时影响实现效率。
发明内容
本发明的目的是提供一种基于GF(216)求逆的S盒的新的实现方法,通过有限域GF(216)与复合域GF((28)2)的转化,降低传统查表方法带来的存储量和计算量,节省硬件实现开销,提高基于GF(216)求逆的S盒的运算效率。
本发明的原理是:先把需要进行GF(216)上求逆运算的数据进行初始化,再选择GF(28)上的本原多项式求解有限域GF(216)与复合域GF((28)2)的转化矩阵,利用转化矩阵把初始化后GF(216)中的元素在GF(28)中表示出来,并在GF(28)中进行求逆运算,最后把运算结果通过转化矩阵转化成GF(216)中的元素形式输出。
本发明对应的流程图如图1所示,详细技术方案如下:
一种分组密码算法中混淆层的实现方法,其特征在于,所述方法包含如下步骤:
A. 接收输入数据块,所述数据块包括加密数据块和密钥数据块; 对于首轮运算,所述加密数据块的输入为待加密的明文;对第二轮至末轮运输,所述加密数据块的输入为前一轮的运算结果。所述密钥数据块的数据由密钥扩展算法产生,根据不同的运算轮数,得到相应的密钥数据。所述加密数据块的输入介质可以采用通用计算机或专用加解密器的输入设备。所述加密数据块的输入方式可以采用多种形式,包括数据存储介质、用户手动输入等。
B. 对接收到的数据进行初始化,方法为:根据加密算法分组长度和密钥长度,在加密数据块和密钥数据块中读取相应长度的数据进行异或,结果存入向量中,其中 ,表示该元素以基底展开的系数,所述为GF(216)中本原多项式的一个根;
G. 输出所处理的数据块。
本发明的有益效果:本发明实现了基于GF(216)求逆的S盒作为加解密算法的随机混淆层,与现有的查表算法相比,本发明提供的方案存储面积仅为原有技术的1/512,在硬件实现面积上至少节省了98.57%,而在速度上提高了32.96%。本发明适用于诸如智能卡、掌上机、移动设备等对面积要求比较严格的场合。
附图说明
图1为本发明对应的流程图;
图2为本发明的硬件仿真结构图。
具体实施方式
下面通过FPGA仿真的硬件实现过程对本发明作进一步说明,在不脱离本发明及所附权利要求的精神和范围内,硬件实现的具体方法是可以替换和修改的。
采用本发明方案进行的硬件仿真的电路结构如图2所示,其中模块200为GF(216)到GF(28)2的同构映射, 模块201为GF(216)到GF(28)2的同构逆映射,模块202为GF(28)上的加法运算,模块203为GF(28)上的元素与常量的乘法,模块204为GF(28)上的元素与常量的乘法,模块205为GF(28)上的平方运算,模块206为GF(28)上的求逆运算,模块207为GF(28)上的乘法运算。接入数据输入模块后进行数据初始化,将数据存入向量,输入开发板。
将转化矩阵T写入仿真开发板的同构映射模块200,通过该模块计算,将输入向量P转化为两个GF(28)中数据的形式,存入向量。将模块分别输入模块203和模块205进行常数乘法和平方运算,205模块的输出结果输入204模块进行常数乘法,这里D取值为,如发明内容步骤E所示。在模块203中,常数C取值为。模块203的计算结果与异或后与相乘,结果与模块204的结果一同输入模块202进行加法,之后进入模块206实现8位2进制数求逆运算,此时求逆运算在GF(28)中进行,可以通过查表进行运算。将与模块203结果相加后的结果与模块206求逆后的结果相乘,得到8bit数据。将与模块206求逆后的结果相乘,得到8bit数据。将作为输入,通过模块201进行计算,得到输入数据在GF(216)中的求逆结果,将所得结果数据块输出。
以传统的GF(216)上的查表方法进行运算,硬件实现面积为16420Slice LUTs,最大路径延时为16.448ns。本发明提供的方案在硬件仿真条件相同的情况下,可以达到实现面积为235Slice LUTs,最大路径延时为12.357ns,实现面积上至少节省了98.57%,而在速度上提高了32.96%。
Claims (5)
1.一种分组密码算法中混淆层的实现方法,其特征在于,所述方法包含如下步骤:
A. 接收输入数据块,所述数据块包括加密数据块和密钥数据块;
B. 对接收到的数据进行初始化,方法为:根据加密算法分组长度和密钥长度,在加密数据块和密钥数据块中读取相应长度的数据进行异或,结果存入向量 中,其中,表示该元素以基底展开的系数,所述为GF(216)中本原多项式的一个根;
G. 输出所处理的数据块。
2.如权利要求1所述的实现方法,其特征在于,所述步骤A中,对于首轮运算,所述加密数据块的输入为待加密的明文;对第二轮至末轮运输,所述加密数据块的输入为前一轮的运算结果。
3.如权利要求1所述的实现方法,其特征在于,所述密钥数据块的数据由密钥扩展算法产生,根据不同的运算轮数,得到相应的密钥数据。
4.如权利要求1所述的实现方法,其特征在于,所述加密数据块的输入介质为通用计算机或专用加解密器的输入设备。
5.如权利要求1所述的实现方法,其特征在于,所述加密数据块的输入方式为数据存储介质输入或者用户手动输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105212465A CN101969374B (zh) | 2010-10-27 | 2010-10-27 | 分组密码算法中混淆层的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105212465A CN101969374B (zh) | 2010-10-27 | 2010-10-27 | 分组密码算法中混淆层的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101969374A true CN101969374A (zh) | 2011-02-09 |
CN101969374B CN101969374B (zh) | 2012-06-20 |
Family
ID=43548480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105212465A Expired - Fee Related CN101969374B (zh) | 2010-10-27 | 2010-10-27 | 分组密码算法中混淆层的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101969374B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065473A (zh) * | 2014-06-25 | 2014-09-24 | 成都信息工程学院 | Sm4分组密码算法s盒的紧凑实现方法 |
CN106031079A (zh) * | 2013-12-20 | 2016-10-12 | 皇家飞利浦有限公司 | 加密算法中的运算符提升 |
CN106716345A (zh) * | 2014-09-30 | 2017-05-24 | 皇家飞利浦有限公司 | 用于执行混淆算术的电子计算设备 |
CN107797790A (zh) * | 2017-11-03 | 2018-03-13 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域求逆器 |
CN110363000A (zh) * | 2019-07-10 | 2019-10-22 | 深圳市腾讯网域计算机网络有限公司 | 识别恶意文件的方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004002057A2 (en) * | 2002-06-25 | 2003-12-31 | Koninklijke Philips Electronics N.V. | Round key generation for aes rijndael block cipher |
CN1697369A (zh) * | 2005-06-14 | 2005-11-16 | 河北工业大学 | 分组密码加密解密的方法及其加密解密器 |
CN101159545A (zh) * | 2007-11-19 | 2008-04-09 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理方法 |
-
2010
- 2010-10-27 CN CN2010105212465A patent/CN101969374B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004002057A2 (en) * | 2002-06-25 | 2003-12-31 | Koninklijke Philips Electronics N.V. | Round key generation for aes rijndael block cipher |
CN1697369A (zh) * | 2005-06-14 | 2005-11-16 | 河北工业大学 | 分组密码加密解密的方法及其加密解密器 |
CN101159545A (zh) * | 2007-11-19 | 2008-04-09 | 西安西电捷通无线网络通信有限公司 | 一种基于分组密码算法的加密处理方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106031079A (zh) * | 2013-12-20 | 2016-10-12 | 皇家飞利浦有限公司 | 加密算法中的运算符提升 |
CN106031079B (zh) * | 2013-12-20 | 2019-10-11 | 皇家飞利浦有限公司 | 加密算法中的运算符提升 |
CN104065473A (zh) * | 2014-06-25 | 2014-09-24 | 成都信息工程学院 | Sm4分组密码算法s盒的紧凑实现方法 |
CN106716345A (zh) * | 2014-09-30 | 2017-05-24 | 皇家飞利浦有限公司 | 用于执行混淆算术的电子计算设备 |
CN107797790A (zh) * | 2017-11-03 | 2018-03-13 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域求逆器 |
CN107797790B (zh) * | 2017-11-03 | 2021-07-09 | 深圳职业技术学院 | 一种基于全一不可约多项式的有限域求逆器 |
CN110363000A (zh) * | 2019-07-10 | 2019-10-22 | 深圳市腾讯网域计算机网络有限公司 | 识别恶意文件的方法、装置、电子设备及存储介质 |
CN110363000B (zh) * | 2019-07-10 | 2023-11-17 | 深圳市腾讯网域计算机网络有限公司 | 识别恶意文件的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101969374B (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850221B (zh) | 信息加密、解密方法及装置 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101969374B (zh) | 分组密码算法中混淆层的实现方法 | |
CN102204158A (zh) | 低等待时间的分块密码术 | |
CN101938349A (zh) | 一种适用于硬件实现的s盒及其电路实现方法 | |
CN102006161B (zh) | 一种对称密钥加密的非线性变换方法及其实现装置 | |
CN104298937A (zh) | 用于存储器地址加密的装置和方法 | |
CN104065473A (zh) | Sm4分组密码算法s盒的紧凑实现方法 | |
CN107491317A (zh) | 一种基于异构加速平台的aes对称加解密方法及*** | |
CN103888247A (zh) | 抵抗差分功耗分析攻击的数据处理***及其数据处理方法 | |
CN108494546A (zh) | 一种白盒加密方法、装置及存储介质 | |
CN107566113A (zh) | 3des对称加解密方法、***及计算机可读存储介质 | |
Rashidi et al. | Implementation of an optimized and pipelined combinational logic rijndael S-Box on FPGA | |
CN101958790B (zh) | 无线通信网络数字信息加密或解密方法 | |
CN106982116A (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
Christy et al. | FPGA implementation of AES algorithm using Composite Field Arithmetic | |
Kaleel Rahuman et al. | Reconfigurable architecture for elliptic curve cryptography using fpga | |
Thongkhome et al. | A FPGA design of AES core architecture for portable hard disk | |
CN107171782A (zh) | 一种基于可逆逻辑电路的aes私密日志加密方法 | |
Bajaj et al. | AES algorithm for encryption | |
JP6136325B2 (ja) | 暗号処理装置、暗号処理方法およびプログラム | |
Da Costa et al. | The feasibility of the crystals-kyber scheme for smart metering systems | |
CN104753662A (zh) | 基于aes算法的加密密钥流产生方法 | |
CN103684748A (zh) | 对称式加解密方法、对称式加解密*** | |
Alharam et al. | Reconfigurable cyber-security architecture for small satellite with low complexity and power |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120620 Termination date: 20151027 |
|
EXPY | Termination of patent right or utility model |