CN101938352A - 一种分组密码软件加密方法 - Google Patents

一种分组密码软件加密方法 Download PDF

Info

Publication number
CN101938352A
CN101938352A CN 201010289846 CN201010289846A CN101938352A CN 101938352 A CN101938352 A CN 101938352A CN 201010289846 CN201010289846 CN 201010289846 CN 201010289846 A CN201010289846 A CN 201010289846A CN 101938352 A CN101938352 A CN 101938352A
Authority
CN
China
Prior art keywords
key
prime
sub
256bits
encryption
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
Application number
CN 201010289846
Other languages
English (en)
Other versions
CN101938352B (zh
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2010102898463A priority Critical patent/CN101938352B/zh
Publication of CN101938352A publication Critical patent/CN101938352A/zh
Application granted granted Critical
Publication of CN101938352B publication Critical patent/CN101938352B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Detergent Compositions (AREA)

Abstract

本发明公开了一种新的分组密码加密方法,该加密方法针对软件加密设计,充分利用了软件加密时内存空余量充足的特点,将传统分组密码算法中的字节替换步骤S盒的尺寸由8-8增大至12-8。本方法通过增加S盒尺寸,使加密流程的安全性,尤其是对代数攻击的抵抗能力得到极大提高,并且在软件加密中具备高速性能。该加密技术可用于通信加密、文件加密和安全协议中。

Description

一种分组密码软件加密方法 
技术领域
本发明涉及信息加密技术领域,具体涉及一种分组密码的加密方法。主要应用于数字通信过程中的各种通信软件。 
背景技术
分组密码加密方法是保障通信系统安全的一种重要手段,该方法构造拟随机数生成器、流密码、消息认证码和杂凑函数等,还可进而成为消息认证技术、数据完整性机构、实体认证协议以及单钥数字签名体制的核心组成步骤。 
分组密码的优点是:明文信息良好的扩展行,对插入的敏感性,不需要密钥同步,较强的实用性,适合作为加密标准。比较成功的算法是美国NIST在1976年公布的DES密码算法。进入90年代,因为DES在商业系统中的广泛采用,并且有研究人员怀疑NSA在DES中加入了陷门,人们对DES类密码的研究更加深入。各种研究机构在上世纪80-90年代对其进行了大量的分析和破译工作,特别是差分密码分析(differential cryptanalysis)和线性密码分析(1inear cryptanalysis)的提出,迫使人们不得不研究新的密码结构。 
2001年NIST正式公布高级加密标准AES,并于2002年5月正式生效。Rijndael算法在设计简洁的同时达到了极高的安全性,从而被NIST选择成为AES标准。2003年2月欧洲最新一代的安全标准NESSIE出台。Camellia算法以其在各种软件和硬件平台上的高效率这一显著特点成为NESSIE标准中两个128bits分组密码算法之一(另一个为AES算法)。 
当前主流分组密码加密方法主要包含了两大步骤:线性步骤(扩散层)和非线性步骤(混淆层)。线性步骤的作用是将明文的微小变化扩散至整个分组,一般由MDS矩阵或位移等操作实现;非线性步骤的作用则是消除输入数据与输出数据的相关性,一般由字节替换步骤(S盒)实现。 
分组密码加密方法中的字节替换步骤(S盒)本质上均可看作映射: 
S:GF(2n)→GF(2m
Figure BDA0000026901800000011
其中,x∈GF(2n),fi:GF(2n)→GF(2)是布尔函数。通常简称这样的S盒为n-m的S盒。 
S盒是大多数分组密码中唯一的非线性部件,为算法提供了非线性性和安全性,S盒的密码性质直接影响了密码算法的好坏。目前,S盒是分组密码研究领域的一个热点。对分组密码的主流攻击方法都建立在对算法S盒分析的基础之上。因此,在设计和分析分组密码时, 必须要考虑到S盒对于各种攻击的抗性,其任何不好的性质都将影响到整个密码算法的安全性。AES和Camellia都采用了以有限域上求逆操作为核心的S盒,这种S盒对于抵抗线性和差分分析都有着良好的性质。然而,由于求逆操作的代数性质过于简单,这种S盒对代数攻击的抵抗能力并不令人满意。随着求解多变量二次方程组的数学方法取得进展时,代数攻击成功的概率将大大增加。 
发明内容
针对上述问题,本发明提出了一种专门针对软件加密而设计的分组密码加密方法,该方法通过增大S盒尺寸,使加密流程的安全性(尤其是对代数攻击的抵抗能力)得到极大提高,并且在软件加密中具备高速性能。 
本发明的技术方案如下(流程图参图1): 
1.密钥编排步骤: 
密钥编排步骤把256bits的种子密钥扩展为8个256bits的轮密钥及1个白化子密钥(白化子密钥的长度为256bits),分别作用于8个非线性步骤和最后的1次白化子密钥异或步骤。 
2.轮变换步骤: 
2.1)非线性步骤:采用2轮的Feistel结构,配合12-8的S盒,组成了本加密方法的非线性步骤; 
2.2)线性步骤:在线性步骤中,采用了一个GF(28)上的32×32MDS矩阵P,与输入的数据向量进行乘法操作; 
2.3)若步骤2.1)与步骤2.2)执行次数未达到7次,转到步骤2.1,否则继续。 
3.末轮变换步骤: 
3.1)非线性步骤:与步骤2.1)相同; 
3.2)白化步骤:将步骤3.1)的输出数据与白化子密钥异或,得到密文。 
本发明中所提出的加密方法,针对软件加密过程中内存容量远远大于硬件环境的特点而设计。本方法通过增加S盒尺寸,使加密流程的安全性(尤其是对代数攻击的抵抗能力)得到极大提高,并且在软件加密中具备高速性能。该加密技术可用于通信加密(即传输过程中的动态数据加密)、文件加密(即存储数据的静态加密)和安全协议中。 
附图说明
图1是f函数结构示意图; 
图2是非线性步骤结构示意图; 
图3是加密流程整体结构示意图。 
具体实施方式
本发明所述的一种高效安全的软件加密方法,具体实施步骤如下: 
1.密钥编排步骤:本步骤的输入数据为8个长为32bits的种子密钥,记为k[-8],k[-7],…,k[-1];输出数据为72个长为32bits的子密钥,记为k[0],k[1],…,k[71],总长2304bits。其中,前2048bits为非线性步骤的子密钥,最后256bits为白化子密钥。 
1.1)将计数器i赋值为0。 
1.2)将imod4的结果存入变量j。 
1.3)求f(k[i-8]),f(k[i-7]),f(k[i-3]),f(k[i-2])的值,其中f是由一个扩展步骤E和4个并联的S盒组成,其结构如图1所示。f的输入数据为32bits的比特串A=a1||a2||a3||…||a32,这里“||”表示比特连接。首先,扩展变换E将A扩展为长为48bits的比特串E(A): 
E(A)=a2||a3||a4||a5||a32||a1||a6||…||a1||a28||a29
E的比特选择方法见表1。然后将E输出的48bits数据作为4个并联的12-8的S盒的输入,得到32bits的输出数据f(A)。S盒的数据参见表3,表3的第n个数据表示S盒输入数据为n时,所对应的输出数据。 
1.4)对f(k[i-8]),f(k[i-7]),f(k[i-3]),f(k[i-2]),Φj,j这6个数据进行异或操作,其中,Φj(j=0,1,2,3)是如下常数: 
Φ0=3C2D240E 
Φ1=E4BB73F6 
Φ2=B40B34CD 
Φ3=6C9D6334; 
1.5)将步骤1.4)得到的异或结果循环左移j位,即得到子密钥k[i]。 
1.6)计数器i加1,当i<72时,转步骤1.2),否则继续。 
2.轮变换步骤:本步骤的输入数据为待加密的256bits原文数据。 
2.1)非线性步骤 
根据图2所示的结构,设输入数据为:L0||R0||L1||R1||L2||R2||L3||R3,其中Li,Ri(i=0,1,2,3)均为32bits长的数据,总长256bits。对L0||R0,计算: 
L 0 ′ = R 0 ⊕ f ( L 0 ⊕ K 0 ) , R0′=L0
这里 
Figure BDA0000026901800000042
表示异或操作。在第2轮中进一步计算: 
L 0 ′ ′ = L 0 ′ = R 0 ⊕ f ( L 0 ⊕ K 0 ) , R 0 ′ ′ = R 0 ′ ⊕ f ( L 0 ′ ⊕ K 1 )
其中,K0,K1是子密钥。 
对L1||R1,L2||R2,L3||R3也分别进行上述操作,对应的子密钥按照使用的先后顺序从2304bits子密钥中选取。这样就得到了非线性步骤的256bits输出数据: 
L0″||R0″||L1″||R1″||L2″||R2″||L3″||R3″ 
2.2)线性步骤 
将非线性步骤输出的256bits数据,作为32个8bits长的二进制串的并联。将这32个二进制串作为一个32×1的向量,与矩阵P相乘,得到一个新的32×1的向量,该向量的256bits数据即为线性步骤的输出数据。矩阵P的数据见表2。 
2.3)若步骤2.1与步骤22执行次数未达到7次,转到步骤2.1,否则继续。 
3.末轮变换步骤:本步骤的输出数据为原文数据加密后得到的256bits密文数据。 
3.1)非线性步骤:与步骤2.1)相同。 
3.2)白化步骤:将步骤3.1)的输出数据与最后256bits子密钥异或,得到密文。 
本发明的解密方法,由加密方法逆向进行即可。 
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。 
表1E比特选择表 
Figure BDA0000026901800000045
Figure BDA0000026901800000051
表2P矩阵元素表 
表3S盒真值表 
63  C   B5  39  AC  6D  5C  1C  95  70  FB  45  5E  B5  48  52  2F  C3  80 
38  AE  D0  4E  6E  E3  E7  40  99  FF  73  38  EB  4E  A7  E7  F8  C3  0 
9   E8  C5  87  C3  C7  E9  E7  B1  BF  84  E   44  67  C7  2B  1F  86  43 
EA  97  B1  EA  DA  BD  9B  BD  D1  99  8C  1C  B9  D4  B2  DE  82  16  19 
42  89  E9  94  AA  67  F6  77  A0  C2  9D  B8  BE  3E  CA  F8  CC  24  EB 
A8  79  BD  A2  2E  3C  6B  80  62  F6  54  1   D1  FF  46  64  E6  62  A6 
87  69  26  9D  37  1   D0  7D  B5  6E  62  91  C6  4D  31  69  68  A2  4 
B2  C4  93  3C  B   D   92  FA  0   2D  A5  2F  A4  39  8B  BB  1   7E  70 
E2  A   1D  4F  18  29  A5  9F  43  F5  18  E3  50  87  EF  BD  CC  E1  DC 
78  C3  6B  CF  74  13  6C  B7  17  67  3E  97  BD  A   A7  BB  0   44  A4 
45  86  F6  C1  74  FA  9C  D5  E5  B2  E6  AD  C4  1   EC  34  B5  27  DB 
FB  13  40  2B  B3  37  8A  C5  4F  67  E6  C2  6C  DD  E6  B7  AF  C9  10 
E7  AF  EB  94  DE  D5  77  23  77  60  10  DC  BF  A3  B4  79  CA  24  A3 
60  3D  C8  96  46  4B  6F  A   88  62  50  BB  D   68  5A  7F  80  DA  76 
87  76  DD  B4  12  C5  3E  56  2C  9D  7   4D  89  D6  7A  ED  A8  B6  E1 
EC  6B  D5  A7  86  A6  EC  8E  E0  76  15  9A  30  AA  39  90  79  1E  28 
64  E1  7F  B6  D5  57  60  3A  2F  74  80  C7  3B  7B  91  F4  C6  F6  10 
C9  8F  ED  7E  15  91  16  11  1   5E  54  47  13  3B  1E  5D  78  2B  B9 
2A  54  EA  5   77  F1  B0  A5  64  D8  A1  20  82  AE  4   26  D3  E5  91 
1B  12  D0  2A  DA  95  89  C9  20  23  5B  C8  C0  B2  2   B0  DE  92  90 
AF  B4  79  EA  93  6C  FC  EA  13  3   D3  FA  8B  D3  33  28  AD  72  94 
35  48  A7  65  9E  C1  44  82  80  4F  2F  B6  E3  22  1F  7   2A  8C  73 
7B  37  30  8   10  62  47  A2  5   FA  10  FC  3D  AB  F0  FC  5   5B  CB 
8   F3  FB  FC  F5  B3  DB  7B  8A  F1  EF  A8  98  97  3F  8D  85  BD  60 
D6  9   1B  9   76  F7  E4  2A  87  79  F5  25  C9  E7  FF  BD  24  F   25 
E3  73  D9  3F  E6  4F  3A  27  D4  2   54  D4  7B  32  5B  FD  B6  33  58 
1C  2D  3F  9B  BF  F0  F3  AA  FA  AE  65  E7  83  88  95  3A  87  57  14 
E   36  E4  B3  D3  1E  F5  AF  86  77  7F  EE  6A  81  68  BE  C6  D3  F2 
5C  1F  7A  DA  40  D4  CE  FB  8A  80  E5  16  74  25  3C  AD  DD  8   33 
C0  D7  2E  5A  FB  70  60  82  BC  29  1D  7D  93  B9  B0  EE  F8  F7  2F 
82  4B  2F  1F  60  D4  28  83  4D  82  88  86  86  80  99  94  B5  87  BC 
D8  C   F0  3B  1F  A1  64  F2  5D  77  8E  85  6   5F  60  31  76  21  3C 
2   B7  29  EC  63  CA  39  DE  35  A0  78  D   6B  F0  58  81  A0  22  CB 
21  C0  D9  6E  1A  20  58  3   8B  8D  21  55  1E  E5  97  67  8E  1A  16 
5F  CB  F0  EC  EE  E2  54  90  E0  E   DD  BF  3D  3B  FB  C5  9   83  26 
7A  49  70  EF  F7  7D  BC  A3  E5  3B  78  BB  AD  83  C   21  3C  8   6A 
F   2   1D  ED  EF  24  CD  86  29  F4  EE  63  E3  5C  23  F4  EB  72  6A 
7A  24  C4  70  CC  3D  45  ED  2D  C7  95  B1  69  83  7E  8F  5E  C1  6E 
78  FB  A4  BC  82  5A  5E  EC  6D  3E  38  4   80  CF  D7  E   1   F1  33 
FF  61  5F  11  1E  69  B8  5E  95  D5  E7  F9  6   18  17  27  C8  0   E6 
DB  39  4   6F  FE  66  DE  DF  9A  AA  12  EB  E4  BA  49  8A  8D  C1  46 
64  FC  C0  43  34  75  6E  7D  1D  6C  72  9D  CF  24  CE  2E  C6  5F  C3 
3A  3D  40  4D  D2  5   1A  8D  1F  91  80  F1  C   32  52  B7  34  C3  32 
D3  B5  84  5C  96  12  8A  D6  5A  B6  63  F   59  BC  F7  CA  51  CE  98 
1B  EF  52  36  8B  1F  19  75  A8  4D  2E  2C  C2  4   45  81  C5  B8  25 
69  28  15  B8  38  2   6D  E3  BC  EE  9E  7D  A5  AD  B   29  F2  1C  B3 
2D  73  CE  9C  DA  CD  C4  3   DF  AF  49  37  55  F4  72  FE  49  DD  23 
13  6E  B2  51  BA  DD  52  99  59  45  0   94  75  96  9A  E6  4   7D  CF 
12  B6  F9  DE  55  9C  20  BE  81  CB  A7  84  19  30  E8  28  8   4B  4E 
61  AC  F8  95  F0  93  24  1F  53  9C  43  EE  8   AA  43  9   DE  74  C7 
48  19  22  D9  DB  CE  72  3F  CE  47  70  DC  2D  C9  C7  92  60  75  4A 
5F  74  D7  89  B7  57  9E  DA  53  76  E7  FC  D6  4C  27  AA  14  57  C1 
C9  F5  7E  D2  2B  41  85  11  A0  3F  7A  F2  35  64  BB  B4  D6  61  D1 
C1  1   D7  24  1D  F   3F  9D  64  7   29  DE  7C  1C  A3  C2  CD  13  6E 
D5  F6  2   5B  A7  BB  F1  6C  39  75  3C  43  56  27  D6  B4  90  6D  B3 
D6  DF  3   3E  B9  D1  8D  73  3F  6C  45  50  64  B0  44  A4  B9  95  54 
DC  6F  B5  85  B1  1D  45  19  54  3B  F9  4   D8  C0  D   B2  92  3B  CA 
ED  8A  A   88  9B  F3  7B  D7  78  98  45  E0  BE  4C  8C  4B  97  47  19 
5F  C3  5A  32  EA  D2  56  88  FC  6   72  7   95  4A  24  4A  CD  8F  F9 
68  79  14  34  95  41  4B  C6  B9  9A  9C  58  73  D   84  80  9   11  FE 
75  1F  51  A5  E1  D8  D2  4   2C  DD  EF  E0  DD  B4  15  87  EB  D0  5B 
A0  93  9E  70  4C  BC  40  DF  F8  16  EC  CE  89  CA  EC  98  B5  64  0 
E6  A4  46  5A  9F  70  1B  57  D7  FB  94  B8  B1  7E  80  23  48  18  0 
48  97  5E  3B  58  61  81  F5  60  8B  C5  5F  A5  83  AB  FF  6D  6F  C2 
44  4B  52  8D  B3  72  83  4C  92  AB  D8  3A  2F  C8  49  12  98  2E  61 
77  2F  6D  37  5E  E4  D6  CA  AE  AF  B1  A3  7C  11  E0  F2  C5  B5  42 
F5  FF  31  9F  6A  18  FC  2   C1  D7  14  2D  42  A   AF  9D  2A  A8  36 
98  84  B8  69  BA  4F  9   4D  D   9   B   71  B9  29  66  7   6A  9C  F6 
C6  9A  17  27  1E  B6  53  7   6   6B  95  49  C3  F4  CC  38  65  83  1A 
A1  41  6B  E4  9E  37  B0  EE  E6  E8  43  C3  76  FB  57  2F  7B  77  94 
7B  23  FA  A1  9C  D3  46  5D  B6  17  D6  C0  A8  8D  BA  3B  E5  AB  7 
FA  98  87  A2  6B  18  0   F7  AA  38  96  9D  41  E2  75  66  BB  A0  65 
D6  E4  32  81  F6  FC  6D  6A  F4  35  C6  B4  3C  88  B9  B7  41  38  7 
6B  D6  6F  B0  4D  6B  55  D1  3B  52  96  66  22  97  CC  54  53  D5  8 
38  8A  30  A9  6F  2C  69  22  7C  A5  68  51  5   A5  9   5F  40  56  8E 
95  B5  55  E1  3B  46  5A  C0  C   9   7B  35  22  66  9E  AE  7C  A9  2A 
2F  B   E9  5E  20  7D  1F  AB  86  C3  9B  7F  88  3E  A   71  31  84  3 
CB  2   0   E1  61  DC  FA  CA  44  F2  FE  F2  22  EB  2C  D5  FB  B6  6A 
25  1F  1A  B8  D1  52  21  A4  65  DF  DE  49  F0  1D  7E  A7  5D  13  23 
31  FE  2A  6C  F7  3F  8E  73  11  E0  1   33  93  B3  5A  E3  62  9A  53 
99  34  AC  8A  A4  92  51  DF  AF  BE  9F  4F  19  C9  7D  14  C9  E3  33 
A6  49  28  36  59  23  B8  C6  34  B3  D3  DC  56  51  7B  4C  58  AD  EA 
3F  85  AA  96  E4  1B  DB  8D  7E  5C  CC  1C  D7  F5  3A  A5  FA  26  EB 
8C  9A  E8  69  62  7F  9F  BE  D8  6   AC  82  7   DB  8F  BA  E8  86  38 
B4  F0  4D  21  65  17  2C  28  3A  81  EE  CE  53  3F  43  49  40  E1  E8 
6E  AB  E2  F7  EF  E   EF  F6  EF  B6  30  A4  E   1E  86  87  5F  A3  8C 
20  3A  F9  FE  10  20  D1  F0  85  D   87  BA  19  97  C7  71  2   FD  3E 
85  6B  18  78  2D  C9  46  E   A5  3B  C0  C6  8C  7B  21  E6  CD  74  D9 
7   B9  11  BB  64  79  48  73  57  F4  F   56  C0  F3  ED  60  B5  D2  95 
82  D   12  D0  C9  50  CD  BA  82  1D  6C  28  C2  39  4E  39  68  4E  59 
1D  D8  16  E0  7D  D8  27  38  B3  DC  D9  B4  E5  12  E9  42  2C  2A  1D 
6   5C  25  24  E8  68  97  F1  29  ED  47  F4  FB  DA  50  E2  5   29  31 
2D  4D  F8  C6  AD  50  9F  5B  93  8C  DA  C   9F  E9  9E  CE  E1  83  F7 
6C  AD  B4  F7  9C  9B  CE  10  BC  D0  C1  61  18  12  EF  B2  AF  91  FB 
1A  2F  C9  C4  DF  48  8B  83  BA  3B  B8  B3  F9  76  7F  68  C4  4   CC 
BF  2A  11  AE  1B  C1  59  4A  95  14  E5  DB  74  77  A1  D4  F6  EB  EE 
86  F3  36  9B  36  C0  3C  93  4E  70  66  5D  5A  7   5D  72  65  E5  F8 
31  BB  5   9A  8F  C9  75  DC  18  46  AA  47  A6  D0  5C  23  32  BD  90 
12  96  68  5E  19  90  89  B7  1D  18  D2  44  75  7D  87  F9  2C  2A  C7 
8C  7A  94  F   8D  15  BD  E2  35  BD  F8  E6  BF  BF  F1  AF  86  B3  1B 
21  6B  F2  C6  13  9B  D   53  BB  E5  B9  F8  AC  0   B0  86  70  D9  13 
26  63  26  EA  E9  41  F2  EA  EB  A9  B2  B3  C0  3   FC  C2  B   AA  52 
F5  2   B7  40  79  5D  D4  A2  5C  99  ED  D7  A  30   CB  A2  CF  4A  CC 
4   C7  E0  7   74  8D  12  5C  3D  F9  61  EF  D8  94  88  2E  99  E8  28 
97  68  D4  50  9C  71  5D  5E  EB  A7  D2  88  54  7B  AC  E9  1F  CD  71 
BB  14  A4  13  D4  91  F9  5E  36  73  6F  56  A6  91  BA  C5  4E  AC  1F 
75  7A  94  4A  A0  CB  BE  B2  53  A2  57  C5  51  45  91  B1  3A  19  E6 
72  C   71  15  77  55  B   D   EB  47  12  16  6C  19  35  D9  C1  7E  E7 
80  A3  D9  B0  F6  A8  3A  CD  CC  7E  F2  43  32  26  55  18  DC  8F  F4 
4D  17  6A  ED  48  28  84  F9  15  1C  F   5B  C8  E2  D7  82  FD  FD  B 
F0  7F  D8  DD  75  CF  C1  B1  6   26  B1  C8  F4  24  4A  66  57  AB  4D 
9A  EF  1C  62  8D  7E  BE  8   19  1   AC  A   42  96  C8  51  C0  4B  82 
1B  34  B5  EA  78  BB  F2  3A  1B  47  36  FD  26  C1  8A  6E  4D  F2  3E 
39  FD  DB  67  78  65  7F  7E  9C  39  57  A6  BC  F1  1   5   AB  CD  C2 
45  3D  69  20  7A  9E  E2  A6  8F  B0  F4  E4  63  8   79  99  4B  F   35 
38  D6  2E  22  11  40  53  E0  15  BA  3A  FE  A6  F3  81  DB  5B  E5  61 
E9  F7  F7  8D  F9  41  55  ED  93  29  8   56  29  D5  5D  82  AE  C7  7B 
32  9F  4A  9A  1A  9C  61  91  C   F8  94  37  46  85  CA  DB  88  51  C9 
1B  C7  CB  8A  6C  61  9   38  BC  20  E6  E4  C0  4A  45  90  44  DA  90 
FF  C9  94  BE  5C  44  3D  1E  33  56  2B  F3  17  A6  70  49  D4  42  6F 
17  5B  37  99  A5  5B  25  5F  BE  85  CE  DD  38  8   F1  5B  35  B7  A8 
B0  DC  E   67  FA  62  F9  E4  CF  F1  2E  A1  2   F8  AF  97  3E  20  70 
9D  E4  CC  E0  69  13  42  76  22  50  47  50  3C  78  1E  42  A6  27  B 
83  44  31  AE  7F  EE  E1  E1  59  77  F   DB  36  EC  42  B9  A6  8B  7D 
36  53  DE  DF  DC  A3  23  7A  C5  65  C6  B4  AF  85  37  5   81  62  A8 
E1  8C  FB  A4  B2  9A  2E  92  F0  85  1D  92  50  E1  BC  89  C6  C8  27 
76  74  E9  DA  EA  81  19  A9  AC  C1  53  A0  85  AC  43  C8  E9  BE  F1 
1B  8D  AA  AD  CF  72  3E  C3  F5  E0  AB  D3  14  AA  A7  3C  E4  24  AF 
9   A3  30  3E  D2  DD  9   BD  5D  44  3E  6   C   F5  41  7F  1C  2A  7C 
C5  BE  E0  49  7D  69  63  3C  E8  11  12  24  6C  CE  46  6C  E4  49  55 
D   80  B9  1D  BF  B6  97  3F  88  BC  D5  69  44  99  2A  AE  AB  8D  EB 
B8  F1  30  13  AC  4C  D3  52  8D  A9  1   B8  C   5D  9B  42  6   33  F0 
EE  30  A7  4C  4A  12  BA  68  23  8E  B0  2A  1E  35  1F  B9  61  34  BE 
E3  7C  96  A8  2C  52  F   E   F3  2B  2C  8C  CD  34  71  63  1E  76  C3 
FF  60  C4  67  6F  DE  9A  67  83  20  FA  17  D1  23  51  9E  70  66  A2 
1B  E   58  C   1D  8E  32  C4  FD  3E  E3  B2  24  81  64  55  47  CC  84 
7D  16  31  41  C0  1B  AF  21  27  E3  23  98  17  64  6A  22  62  65  C7 
92  10  7C  D0  18  D2  A9  99  A8  22  3   21  1E  EA  48  16  93  D8  A8 
C2  59  C7  15  7F  93  BF  77  59  F0  58  28  80  8F  7B  8F  A9  9D  5C 
F   56  E5  BF  E6  5E  DC  34  AD  3F  8A  F5  16  DD  8E  7F  34  68  81 
32  C   8E  33  6A  AE  2F  FC  63  D6  96  3E  46  79  21  B   14  EE  B7 
DF  9F  49  E   A9  F7  1   19  D3  3F  22  8B  35  4E  9D  1E  3D  6   34 
65  60  10  2D  33  5B  97  58  BE  41  94  4B  C2  50  E5  CD  BC  8B  DF 
71  63  5B  A5  42  BA  F5  51  32  E1  51  B3  DD  79  A7  A6  64  4F  4C 
70  62  A   E8  32  13  A1  72  D3  69  34  A5  A9  A9  A2  9D  F2  A2  E6 
5A  56  6   D   DA  14  CE  8B  86  41  25  71  72  37  2B  46  8E  BB  F 
25  CF  AC  DB  2   17  D2  4D  1   30  CC  D5  8E  72  A6  14  6E  83  76 
31  7B  B1  7E  3D  92  79  0   B7  29  52  85  50  E2  FE  27  6D  CE  6A 
D0  A3  40  53  4E  48  8A  E7  7A  49  3D  A2  77  A9  6B  8F  8C  49  F 
A6  61  AC  CD  40  4C  92  4C  39  37  FD  82  23  A1  D5  B5  36  E8  8B 
64  15  7C  D8  AB  9   F   5D  C4  66  CE  89  CD  A4  A3  44  98  8B  DC 
14  EC  79  55  C5  65  7A  62  F3  0   54  E0  1C  A9  CC  3D  2E  5F  11 
66  D7  6   77  39  59  E   71  EC  1E  90  3D  CF  BD  1C  CD  EB  BF  55 
A2  B4  6E  8F  F9  4B  31  3   B7  F5  5   F0  42  88  52  4F  5F  72  A3 
78  68  2F  4A  53  EE  57  21  D4  99  47  D8  60  18  5   94  E8  66  5C 
9A  96  53  78  C4  25  D8  91  A0  A0  73  27  99  3F  AD  84  2   6   B6 
FD  2D  F8  71  5F  AD  BD  84  A6  D5  1C  A7  8D  5C  3A  A   9C  A2  8C 
2C  C4  E3  DA  E7  C5  15  56  89  E5  1C  D7  FC  71  80  1B  7C  96  58 
B6  A4  FA  14  A8  FE  1D  7A  A1  A0  8E  B7  C8  F8  83  EC  B   2D  2B 
D2  E8  E5  20  47  36  FF  6A  E2  8   1F  7E  C4  63  32  14  21  11  5B 
40  CC  38  9A  F2  51  8C  A   D   D5  EA  24  15  9B  AA  E2  F8  5   B9 
D9  35  F2  1A  ED  C0  E9  84  B2  AD  D9  EC  53  42  46  11  87  FC  7A 
9E  95  5   50  BD  9C  8A  F9  7   62  4F  59  54  36  92  93  CB  78  92 
E1  A2  84  DB  89  0   48  2F  76  5   27  55  7F  CA  CC  F6  4B  4A  7D 
8F  4B  DE  A1  CA  2B  31  B1  47  FB  94  83  89  61  5A  62  C7  68  B6 
AD  C5  A4  54  CF  87  DD  FD  F3  DE  47  26  CA  D7  D   F3  43  29  67 
33  E7  B6  90  E4  F0  9E  A7  DB  74  FE  FA  AE  F1  22  A3  AB  AC  46 
7B  6   5F  A   C8  51  AE  A2  6D  DE  74  EB  4A  26  15  CA  6C  A2  A7 
33  FE  10  67  98  DB  C2  D   88  26  85  5A  81  2B  FE  8F  27  B3  93 
E9  45  AA  90  D1  65  E7  C2  34  11  79  98  F9  41  6C  54  BF  2C  58 
D9  F   6D  4F  E3  14  A9  4   5B  F3  2D  4C  2D  13  C9  71  BF  E3  F6 
6F  11  10  30  E0  2A  15  6B  4C  3   C9  5E  A9  2A  25  2E  D7  A8  9 
E6  C1  88  11  F7  56  56  2C  90  88  21  26  B0  56  D1  83  1A  2D  BE 
9B  C0  D1  B0  B8  9F  4A  13  2B  C3  E7  25  67  25  6   5A  31  7F  8F 
B1  B1  7F  D1  19  2   DF  EA  D9  F4  B4  C5  C1  7C  7C  4   E4  4E  29 
5E  9E  9B  56  E8  DC  E5  26  4F  5A  EE  AB  31  8A  FB  C6  8E  D7  13 
EF  E3  91  4C  0   8E  65  2C  4A  6E  78  0   A5  6F  F6  44  2B  CC  18 
8   F8  74  1   F7  84  FE  1D  31  35  63  64  40  66  BA  38  9F  66  3 
9   D2  2D  30  73  DB  84  A4  E   DA  5D  D6  39  F9  C2  9D  12  60  F4 
F4  23  DE  68  C   7A  5E  C2  3   AA  9D  AE  30  B2  46  E9  B3  A7  4E 
D9  3C  7B  9D  55  4E  C1  D3  23  AC  A   31  EF  45  2B  BC  FF  42  21 
7C  ED  1B  DF  9B  CD  64  8A  3E  3   B4  33  5B  FD  1A  F1  40  D7  FD 
F1  D2  3   8B  28  45  9F  87  CF  2E  B5  97  76  C8  E2  4B  25  B8  6B 
95  26  A1  D5  D0  28  F5  9D  2E  66  E3  17  3E  16  F   A1  B2  D3  8B 
F2  70  4B  41  3C  2D  A1  7F  35  EC  A3  2B  35  A3  29  69  F5  D3  9E 
48  1C  82  54  12  3B  BB  92  39  DA  6D  B   90  18  20  EE  6D  1   B7 
7C  37  FA  F1  2C  FE  AD  67  AA  A9  9E  52  A3  97  E7  FA  A8  B0  81 
E8  3A  74  10  41  91  B6  92  91  1B  17  91  8F  73  6A  92  43  37  B1 
3C  C4  C   D1  EC  1   C2  D0  CA  FF  EA  4C  9F  42  89  72  4F  BA  6E 
F8  30  9A  94  CD  4B  DF  98  EC  D9  B8  91  51  80  A0  32  A7  FC  5E 
BB  D4  A   5D  FC  EF  68  76  9C  75  9C  6F  EE  6D  E2  20  47  9B  22 
CF  6C  74  43  D6  D2  10  AC  34  F6  CF  D1  26  FA  96  BF  7D  DD  16 
96  63  1C  C3  FF  3A  F6  27  3C  4   90  B3  69  89  48  9A  D3  BE  85 
7C  ED  39  43  8E  CB  D9  3   7   A1  A1  6F  CE  57  67  D6  3D  D0  9B 
5D  EF  58  F4  C   4A  57  4D  16  7   F3  16  5   81  34  F3  C   9F  B 
22  D0  43  CA  16  84  3A  AE  75  4D  10  6A  FD  63  C8  73  D8  5C  E 
8B  4   FE  DA  54  7E  C8  E8  7C  37  28  54  7E  C3  16  3   3F  17  E2 
28  AB  74  10  1A  A9  59  CB  FD  14  D   D1  82  B0  A   A0  9B  B7  C4 
7E  A   45  20  1F  C7  3B  4C  4E  1C  BB  5   4F  6E  93  78  BF  96  D4 
43  87  6B  10  3D  73  86  84  9D  2F  EB  40  D4  71  E1  4E  86  5F  A4 
33  48  C3  E1  58  DF  B4  90  D1  47  F7  ED  96  6A  2   5C  2E  AB  3B 
71  BD  97  DA  9E  60  57  60  2A  66  E0  63  6F  4   D2  57  50  CA  99 
20  51  E9  B5  F3  49  59  A4  F7  6D  E9  30  99  8A  7A  21  E9  89  2B 
B1  CB  77  B8  48  8   DC  E0  27  59  FE  8B  4F  B0  6D  66  B5  67  57 
BF  6A  85  22  76  CB  79  9F  18  2E  17  9E  48  B8  ED  BA  6E  4D  9C 
69  88  1A  25  58  59  61  8C  1A  B4  55  B7  5D  BD  63  15  8   DF  32 
8E  FF  2B  67  CF  C4  8F  2C  62  6D  37  4E  C8  93  4B  DC  3C  CB  6F 
9F  BA  90  5C  C7  DF  8C  58  A5  4F  D0  59  A8  E4  BC  44  5A  B2  71 
46  33  59  B2  42  4F  30  D8  ED  95  7   B   FF  41  F6  2F  F3  CF  C4 
39  36  BC  AE  3F  3D  9B  D4  37  89  A0  2E  D9  5F  73  38  DE  E   AB 
DD  A0  A6  50  28  7D  1E  FB  45  F4  7A  FF  E2  52  75  A5  41  50  98 
32  8C  5A  D4  61  89  6   78  53  B   C6  B   B9  C8  70  D2  99  AD  AF 
FD  D0  A0  4   98  3E  C6  1A  D5  4E  CB  77  FF  52  0   72  F0  79  98 
B1  1A  B   52  D0  55  81  EA  1E  36  73  2   15  6F  19  58  17  6E  65 
FC  E7  4C  AE  CB  C2  3   44  93  40  FD  36  3   A1  AF  B9  1A  98  75 
75  29  24  65  C5  E2  7C  25  35  6B  8 。

Claims (5)

1.一种分组密码加密方法,其特征在于,该方法包括如下步骤:
A.密钥编排步骤:
把256bits的种子密钥扩展为8个256bits的轮密钥及1个256bits的白化子密钥,分别作用于8个非线性步骤和最后的1次白化子密钥异或步骤;
B.轮变换步骤:
B1.非线性步骤:包括2轮的Feistel结构,配合12-8的S盒;
B2.线性步骤:采用一个GF(28)上的32×32MDS矩阵P,与输入的数据向量进行乘法操作;
B3.若步骤B1与步骤B2执行次数未达到7次,转到步骤B1,否则执行步骤C;
C.末轮变换步骤:
C1.非线性步骤:与步骤B1相同;
C2.白化步骤:将步骤C1的输出数据与白化子密钥异或,得到密文。
2.如权利要求1所述的加密方法,其特征在于,所述步骤A的实现方法为:
1)将计数器i赋值为0;
2)将imod4的结果存入变量j;
3)求f(k[i-8]),f(k[i-7]),f(k[i-3]),f(k[i-2])的值,其中f是由一个扩展步骤E和4个并联的S盒组成,f的输入数据为32bits的比特串A=a1||a2||a3||…||a32,这里“||”表示比特连接,
首先,扩展变换E将A扩展为长为48bits的比特串E(A):
E(A)=a2||a3||a4||a5||a32||a1||a6||…||a1||a28||a29
然后将E输出的48bits数据作为4个并联的12-8的S盒的输入,得到32bits的输出数据f(A);
4)对f(k[i-8]),f(k[i-7]),f(k[i-3]),f(k[i-2]),Φj,j进行异或操作;
5)将步骤4)得到的异或结果循环左移j位,得到子密钥k[i];
6)计数器i加1,当i<72时,转步骤2),否则继续。
3.如权利要求2所述的加密方法,其特征在于,所述步骤B1的实现方法为:
设输入数据为:L0||R0||L1||R1||L2||R2||L3||R3,其中Li,Ri(i=0,1,2,3)均为32bits长的数据,对L0||R0,计算:
Figure FDA0000026901790000021
R0′=L0,这里
Figure FDA0000026901790000022
表示异或操作,进一步计算:
L 0 ′ ′ = L 0 ′ = R 0 ⊕ f ( L 0 ⊕ K 0 ) , R 0 ′ ′ = R 0 ′ ⊕ f ( L 0 ′ ⊕ K 1 )
其中,K0,K1为子密钥;
对L1||R1,L2||R2,L3||R3也分别进行上述操作,对应的子密钥按照使用的先后顺序从2304bits子密钥中选取,这样就得到了256bits输出数据:L0″||R0″||L1″||R1″||L2″||R2″||L3″||R3″。
4.如权利要求3所述的加密方法,其特征在于,所述步骤B2的实现方法为:
将步骤B1中输出的256bits数据,作为32个8bits长的二进制串的并联,将这32个二进制串作为一个32×1的向量,与矩阵P相乘,得到一个新的32×1的向量,该向量的256bits数据即为本步骤的输出数据。
5.如权利要求2所述的加密方法,其特征在于,所述Φj是如下常数:
Φ0=3C2D240E
Φ1=E4BB73F6
Φ2=B40B34CD
Φ3=6C9D6334。
CN2010102898463A 2010-09-23 2010-09-23 一种分组密码软件加密方法 Expired - Fee Related CN101938352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102898463A CN101938352B (zh) 2010-09-23 2010-09-23 一种分组密码软件加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102898463A CN101938352B (zh) 2010-09-23 2010-09-23 一种分组密码软件加密方法

Publications (2)

Publication Number Publication Date
CN101938352A true CN101938352A (zh) 2011-01-05
CN101938352B CN101938352B (zh) 2012-07-04

Family

ID=43391502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102898463A Expired - Fee Related CN101938352B (zh) 2010-09-23 2010-09-23 一种分组密码软件加密方法

Country Status (1)

Country Link
CN (1) CN101938352B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430038A (zh) * 2019-06-20 2019-11-08 中国人民解放军战略支援部队信息工程大学 分组密码设计中面向硬件实现的mds矩阵构造方法及装置
CN111147230A (zh) * 2019-12-31 2020-05-12 东方红卫星移动通信有限公司 一种基于低轨卫星物联网轻量级星间的信息加密传输方法
CN112511293A (zh) * 2020-09-21 2021-03-16 中国电子科技集团公司第三十研究所 基于比特与运算的s盒参数化设计方法及存储介质
CN112636899A (zh) * 2020-09-21 2021-04-09 中国电子科技集团公司第三十研究所 一种轻量化s盒设计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697369A (zh) * 2005-06-14 2005-11-16 河北工业大学 分组密码加密解密的方法及其加密解密器
CN101578813A (zh) * 2007-01-11 2009-11-11 皇家飞利浦电子股份有限公司 跟踪实现的拷贝

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697369A (zh) * 2005-06-14 2005-11-16 河北工业大学 分组密码加密解密的方法及其加密解密器
CN101578813A (zh) * 2007-01-11 2009-11-11 皇家飞利浦电子股份有限公司 跟踪实现的拷贝

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430038A (zh) * 2019-06-20 2019-11-08 中国人民解放军战略支援部队信息工程大学 分组密码设计中面向硬件实现的mds矩阵构造方法及装置
CN110430038B (zh) * 2019-06-20 2022-11-29 中国人民解放军战略支援部队信息工程大学 分组密码设计中面向硬件实现的mds矩阵构造方法及装置
CN111147230A (zh) * 2019-12-31 2020-05-12 东方红卫星移动通信有限公司 一种基于低轨卫星物联网轻量级星间的信息加密传输方法
CN112511293A (zh) * 2020-09-21 2021-03-16 中国电子科技集团公司第三十研究所 基于比特与运算的s盒参数化设计方法及存储介质
CN112636899A (zh) * 2020-09-21 2021-04-09 中国电子科技集团公司第三十研究所 一种轻量化s盒设计方法
CN112511293B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 基于比特与运算的s盒参数化设计方法及存储介质
CN112636899B (zh) * 2020-09-21 2022-03-18 中国电子科技集团公司第三十研究所 一种轻量化s盒设计方法

Also Published As

Publication number Publication date
CN101938352B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
Jean et al. Deoxys v1. 41
Diffie et al. SMS4 encryption algorithm for wireless networks
Rahim et al. Cryptography technique with modular multiplication block cipher and playfair cipher
CN101938351B (zh) 一种实现分组密码加密的密钥扩展方法
CN110795762A (zh) 基于流密码的保留格式加密方法
Niemiec et al. A new symmetric block cipher based on key-dependent S-boxes
Asaad et al. Advanced Encryption Standard Enhancement with Output Feedback Block Mode Operation
CN101841415A (zh) 一种面向字的密钥流生成方法及加密方法
CN101938352A (zh) 一种分组密码软件加密方法
CN108270545A (zh) 一种基于移动互联网的改进的des数据加密算法
CN101826959B (zh) 一种面向字节的密钥流生成方法及加密方法
Yan et al. An improved AES key expansion algorithm
Chauhan et al. Enhancing security of AES using key dependent dynamic Sbox
Alemami et al. Advanced approach for encryption using advanced encryption standard with chaotic map
Liu et al. Improved meet-in-the-middle attacks on reduced-round Deoxys-BC-256
Kaushal Cryptography: A brief review
Wenceslao Jr Enhancing the performance of the advanced encryption standard (AES) algorithm using multiple substitution boxes
Li et al. Meet‐in‐the‐middle attacks on round‐reduced tweakable block cipher Deoxys‐BC
Katagi et al. The 128-bit blockcipher CLEFIA
CN101848078A (zh) 一种密钥流序列扰动方法及加密方法
CN104320420A (zh) 一种基于aes算法的scada文件加密方法
CN102013974A (zh) 基于随机变化的非线性步骤的加密方法
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
CN101848079B (zh) 一种面向字、带记忆的序列扰动方法及加密方法
Wenceslao Jr Performance efficiency of modified AES algorithm using multiple S-boxes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Zheng Zhiming

Inventor after: Zhang Xiao

Inventor after: Wang Wenhua

Inventor after: Gao Ying

Inventor after: Wang Zhao

Inventor after: Qiu Wangjie

Inventor before: Zheng Zhiming

Inventor before: Wang Wenhua

Inventor before: Zhang Xiao

Inventor before: Gao Ying

Inventor before: Wang Zhao

Inventor before: Qiu Wangjie

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHENG ZHIMING WANG WENHUA ZHANG XIAO GAO YING WANG ZHAO QIU WANGJIE TO: ZHENG ZHIMING ZHANG XIAO WANG WENHUA GAO YING WANG ZHAO QIU WANGJIE

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: 20120704

Termination date: 20150923

EXPY Termination of patent right or utility model