CN108134664A - 一种数据加密的实现方法 - Google Patents
一种数据加密的实现方法 Download PDFInfo
- Publication number
- CN108134664A CN108134664A CN201611091142.9A CN201611091142A CN108134664A CN 108134664 A CN108134664 A CN 108134664A CN 201611091142 A CN201611091142 A CN 201611091142A CN 108134664 A CN108134664 A CN 108134664A
- Authority
- CN
- China
- Prior art keywords
- iteration
- des
- implementation method
- result
- permutation
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种数据加密的实现方法,把明文M通过一个初始置换,转换成M0,并分成左右两个32为长度的部分,即L0和R0,然后将R0与子密钥K1进行F函数的运算,结果在与L0进行异或,异或后的结果与L0进行左右交换,成为L1和R1,如此进行16次迭代,再经过一个木置换(初始置换的逆置换)得到密文;所述实现方法包括两个部分:DES加密算法和解密算法的实现、DES密钥计算。本发明提供的数据加密方法采用DES加密算法,通过增加迭代轮数来加强DES加密的强度,新的密码觉有很高的安全性,同时也有很强的灵活性,为信息加密安全将提供了强有力的保障。
Description
技术领域
本发明涉及加密技术领域,具体涉及一种数据加密的实现方法。
背景技术
在中国,网民的人数已经达到了3亿。每天人们都要通过计算机和网络进行生活、工作、学习、娱乐等活动。这些活动都需要依靠信息在网络中的传输来完成。其中包括了一些十分敏感的个人信息,如银行卡账户信息,公民个人身份信息等。这些信息都是和人民的切身利益紧密相关。如果信息被盗,那将会为人民带来巨大的损失。
近年来,以淘宝,阿里巴巴等为代表的电子商务蓬勃发展。2008年,中国的电子商务交易总额已经突破了3万亿人民币大关,达到了GDP总量的10%,年增长率也达到了50%。电子商务已经成为我国经济发展的强大的助推力。不仅仅是电子商务,其他计算机和网络相关的信息产业在中国也得到了大力的发展。它们所创造的经济效益也在逐年快速增长,已经成为中国经济发展不可或缺的部分和强大动力。
电子政务也是近年来的信息化建设的重点。电子政务是指政府机构运用现代化的网络通讯技术和计算机技术,把政府管理和服务职能通过简单、优化、整合、重组后到网上实现,打破时间、空间以及条块的制约,为社会公众以及自身提供一体化的高效、优质廉洁的管理和服务。它不仅能提高政府的工作效率和工作透明度,也使人民群众更好的实行监督的权利。因此,电子政务的建设受到了政府的极大的关注和投入。政府部门经常通过网络进行传输一些文件资料。有些文件包含了涉及国家安全的机密资料,一旦泄露,将为我国国家安全和社会安定带来巨大威胁。我们需要对这些资料进行保护,保证其安全的传输和储存。
办公自动化是现在企业信息化建设的重要步骤。企业把信息资源和重要文件都以电子文档的形式存放在服务器上,以方便各部门、各公司之间的文档调用,这样能很大程度上提高工作效率。目前,各大公司都纷纷建设办公自动化。有许多涉及商业机密的文件也一同被放在服务器上。这些资料也需要严格保护。
发明内容
本发明针对上述所要解决的问题,提供一种数据加密的实现方法。
为实现本发明的目的,本发明所采用的技术方案是:
一种数据加密的实现方法, 把明文M通过一个初始置换,转换成M0,并分成左右两个32为长度的部分,即L0和R0,然后将R0与子密钥K1进行F函数的运算,结果在与L0进行异或,异或后的结果与L0进行左右交换,成为L1和R1,如此进行16次迭代,再经过一个木置换(初始置换的逆置换)得到密文;所述实现方法包括两个部分:DES加密算法和解密算法的实现、DES密钥计算。
所述DES加密算法实现方法为:(1)将明文分成多个64bit的组,不足64bit的以适当的形式补足;(2)进行16轮的相同的运算,这些运算被称为函数F,即Li=Ri-1,Ri=Li-1⊕+f(Ri-1,Ki)(1≤i≤16).Ki为第i轮计算中使用的子密钥。
所述DES加密算法以第一次迭代为例,更具体的方法是:(1)将64bit大小的分组M分为左右两个大小均为32bit的部分L0,R0;(2)保持L0不变,根据固定替换表E把R0由32位扩展成48位。把扩展后的48位R0与第1次迭代生成的48位加密密钥进行按位异或操作,形成一个新的48位的R;(3)把R视为8个6bit的分组,每个6bit组依次与S盒进行替换运算,第一个比特和最后一个比特组合来确定S盒中的行,中间四位二进制数确定S盒中的列,由行列所对应的数转换为4bit来替换6bit的组,由此将48bit的R转换为32bit,接着将R与固定的置换P来进行置换,得到函数F的结果P(C);(4)将函数F的结果P(C)与L0进行异或运算,结果为R1,L1的值为R0,DES需要进行16次的迭代,在完成之前,把第i-1次得到的L和R的值作为第i次的输入数据,第i次迭代要选择第i次迭代生成的密钥与数据进行按位异或,应用初始置换IP的逆置换IP-1对L16R16进行置换,得到密文C。
所述解密方法为:对密文C逆序使用密钥方案,输出明文M。
所述DES密钥计算方法为:(1)对于一个给定的初始密钥K,删除其中的8位的校验位,然后进行如下运算:PC-1(K)=C0D0,PC-1是对余下56位的固定置换,并将结果分为28bit的C0,D0两个部分;(2)计算Ci=LSi(Ci-1),Di=LSi(Di-1),Ki=PC-2(CiDi)(1≤i≤16),LSi表示一个位置或者两个位置的向左循环移位,PC-2表示为另外一个固定置换;(3)经过16次迭代过后,生产16个48为的子密钥。
所述DES算法的前15次迭代每完成一次迭代都要交换L和R的值,第16次迭代不交换两者的数值。
本发明提供的数据加密方法采用DES加密算法,通过增加迭代轮数来加强DES加密的强度,新的密码觉有很高的安全性,同时也有很强的灵活性,为信息加密安全将提供了强有力的保障。
具体实施方式
下列对本发明的实施作进一步的说明,以便本领域的技术人员能够更好的理解并实施。
实施例1
一种数据加密的实现方法,包括两个部分:DES加密算法和解密算法的实现、DES密钥计算。
DES加密算法实现方法为:(1)将明文分成多个64bit的组,不足64bit的以适当的形式补足;(2)进行16轮的相同的运算,这些运算被称为函数F,即Li=Ri-1,Ri=Li-1⊕+f(Ri-1,Ki)(1≤i≤16).Ki为第i轮计算中使用的子密钥。
以第一次迭代为例,更具体的方法是:(1)将64bit大小的分组M分为左右两个大小均为32bit的部分L0,R0;(2)保持L0不变,根据固定替换表E把R0由32位扩展成48位。把扩展后的48位R0与第1次迭代生成的48位加密密钥进行按位异或操作,形成一个新的48位的R;(3)把R视为8个6bit的分组,每个6bit组依次与S盒进行替换运算,第一个比特和最后一个比特组合来确定S盒中的行,中间四位二进制数确定S盒中的列,由行列所对应的数转换为4bit来替换6bit的组,由此将48bit的R转换为32bit,接着将R与固定的置换P来进行置换,得到函数F的结果P(C);(4)将函数F的结果P(C)与L0进行异或运算,结果为R1,L1的值为R0,DES需要进行16次的迭代,在完成之前,把第i-1次得到的L和R的值作为第i次的输入数据,第i次迭代要选择第i次迭代生成的密钥与数据进行按位异或,应用初始置换IP的逆置换IP-1对L16R16进行置换,得到密文C。
解密方法为:对密文C逆序使用密钥方案,输出明文M。
DES密钥计算方法为:(1)对于一个给定的初始密钥K,删除其中的8位的校验位,然后进行如下运算:PC-1(K)=C0D0,PC-1是对余下56位的固定置换,并将结果分为28bit的C0,D0两个部分;(2)计算Ci=LSi(Ci-1),Di=LSi(Di-1),Ki=PC-2(CiDi)(1≤i≤16),LSi表示一个位置或者两个位置的向左循环移位,PC-2表示为另外一个固定置换;(3)经过16次迭代过后,生产16个48为的子密钥。DES算法的前15次迭代每完成一次迭代都要交换L和R的值,第16次迭代不交换两者的数值。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (6)
1.一种数据加密的实现方法, 把明文M通过一个初始置换,转换成M0,并分成左右两个32为长度的部分,即L0和R0,然后将R0与子密钥K1进行F函数的运算,结果在与L0进行异或,异或后的结果与L0进行左右交换,成为L1和R1,如此进行16次迭代,再经过一个木置换(初始置换的逆置换)得到密文;其特征在于,所述实现方法包括两个部分:DES加密算法和解密算法的实现、DES密钥计算。
2.如权利要求1中所述的一种数据加密的实现方法,其特征在于,所述DES加密算法实现方法为:(1)将明文分成多个64bit的组,不足64bit的以适当的形式补足;(2)进行16轮的相同的运算,这些运算被称为函数F,即Li=Ri-1,Ri=Li-1⊕+f(Ri-1,Ki)(1≤i≤16).Ki为第i轮计算中使用的子密钥。
3.如权利要求2中所述的一种数据加密的实现方法,其特征在于,所述DES加密算法以第一次迭代为例,更具体的方法是:(1)将64bit大小的分组M分为左右两个大小均为32bit的部分L0,R0;(2)保持L0不变,根据固定替换表E把R0由32位扩展成48位;
把扩展后的48位R0与第1次迭代生成的48位加密密钥进行按位异或操作,形成一个新的48位的R;(3)把R视为8个6bit的分组,每个6bit组依次与S盒进行替换运算,第一个比特和最后一个比特组合来确定S盒中的行,中间四位二进制数确定S盒中的列,由行列所对应的数转换为4bit来替换6bit的组,由此将48bit的R转换为32bit,接着将R与固定的置换P来进行置换,得到函数F的结果P(C);(4)将函数F的结果P(C)与L0进行异或运算,结果为R1,L1的值为R0,DES需要进行16次的迭代,在完成之前,把第i-1次得到的L和R的值作为第i次的输入数据,第i次迭代要选择第i次迭代生成的密钥与数据进行按位异或,应用初始置换IP的逆置换IP-1对L16R16进行置换,得到密文C。
4.如权利要求1中所述的一种数据加密的实现方法,其特征在于,所述解密方法为:对密文C逆序使用密钥方案,输出明文M。
5.如权利要求1中所述的一种数据加密的实现方法,其特征在于,所述DES密钥计算方法为:(1)对于一个给定的初始密钥K,删除其中的8位的校验位,然后进行如下运算:PC-1(K)=C0D0,PC-1是对余下56位的固定置换,并将结果分为28bit的C0,D0两个部分;(2)计算Ci=LSi(Ci-1),Di=LSi(Di-1),Ki=PC-2(CiDi)(1≤i≤16),LSi表示一个位置或者两个位置的向左循环移位,PC-2表示为另外一个固定置换;(3)经过16次迭代过后,生产16个48为的子密钥。
6.如权利要求3中所述的一种数据加密的实现方法,其特征在于,所述DES算法的前15次迭代每完成一次迭代都要交换L和R的值,第16次迭代不交换两者的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611091142.9A CN108134664A (zh) | 2016-12-01 | 2016-12-01 | 一种数据加密的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611091142.9A CN108134664A (zh) | 2016-12-01 | 2016-12-01 | 一种数据加密的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108134664A true CN108134664A (zh) | 2018-06-08 |
Family
ID=62387638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611091142.9A Withdrawn CN108134664A (zh) | 2016-12-01 | 2016-12-01 | 一种数据加密的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108134664A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714315A (zh) * | 2018-11-27 | 2019-05-03 | 安徽华盈汽车技术有限公司 | 一种基于以太网电动汽车控制器程序远程升级方法 |
CN109862030A (zh) * | 2019-03-05 | 2019-06-07 | 浙江邦盛科技有限公司 | 一种校验传输数据安全性的方法 |
CN110601817A (zh) * | 2019-09-19 | 2019-12-20 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN110868717A (zh) * | 2019-12-04 | 2020-03-06 | 太原理工大学 | 一种基于des加密算法提高无线通信安全性方法 |
CN112118097B (zh) * | 2020-09-07 | 2021-10-08 | 昆明理工大学 | 一种对称密钥加密方法 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6914984B2 (en) * | 2000-06-08 | 2005-07-05 | Hynix Semiconductor, Inc. | Encryption apparatus using data encryption standard algorithm |
CN104301095A (zh) * | 2014-10-13 | 2015-01-21 | 深圳中科讯联科技有限公司 | Des轮运算方法和电路 |
CN105790930A (zh) * | 2016-04-29 | 2016-07-20 | 南京酷派软件技术有限公司 | 用于移动终端的信息加密方法、信息加密装置和移动终端 |
-
2016
- 2016-12-01 CN CN201611091142.9A patent/CN108134664A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6914984B2 (en) * | 2000-06-08 | 2005-07-05 | Hynix Semiconductor, Inc. | Encryption apparatus using data encryption standard algorithm |
CN104301095A (zh) * | 2014-10-13 | 2015-01-21 | 深圳中科讯联科技有限公司 | Des轮运算方法和电路 |
CN105790930A (zh) * | 2016-04-29 | 2016-07-20 | 南京酷派软件技术有限公司 | 用于移动终端的信息加密方法、信息加密装置和移动终端 |
Non-Patent Citations (1)
Title |
---|
丁显信: "DES算法的硬件实现方法研究及FPGA实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714315A (zh) * | 2018-11-27 | 2019-05-03 | 安徽华盈汽车技术有限公司 | 一种基于以太网电动汽车控制器程序远程升级方法 |
CN109862030A (zh) * | 2019-03-05 | 2019-06-07 | 浙江邦盛科技有限公司 | 一种校验传输数据安全性的方法 |
CN110601817A (zh) * | 2019-09-19 | 2019-12-20 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN110601817B (zh) * | 2019-09-19 | 2022-10-21 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN110868717A (zh) * | 2019-12-04 | 2020-03-06 | 太原理工大学 | 一种基于des加密算法提高无线通信安全性方法 |
CN112118097B (zh) * | 2020-09-07 | 2021-10-08 | 昆明理工大学 | 一种对称密钥加密方法 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108134664A (zh) | 一种数据加密的实现方法 | |
AU2016386405B2 (en) | Fast format-preserving encryption for variable length data | |
CN101447870B (zh) | 一种基于分布式口令技术的私钥安全存储方法 | |
Saraswat et al. | An extended hybridization of vigenére and caesar cipher techniques for secure communication | |
CN109245881A (zh) | 一种照片视频云端加密存储方法 | |
CN104396182A (zh) | 加密数据的方法 | |
Taghipour et al. | Implementation of software-efficient DES Algorithm | |
CN105184115A (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
JP2017187724A (ja) | 暗号化装置、暗号化方法、復号化装置、及び復号化方法 | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN103051446A (zh) | 一种密钥加密存储方法 | |
CN105095695A (zh) | 经由白箱实现的不正确功能行为实现授权 | |
Kumar et al. | A novel approach of symmetric key cryptography | |
CN108270545A (zh) | 一种基于移动互联网的改进的des数据加密算法 | |
Rajput et al. | An improved cryptographic technique to encrypt text using double encryption | |
Widiasari | Combining advanced encryption standard (AES) and one time pad (OTP) encryption for data security | |
Elmogy et al. | A New Cryptography Algorithm Based on ASCII Code | |
CN106656500A (zh) | 加密装置及方法 | |
CN110086633B (zh) | 一种区块链技术中密文防篡改方法 | |
CN105281893A (zh) | 用于引入白箱实现对串集合的依赖性的方法 | |
CN102622561A (zh) | 一种软件中调用数据的加密及解密方法 | |
Lin et al. | A new Feistel-type white-box encryption scheme | |
Manikandasaran et al. | MONcrypt: a technique to ensure the confidentiality of outsourced data in cloud storage | |
KR20010034058A (ko) | 이진 데이터 블록의 암호 변환 방법 | |
AB et al. | A New Security Mechanism for Secured Communications Using Steganography and CBA |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180608 |