CN101951314A - 对称密码加密中s-盒的设计方法 - Google Patents
对称密码加密中s-盒的设计方法 Download PDFInfo
- Publication number
- CN101951314A CN101951314A CN 201010503575 CN201010503575A CN101951314A CN 101951314 A CN101951314 A CN 101951314A CN 201010503575 CN201010503575 CN 201010503575 CN 201010503575 A CN201010503575 A CN 201010503575A CN 101951314 A CN101951314 A CN 101951314A
- Authority
- CN
- China
- Prior art keywords
- boxes
- small
- matrix
- box
- design method
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013461 design Methods 0.000 title claims abstract description 25
- 239000011159 matrix material Substances 0.000 claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 3
- 230000009466 transformation Effects 0.000 claims description 31
- 238000012360 testing method Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 claims description 7
- 241000270295 Serpentes Species 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims description 2
- 238000002360 preparation method Methods 0.000 claims description 2
- 238000010998 test method Methods 0.000 claims description 2
- 238000003491 array Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000209507 Camellia Species 0.000 description 1
- 241000251730 Chondrichthyes Species 0.000 description 1
- 241001505100 Succisa pratensis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000018597 common camellia Nutrition 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种对称密码加密算法中的S-盒的设计方法。包括将S-盒划分为多个小S-盒;将所有小S-盒的输出结果合并为一个n比特的数据块,作为线性变换混合器的输入;线性变换混合器对数据块进行处理;将线性变换混合器的输出分为多个小块再分别作为小S-盒的输入数据;将小S-盒的输出结果合并为一个n比特数据块,作为S-盒的输出。本发明的线性变换混合器采用的是分支数为5的二元矩阵,只需二元异或运算即可实现。本发明提供的S-盒的设计方法实现简单、运行效率高,且能够保证大规模地安全有效实现,依照实际情形,本加密结构可以部分或全部实现到一张智能卡上。
Description
技术领域
本发明属于信息安全领域,具体涉及一种对称密码加密算法中的S-盒设计方法。
背景技术
在众多的密码学系统中,对称密钥分组密码是最突出和最重要的成员。特别地,它们提供了机密性。作为一种基本的构造组,它们的通用性使得它们可用来构造伪随机数生成器、流密码、MAC盒杂凑函数。此外,它们还可在消息认证技术、数据完整性机制、实体认证协议和(对称密钥)数字签名方案中用做核心部件。
S-盒是许多分组密码算法中唯一的非线性部件,因此,它的密码强度决定了整个密码算法的安全强度,它的工作速度决定了整个算法的制乱速度。特别地,使用高强度的S-盒对于增强Feistel型密码,SPN型密码和IDEA型密码的安全性起着至关重要的作用。对S-盒的深入研究不仅有助于迭代分组密码的设计,而且对于以非线性变换为核心的密码算法的分析有相当价值,同时也有助于快速寻求满足某些特定密码需求的新的密码函数。
S-盒本质上均可看作映射 ,记做,其中,。通常简称是一个的S-盒。在实际中一般要求。DES有6×4的S-盒,LDKI有12×8的S-盒,在AES中,Rijndael有8×8的S-盒, Towfish有8×8的S-盒,Serpent有4×4的S-盒;NESSIE中,MISTYI有7×7和9×9的S-盒,Camellia有8×8的S-盒。
S-盒越大,要找到其差分密码攻击和线性密码攻击中使用的统计关系就越困难。并且,随机产生的S-盒对抗差分攻击和线性攻击来说不是最优的,如果S-盒很大,则容易找到强的S-盒。大多数随机的S-盒是非线性的,非退化的,有强的阻止线性攻击的能力,并且当输入位减少时,这些特征不会很快的减少。但反过来,和过大将给S-盒的设计带来困难,而且增加算法的存储量。
S-盒的设计和构造主要集中在S-盒的设计准则和构造方法上,S-盒的设计准则主要有:非线性度、差分均匀度、代数次数及项数分布、完全性、正交性、扩散特性和相关免疫性等。基于上述设计准则,人们提出了许多S-盒构造方法,如随机提取并测试、使用数学函数构造等方法。随机提取方法是设计者有足够的时间和设计能力;人们已使用数学函数构造出一些好的S-盒。如SAFER系列密码使用了指数函数和对数函数, SHARK, Rijndael密码的S-盒是基于有限域GF(2n)上的逆映射以及有限域上的幂函数构造的。
如何全面准确地度量S-盒的密码强度,如何设计安全有效的S-盒一直是现代分组密码体制设计和评价的研究难题。要想设计较大规模、安全有效的S-盒,仅仅依靠随机提取并测试或数学函数的办法去构造显然不太可能。
发明内容
本发明旨在提供一种简单、运行效率高且能够保证大规模安全有效实现的S-盒的设计方法。
本发明的技术方案如下(S-盒的结构参见图1所示):
一种分组密码加密算法中的S-盒的设计方法,包括如下步骤:
A. 将S-盒划分为多个小S-盒,将S-盒的输入数据分为小块,分别作为小S-盒的输入数据;小S-盒可以采用随机测试方法选取密码性质好的,也可以依据S-盒的输入输出长度,采用现有密码算法中已知的S-盒;
C. 线性变换混合器L对数据块进行处理;
D. 将线性变换混合器L的输出分为多个小块再分别作为小S-盒的输入数据;
其特征在于,
所述步骤C的实现方法如下:
1) 随机选取一个8×8的二元矩阵,该矩阵的每行汉明重量为5或4; 具体地,使其一行汉明重量为5,其余七行汉明重量为4;或者两行汉明重量为5,其余六行汉明重量为4;或者三行汉明重量为5,其余五行汉明重量为4;或者四行汉明重量为5,其余四行汉明重量为4;
所述小S-盒采用并行计算方式。
利用本发明提供的技术方案,可以得到输出长度为16、32、64、128等各种较大规模的S-盒。并且由于本方案的设计方法,小S-盒的实现是并行计算,且线性变换混合器采用的是二元矩阵,即只需二元异或运算,故这些S-盒是有效的;又因本发明采用的二元矩阵满足分支数为5(达到二元情形中的最大值),故S-盒可以依赖实现结构被证明是安全的。
本发明的有益效果:本发明提供的S-盒的设计方法实现简单、运行效率高,且能够保证大规模地安全有效实现,依照实际情形,本加密结构可以部分或全部实现到一张智能卡上。
附图说明
图1:本发明提供的产生大S-盒的方法;
图2:本发明提供方法中线性变换混合器的产生方法。
具体实施方式
下面通过具体实施例来对本发明作进一步的描述,本领域的技术人员可以理解,在不脱离本发明实质的范围内,可以对上述的方法进行各种修改或变形。比如线性变换混合器可以采用所有分支数达到5的二元矩阵。但显然本发明的具体实现形式并不局限于此,在小S-盒的输入输出长度取其他值时也可以实现,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围内。
实施例1:假定8个8×8阶的小S-盒选定为密码算法Serpent中所使用的4×4阶的S-盒,故8个小S-盒的输出结果为8个4比特数组,它们合并为32比特的数组。该数组作为线性变换混合器的输入,通过下列步骤得到线性变换的输出。其中,
线性变换混合器的输出数据再经过8个4×4阶的密码算法Serpent中所使用的S-盒,各S-盒数据合并得到32比特的最后输出数据。因此所实现的大S-盒是规模为32×32的S-盒。
实施例2:假定8个8×8阶的小S-盒选定为密码算法DES中所使用的6×4阶的S-盒,故8个小S-盒的输出结果为8个4比特数组,它们合并为32比特的数组。该数组作为线性变换混合器的输入,通过下列步骤得到线性变换的输出。其中,
这里对应的线性变换混合器中所用到的线性变换矩阵为
线性变换混合器的输出数据再经过8个6×4阶的密码算法DES中所使用的S-盒,各S-盒数据合并得到32比特的最后输出数据。因此所实现的大S-盒是规模为48×32的S-盒。
实施例3:假定8个8×8阶的小S-盒选定为密码算法AES中所使用的8×8阶的S-盒,故8个小S-盒的输出结果为8个8比特数组,它们合并为64比特的数组。该数组作为线性变换混合器的输入,通过下列步骤得到线性变换的输出。其中,
线性变换混合器的输出数据再经过8个8×8阶的密码算法AES中所使用的S-盒,各S-盒数据合并得到64比特的最后输出数据。因此所实现的大S-盒是规模为64×64的S-盒。
实施例4:假定8个8×8阶的小S-盒选定为密码算法MISTYI中所使用的7×7阶的S-盒,故8个小S-盒的输出结果为8个7比特数组,它们合并为56比特的数组。该数组作为线性变换混合器的输入,通过下列步骤得到线性变换的输出。其中,
线性变换混合器的输出数据再经过8个7×7阶的密码算法AES中所使用的S-盒,各S-盒数据合并得到56比特的最后输出数据。因此所实现的大S-盒为规模为56×56的S-盒。
Claims (8)
1.一种对称密码加密算法中的S-盒的设计方法,包括如下步骤:
A. 将S-盒划分为多个小S-盒,将S-盒的输入数据分为小块,分别作为小S-盒的输入数据;
B. 将所述所有小S-盒的输出结果合并为一个 比特的数据块,作为线性变换混合器L的输入;
C. 线性变换混合器L对数据块进行处理;
D. 将线性变换混合器L的输出分为多个小块再分别作为小S-盒的输入数据;
其特征在于,
2.如权利要求1所述的设计方法,其特征在于,所述步骤1)中二元矩阵P的结构为以下四种情况之一:
- 一行汉明重量为5,其余七行汉明重量为4;
- 两行汉明重量为5,其余六行汉明重量为4;
- 三行汉明重量为5,其余五行汉明重量为4;
四行汉明重量为5,其余四行汉明重量为4。
3.如权利要求1所述的设计方法,其特征在于,所述步骤3)中测试矩阵P是否可逆的方法为高斯消去法。
4.如权利要求1所述的设计方法,其特征在于,所述步骤A中小S-盒为随机测试方法选取出的密码性质好的S-盒。
5.如权利要求1所述的设计方法,其特征在于,所述步骤A中小S-盒为依据S-盒的输入输出长度,采用现有密码算法中已知的S-盒。
6.如权利要求5所述的设计方法,其特征在于,所述密码算法为Serpent算法、DES算法、AES算法、MISTYI算法。
7.如权利要求1所述的设计方法,其特征在于,所述线性变换混合器L采用的二元矩阵的分支数为5。
8.如权利要求1所述的设计方法,其特征在于,所述小S-盒为并行计算方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105035757A CN101951314B (zh) | 2010-10-12 | 2010-10-12 | 对称密码加密中s-盒的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105035757A CN101951314B (zh) | 2010-10-12 | 2010-10-12 | 对称密码加密中s-盒的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101951314A true CN101951314A (zh) | 2011-01-19 |
CN101951314B CN101951314B (zh) | 2012-06-20 |
Family
ID=43454679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105035757A Expired - Fee Related CN101951314B (zh) | 2010-10-12 | 2010-10-12 | 对称密码加密中s-盒的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101951314B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081513A (zh) * | 2011-01-24 | 2011-06-01 | 山东大学 | Aes加密算法中列混淆过程指令优化方法及其指令集处理器 |
CN102081514A (zh) * | 2011-01-24 | 2011-06-01 | 山东大学 | AES加密算法中Sbox生成指令优化方法及其指令集处理器 |
CN102221990A (zh) * | 2011-05-26 | 2011-10-19 | 山东大学 | 针对aes对称加密算法的指令优化方法及其处理器 |
CN103701584A (zh) * | 2013-12-10 | 2014-04-02 | 中国船舶重工集团公司第七0九研究所 | 一种对称密码中二进制线性扩散结构的设计方法 |
CN104158796A (zh) * | 2014-07-11 | 2014-11-19 | 中国科学院信息工程研究所 | 分组密码抗线性攻击安全性的评估方法 |
CN104683096A (zh) * | 2013-11-29 | 2015-06-03 | 中国航天科工集团第三研究院第八三五七研究所 | 动态s盒变换方法及系统 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN108170203A (zh) * | 2018-02-02 | 2018-06-15 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的查表算子及其配置方法 |
CN109905231A (zh) * | 2019-02-26 | 2019-06-18 | 清华大学 | 一种新型的密码专用的4×4的s盒构造方法 |
CN111162898A (zh) * | 2019-12-27 | 2020-05-15 | 北京航空航天大学 | 一种基于Android端的SM4快速软件实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140478A1 (en) * | 2005-12-15 | 2007-06-21 | Yuichi Komano | Encryption apparatus and encryption method |
CN101176134A (zh) * | 2005-03-25 | 2008-05-07 | 索尼株式会社 | 信息处理装置 |
CN101371480A (zh) * | 2005-11-21 | 2009-02-18 | 爱特梅尔公司 | 加密保护方法 |
CN101512618A (zh) * | 2006-09-01 | 2009-08-19 | 索尼株式会社 | 数据变换装置和数据变换方法、以及计算机程序 |
CN101719823A (zh) * | 2009-10-30 | 2010-06-02 | 中国科学院软件研究所 | 一种实现s-盒线性变换的方法 |
-
2010
- 2010-10-12 CN CN2010105035757A patent/CN101951314B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101176134A (zh) * | 2005-03-25 | 2008-05-07 | 索尼株式会社 | 信息处理装置 |
CN101371480A (zh) * | 2005-11-21 | 2009-02-18 | 爱特梅尔公司 | 加密保护方法 |
US20070140478A1 (en) * | 2005-12-15 | 2007-06-21 | Yuichi Komano | Encryption apparatus and encryption method |
CN101512618A (zh) * | 2006-09-01 | 2009-08-19 | 索尼株式会社 | 数据变换装置和数据变换方法、以及计算机程序 |
CN101719823A (zh) * | 2009-10-30 | 2010-06-02 | 中国科学院软件研究所 | 一种实现s-盒线性变换的方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081514B (zh) * | 2011-01-24 | 2014-07-23 | 山东大学 | AES加密算法中Sbox生成指令优化方法及其指令集处理器 |
CN102081514A (zh) * | 2011-01-24 | 2011-06-01 | 山东大学 | AES加密算法中Sbox生成指令优化方法及其指令集处理器 |
CN102081513A (zh) * | 2011-01-24 | 2011-06-01 | 山东大学 | Aes加密算法中列混淆过程指令优化方法及其指令集处理器 |
CN102081513B (zh) * | 2011-01-24 | 2014-07-23 | 山东大学 | Aes加密算法中列混淆过程指令优化方法及其指令集处理器 |
CN102221990A (zh) * | 2011-05-26 | 2011-10-19 | 山东大学 | 针对aes对称加密算法的指令优化方法及其处理器 |
CN102221990B (zh) * | 2011-05-26 | 2014-01-22 | 山东大学 | 针对aes对称加密算法的指令优化方法及其处理器 |
CN104683096B (zh) * | 2013-11-29 | 2017-12-22 | 中国航天科工集团第三研究院第八三五七研究所 | 动态s盒变换方法及系统 |
CN104683096A (zh) * | 2013-11-29 | 2015-06-03 | 中国航天科工集团第三研究院第八三五七研究所 | 动态s盒变换方法及系统 |
CN103701584B (zh) * | 2013-12-10 | 2017-01-18 | 中国船舶重工集团公司第七0九研究所 | 一种对称密码中二进制线性扩散结构的设计方法 |
CN103701584A (zh) * | 2013-12-10 | 2014-04-02 | 中国船舶重工集团公司第七0九研究所 | 一种对称密码中二进制线性扩散结构的设计方法 |
CN104158796A (zh) * | 2014-07-11 | 2014-11-19 | 中国科学院信息工程研究所 | 分组密码抗线性攻击安全性的评估方法 |
CN104158796B (zh) * | 2014-07-11 | 2017-07-21 | 中国科学院信息工程研究所 | 分组密码抗线性攻击安全性的评估方法 |
CN106992852A (zh) * | 2017-05-08 | 2017-07-28 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN106992852B (zh) * | 2017-05-08 | 2023-09-15 | 芜湖职业技术学院 | 应用于AES与Camellia密码算法的可重构S盒电路结构 |
CN108170203A (zh) * | 2018-02-02 | 2018-06-15 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的查表算子及其配置方法 |
CN108170203B (zh) * | 2018-02-02 | 2020-06-16 | 清华大学 | 用于可重构处理系统的查表算子及其配置方法 |
CN109905231A (zh) * | 2019-02-26 | 2019-06-18 | 清华大学 | 一种新型的密码专用的4×4的s盒构造方法 |
CN111162898A (zh) * | 2019-12-27 | 2020-05-15 | 北京航空航天大学 | 一种基于Android端的SM4快速软件实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101951314B (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101951314B (zh) | 对称密码加密中s-盒的设计方法 | |
Zhang et al. | An image encryption scheme based on rotation matrix bit-level permutation and block diffusion | |
CN104333446B (zh) | 一种新型超轻量级qtl分组密码实现方法 | |
CN111431697B (zh) | 一种新型轻量级分组密码corl的实现方法 | |
CN104065474B (zh) | 一种轻量级Surge分组密码实现方法 | |
CN105959107B (zh) | 一种新型高安全的轻量级sfn分组密码实现方法 | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
Ahmed et al. | Strongest AES with S-Boxes bank and dynamic key MDS matrix (SDK-AES) | |
Yan et al. | An improved AES key expansion algorithm | |
CN111614457B (zh) | 基于p置换改进的轻量级分组加解密方法、装置及存储介质 | |
CN105337732A (zh) | 一种可处理大分组数据的加密方法 | |
Tong et al. | A novel image encryption scheme based on dynamical multiple chaos and baker map | |
Tang et al. | A one-time pad encryption algorithm based on one-way hash and conventional block cipher | |
Qassir et al. | Modern and Lightweight Component-based Symmetric Cipher Algorithms | |
CN102523085A (zh) | 数据加密方法、装置及智能卡 | |
CN101944991B (zh) | 一种使用对称密钥进行数据加密的加密方法 | |
He et al. | Cryptanalysis and improvement of a block cipher based on multiple chaotic systems | |
CN113691364A (zh) | 一种基于位片技术的动态s盒分组密码的加密及解密方法 | |
Kun et al. | An improved AES algorithm based on chaos | |
Kristianti et al. | Finding an efficient FPGA implementation of the DES algorithm to support the processor chip on smartcard | |
RU2503135C1 (ru) | Способ криптографического преобразования информации и устройство для его реализации | |
Zhao et al. | A multiple chaotic encryption scheme for image | |
Kumar et al. | Chaotic dynamical systems based image encryption model | |
Ali et al. | 3D Lightweight Cryptosystem Design for IoT Applications Based on Composite S-Box |
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: 20151012 |
|
EXPY | Termination of patent right or utility model |