CN112118097B - 一种对称密钥加密方法 - Google Patents

一种对称密钥加密方法 Download PDF

Info

Publication number
CN112118097B
CN112118097B CN202010929223.1A CN202010929223A CN112118097B CN 112118097 B CN112118097 B CN 112118097B CN 202010929223 A CN202010929223 A CN 202010929223A CN 112118097 B CN112118097 B CN 112118097B
Authority
CN
China
Prior art keywords
bits
data
key
bit
function
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.)
Active
Application number
CN202010929223.1A
Other languages
English (en)
Other versions
CN112118097A (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.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
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 Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202010929223.1A priority Critical patent/CN112118097B/zh
Publication of CN112118097A publication Critical patent/CN112118097A/zh
Application granted granted Critical
Publication of CN112118097B publication Critical patent/CN112118097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种对称密钥加密方法,属于电通信与改进算法优化技术领域。首先将原始明文进行奇偶变换处理,调整明文的字符位置,并将变换后的奇数位记作L0,偶数位记作R0。然后将任意有限长度的密匙进行分组,通过密匙来决定迭代次数。最后将Li64位和Ri64位为第i次迭代结果的左半部分与右半部分,子密钥Ki为第i轮的96位加密密钥,通过P函数,得到最终加密后的数据。本发明大幅度增加了破解的难度,提升了信息传递的安全性。

Description

一种对称密钥加密方法
技术领域
本发明涉及一种对称密钥加密方法,属于电通信与改进算法优化技术领域。
背景技术
现有技术中采用对称加密算法对待加密数据进行加密,对称加密算法的有效密匙长度为56位,密匙长度较短,这样对数据的加密性较低。待加密数据在进行迭代的过程比较单一,即使将密匙的长度增加,但是其迭代过程不会发生改变。
因为此本发明提出用户可以使用任意有限长度的密匙,其迭代过程中的循环方向、循环次数等都与密匙相关,这样增加了信息传递的安全性与可靠性。
发明内容
本发明要解决的技术问题是提供一种对称密钥加密方法,用以解决上述问题,从而弥补现有技术的缺陷。
本发明的技术方案是:一种对称密钥加密方法,具体步骤为:
Step1:奇偶变换
将原始明文进行奇偶变换处理,调整明文的字符位置,并将变换后的奇数位记作L0,偶数位记作R0。
Step2:生成子密匙
将任意有限长度的密匙进行分组,通过密匙来决定迭代次数。
Step3:迭代过程
Li(64位)和Ri(64位)为第i次迭代结果的左半部分与右半部分,子密钥Ki为第i轮的96位加密密钥,通过P函数,得到最终加密后的数据。
所述Step2具体步骤为:
Step2.1:将任意有限长度的密匙进行分组处理,分成N个128bit的数据,不足128bit的进行补位,可以将首位补1,其余位补0。
Step2.2:对于单个128bit的数据,每8bit为一个校验位,将这些去除掉,然后进行置换,得到112bit的数据。
Step2.3:将112bit位的数据进行分组,把前56bit作为C,后56bit的数据作为D。
Step2.4:将前56bit数据进行分组,分成7个8bit的数据,将其第一小组作为循环方向,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格。
Step2.5:将后56bit数据进行分组,分成7个8bit的数据,将其第一小组作为单次循环移位数,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格。
Step2.6:将Step2.1中的N作为迭代次数,当N大于或等于12时,则只循环12次。
Step2.7:得到的子密匙是112bit的数据,通过密匙压缩表进行有损压缩,得到96bit的数据。
Step2.8:将奇偶变换得到的报文通过扩展置换变成96bit后,令其为X,则子密匙为Y。
Step2.9:判断子密匙首位字符,如果子密匙的首位字符为0,则使用H函数,如果子密匙的首位字符为1,则使用I函数。
Step2.10:通过H函数或者I函数的96位报文12字符长度为1组,共计8组。
Step2.11:
如果通过H函数得到的数据,那么将每组的前4位去除。
如果通过I函数得到的数据,那么将每组的后4位去除。
进行有损压缩,得到64字节的数据,通过运算规则,得到第一次迭代的结果。
所述Step3中,将初始置换进行数次的迭代,即进行加密变换,得到Li和Ri,将此进行组合,得到最终的密文输出块。
本发明的有益效果是:增加了密匙的长度,使得密匙的有效位不是56bit,至少是112bit,并且在迭代过程中,有密匙来控制迭代次数、循环方向、单次循环位移数等。这样大大提升了信息传递的安全性。
附图说明
图1是本发明的流程示意图;
图2是本发明的生成子密匙的步骤流程图;
图3是本发明的迭代过程示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
对称密钥加密方法算法基础循环加工过程,准备需要用到的数据包括:
58 1 52 124 50 51 25 89 44 37 118 121 87 19 15 2
73 108 122 90 119 126 125 22 85 65 31 9 34 116 100 6
97 21 10 38 102 101 54 98 59 78 127 5 47 60 49 20
70 23 83 18 109 4 66 123 33 67 111 62 68 29 105 3
74 107 79 93 13 30 71 53 27 17 86 28 106 94 99 14
36 69 26 45 113 43 63 11 91 82 55 117 84 103 75 114
76 61 57 46 95 39 110 115 42 81 77 7 12 92 41 35
秘钥置换表
41 25 2 27 42 67 104 36 23 98 59 20
105 4 15 12 80 55 14 30 111 7 101 50
58 87 61 9 53 78 100 90 86 46 1 65
44 92 18 52 93 112 103 79 11 107 19 17
47 26 102 81 34 71 74 37 106 83 39 77
49 96 6 97 60 73 84 75 29 13 62 43
72 54 82 51 94 33 64 88 24 28 110 3
91 45 69 68 35 38 32 57 66 8 108 89
秘钥压缩表
1 -1 -1 1 1 1 -1 1 1 1 -1 1 1 -1 1 1
-1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 1 -1 1 -1
-1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 -1 1
-1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1
1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1
-1 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1 1
-1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1
-1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1
1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
1 1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1 1 1
1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1
-1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 1
-1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 1
1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 1 -1 -1
循环方向表
1 2 2 1 1 1 2 1 1 1 2 1 1 2 1 1
2 3 2 2 2 2 1 1 1 1 2 1 1 2 1 2
2 1 1 1 2 2 2 3 1 1 2 3 2 2 1 2
1 1 2 2 2 2 2 2 1 1 1 1 3 3 2 3
2 2 2 1 2 2 2 3 2 2 1 3 2 2 1 1
1 3 3 3 1 3 1 3 3 1 3 1 1 1 1 3
3 1 1 2 2 2 1 1 2 1 1 2 2 1 1 1
2 2 1 1 2 2 2 2 1 2 3 2 2 1 2 2
2 2 1 2 1 2 1 2 2 2 2 3 1 3 1 3
1 1 1 2 1 1 2 2 2 1 2 2 3 1 2 1
1 1 2 3 1 1 1 2 2 2 1 1 1 1 1 1
1 1 1 2 1 2 2 2 1 2 3 3 3 1 2 2
2 3 2 1 2 1 1 1 1 2 2 2 1 2 2 1
3 2 3 1 1 3 1 3 3 2 2 3 2 2 2 2
1 2 1 3 1 1 1 2 2 2 2 1 3 3 2 1
1 1 2 3 2 1 2 2 2 1 1 1 3 1 2 2
单次循环移查表
运算规则:Ri = Li-1;Li = Ri ⊕ P(Li-1, Ki);
非线性函数:H=X⊕Y;I=(~X)⊕Y。
64 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 33
32 33 34 35 36 37
36 37 38 39 40 41
40 41 42 43 44 45
44 45 46 47 48 49
48 49 50 51 52 53
52 53 54 55 56 57
56 57 58 59 60 61
60 61 62 63 64 1
扩展置换表
实施例1,如图1所示,一种对称密钥加密方法,具体步骤为:
Step1:奇偶变换
将原始明文进行奇偶变换处理,调整明文的字符位置,并将变换后的奇数位记作L0,偶数位记作R0。例如明文为10101010,那么其奇数位为:1111,偶数位为:0000,调整后的明文为:11110000。
Step2:生成子密匙
将任意有限长度的密匙进行分组,通过密匙来决定迭代次数。
Step3:迭代过程
Li(64位)和Ri(64位)为第i次迭代结果的左半部分与右半部分,子密钥Ki为第i轮的96位加密密钥,通过P函数,得到最终加密后的数据。
如图2所示,所述Step2具体步骤为:
Step2.1:将任意有限长度的密匙进行分组处理,分成N个128bit的数据,不足128bit的进行补位,可以将首位补1,其余位补0。
Step2.2:对于单个128bit的数据,每8bit为一个校验位,将这些去除掉,然后进行置换,得到112bit的数据。
Step2.3:将112bit位的数据进行分组,把前56bit作为C,后56bit的数据作为D。
Step2.4:将前56bit数据进行分组,分成7个8bit的数据,将其第一小组作为循环方向,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格。
循环方向表中的1表示向右循环,-1表示向左循环。
例如第一小组为:11010111,将1101转换为10进制为13,0111转换为10进制为7,那么查询循环方向表时是表示第14行,第8列,对应的数为1,即表示向右循环。
Step2.5:将后56bit数据进行分组,分成7个8bit的数据,将其第一小组作为单次循环移位数,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格。
例如第一小组为:00101010,将0010转换为10进制为2,1010转换为10进制为10,那么查询循环方向表时是表示第3行,第11列,对应的数为2,即表示循环2位。
将C0中的第一小组与D0中的最后一组对应的信息进行结合,则得到的是向右循环2位。
Step2.6:将Step2.1中的N作为迭代次数,其中N为正整数。当N大于或等于12时,则只循环12次。所以至少有1次循环,最多循环12次。
Step2.7:得到的子密匙是112bit的数据,通过密匙压缩表进行有损压缩,得到96bit的数据。
默认的将第5、10、16、21、22、31、40、48、56、63、70、76、85、95、99、109位去除掉。
Step2.8:将奇偶变换得到的报文通过扩展置换变成96bit后,令其为X,则子密匙为Y。
Step2.9:判断子密匙首位字符,如果子密匙的首位字符为0,则使用H函数,如果子密匙的首位字符为1,则使用I函数。
Step2.10:通过H函数或者I函数的96位报文12字符长度为1组,共计8组。
Step2.11:
如果通过H函数得到的数据,那么将每组的前4位去除。
如果通过I函数得到的数据,那么将每组的后4位去除。
进行有损压缩,得到64字节的数据,通过运算规则,得到第一次迭代的结果。
如图3所示,所述Step3中,将初始置换进行数次的迭代,即进行加密变换,得到Li和Ri,将此进行组合,得到最终的密文输出块。
假设传输的明文为:11011101101001110100011000011101111
使用的密匙为:110001110010110011110100110000111000101100011
按照此方法,最终得到的密文为:10000001000010101010000101000
000000100000100001000010000001010011010110100010010110000000000000000000000000000000000000000000000
与现有技术相比,本发明具有以下特点:
1、通过输入任意长度的密匙长度,并且由密匙来决定迭代过程,增加了不确定性,从而增加算法的安全性。进一步保障了电通信过程中的数据安全。
2、减少了不必要的置换,增加了该算法在迭代过程中的效率,大大降低了算法的传输时间,使其具有高效性。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (1)

1.一种对称密钥加密方法,其特征在于:
Step1:将原始明文进行奇偶变换处理,调整明文的字符位置,并将变换后的奇数位记作L0,偶数位记作R0;
Step2:将任意有限长度的密匙进行分组,通过密匙来决定迭代次数;
Step3:Li64位和Ri64位为第i次迭代结果的左半部分与右半部分,子密钥Ki为第i轮的96位加密密钥,通过P函数,得到最终加密后的数据;
具体步骤为:
Step2.1:将任意有限长度的密匙进行分组处理,分成N个128bit的数据,不足128bit的进行补位,可以将首位补1,其余位补0;
Step2.2:对于单个128bit的数据,每8bit为一个校验位,将这些去除掉,然后进行置换,得到112bit的数据;
Step2.3:将112bit位的数据进行分组,把前56bit作为C,后56bit的数据作为D;
Step2.4:将前56bit数据进行分组,分成7个8bit的数据,将其第一小组作为循环方向,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格;
Step2.5:将后56bit数据进行分组,分成7个8bit的数据,将其第一小组作为单次循环移位数,将前4bit转换为10进制后作为行,后4bit转换为10进制后作为列,查询相对应表格;
Step2.6:将Step2.1中的N作为迭代次数,当N大于或等于12时,则只循环12次;
Step2.7:得到的子密匙是112bit的数据,通过密匙压缩表进行有损压缩,得到96bit的数据;
Step2.8:将奇偶变换得到的报文通过扩展置换变成96bit后,令其为X,则子密匙为Y;
Step2.9:判断子密匙首位字符,如果子密匙的首位字符为0,则使用H函数,如果子密匙的首位字符为1,则使用I函数;
Step2.10:通过H函数或者I函数的96位报文12字符长度为1组,共计8组;
Step2.11:
如果通过H函数得到的数据,那么将每组的前4位去除;
如果通过I函数得到的数据,那么将每组的后4位去除;
进行有损压缩,得到64字节的数据,通过运算规则,得到第一次迭代的结果。
CN202010929223.1A 2020-09-07 2020-09-07 一种对称密钥加密方法 Active CN112118097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010929223.1A CN112118097B (zh) 2020-09-07 2020-09-07 一种对称密钥加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010929223.1A CN112118097B (zh) 2020-09-07 2020-09-07 一种对称密钥加密方法

Publications (2)

Publication Number Publication Date
CN112118097A CN112118097A (zh) 2020-12-22
CN112118097B true CN112118097B (zh) 2021-10-08

Family

ID=73803241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010929223.1A Active CN112118097B (zh) 2020-09-07 2020-09-07 一种对称密钥加密方法

Country Status (1)

Country Link
CN (1) CN112118097B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259719A (zh) * 2021-05-13 2021-08-13 长春理工大学 一种基于sm4的视频加密方法及系统
CN113572592A (zh) * 2021-06-16 2021-10-29 昆明理工大学 一种非对称密匙加密方法
CN115277225A (zh) * 2022-07-29 2022-11-01 京东方科技集团股份有限公司 一种数据加密方法、解密方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057794A1 (de) * 2002-12-19 2004-07-08 Universität Potsdam Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung
CN107947916A (zh) * 2017-12-22 2018-04-20 四川大学 一种基于des算法的一体式加解密模块
CN108134664A (zh) * 2016-12-01 2018-06-08 钦州市晶通科技有限公司 一种数据加密的实现方法
CN108737070A (zh) * 2018-04-24 2018-11-02 国网山东省电力公司日照供电公司 基于改进des加密算法的电网移动终端数据传输方法
CN110677237A (zh) * 2019-11-04 2020-01-10 郑州轻工业学院 一种具有似混沌特性的文件加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783775A (zh) * 2004-12-04 2006-06-07 鸿富锦精密工业(深圳)有限公司 通过网络传递重要参数的方法
US8176568B2 (en) * 2005-12-30 2012-05-08 International Business Machines Corporation Tracing traitor coalitions and preventing piracy of digital content in a broadcast encryption system
CN101459510B (zh) * 2007-12-14 2012-06-27 成都市华为赛门铁克科技有限公司 实时传输数据的加密算法的实现方法及装置
CN105933115B (zh) * 2016-06-24 2019-02-05 合肥工业大学 一种基于超素数的rfid安全认证方法
CN108206736B (zh) * 2018-01-11 2019-03-15 衡阳师范学院 一种轻量级密码算法HBcipher实现方法与装置
CN109493268B (zh) * 2018-11-23 2021-12-21 合肥工业大学 基于web的应急救援物资分配与调度系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057794A1 (de) * 2002-12-19 2004-07-08 Universität Potsdam Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung
CN108134664A (zh) * 2016-12-01 2018-06-08 钦州市晶通科技有限公司 一种数据加密的实现方法
CN107947916A (zh) * 2017-12-22 2018-04-20 四川大学 一种基于des算法的一体式加解密模块
CN108737070A (zh) * 2018-04-24 2018-11-02 国网山东省电力公司日照供电公司 基于改进des加密算法的电网移动终端数据传输方法
CN110677237A (zh) * 2019-11-04 2020-01-10 郑州轻工业学院 一种具有似混沌特性的文件加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖亮等.基于云数据加密中多关键字的分类查询.《信息技术》.2017,(第04期),15. *

Also Published As

Publication number Publication date
CN112118097A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112118097B (zh) 一种对称密钥加密方法
EP3588838A1 (en) Chaotic map-based digital chaotic encryption method
Pramstaller et al. Exploiting coding theory for collision attacks on SHA-1
CN104737495A (zh) 校正量子密钥分配协议中的比特误差的排列方法
CN101938350B (zh) 一种基于组合编码的文件加密和解密的方法
US20110211688A1 (en) Data converter, data conversion method and program
Awad et al. Efficient image chaotic encryption algorithm with no propagation error
CN107292184B (zh) 图像加密方法、装置及密钥流生成方法和密钥流生成器
CN101895389B (zh) 采用比例计算的基于组合编码的文件加密和解密的方法
CN109861809B (zh) 一种实用化的分组随机加解密方法
CN116722968A (zh) 一种基于uwb的轻量化aes-128动态加密方法
CN105790930A (zh) 用于移动终端的信息加密方法、信息加密装置和移动终端
Yan et al. Information reconciliation protocol in quantum key distribution system
Mendel et al. On the collision resistance of RIPEMD-160
Mihaljević et al. An approach for stream ciphers design based on joint computing over random and secret data
Li et al. Related-tweak statistical saturation cryptanalysis and its application on QARMA
CN103427946A (zh) 数字信号传输系统及方法
CN110266321B (zh) 一种新的基于极化码的通信方法及系统
CN107493164B (zh) 一种基于混沌系统的des加密方法和系统
CN107888334B (zh) 基于lt码与ldpc码级联的随机编、译码器及方法
CN107769911B (zh) 一种基于Sponge结构的轻量级哈希函数构造方法
Huang et al. A hash function based on sponge structure with chaotic map for spinal codes
CN113572592A (zh) 一种非对称密匙加密方法
CN112887088B (zh) 一种高斯调制方法及连续变量量子安全直接通信系统
CN113422611B (zh) 一种qc-ldpc编码器的高度并行编码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant