CN109450618B - 一种基于md5的加密方法及系统 - Google Patents
一种基于md5的加密方法及系统 Download PDFInfo
- Publication number
- CN109450618B CN109450618B CN201910027132.6A CN201910027132A CN109450618B CN 109450618 B CN109450618 B CN 109450618B CN 201910027132 A CN201910027132 A CN 201910027132A CN 109450618 B CN109450618 B CN 109450618B
- Authority
- CN
- China
- Prior art keywords
- random number
- data
- encrypted
- binary data
- round
- 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
Links
Images
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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3026—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于MD5的加密方法及系统,所述方法包括以下步骤:S1,获取随机数网络、待加密数据和随机数种子;S2,从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;S3,对所述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数;S4,利用所述二进制数据对所述中间数进行按位异或运算,生成第二中间数;S5,利用所述第二中间数和所述待加密数据,进行下一个轮次的MD5运算,生成第三中间数;S6,利用所述第三中间数依次重复执行步骤S4和S5,直至MD5运算的轮次个数达到预设轮次,得到加密数据;所述方法解决了现有技术中开源加密算法容易被破解的问题,满足高安全性要求的业务需求。
Description
技术领域
本发明涉及数据加密技术领域,更具体地,涉及一种基于MD5的加密方法及系统。
背景技术
由于现代科学技术和通信基础设施的快速发展,网络已经成为信息交流的主要手段,信息安全也就变得越来越重要。在进行数据传输时,为了保证数据的安全性,通常需要采用加密算法对数据进行加密处理。具体加密时,大多采用哈希算法对数据加密,比如MD5算法、SHA1等等。但是,这些加密算法都是属于开源加密算法,算法机制已经完全透明,很容易被暴力破解。
发明内容
本发明的目的在于提供一种基于MD5的加密方法及系统,解决现有的信息加密方法容易被破解的问题,实现了一种具有随机性,加密效果更好,安全性更高的加密方法。
为实现上述目的,本发明提供了一种基于MD5的加密方法,包括以下步骤:
S1,获取随机数网络、待加密数据和随机数种子;
S2,从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;
S3,对所述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数;
S4,利用所述二进制数据对所述中间数进行按位异或运算,生成第二中间数;
S5,利用所述第二中间数和所述待加密数据,进行下一个轮次的MD5运算,生成第三中间数;
S6,利用所述第三中间数依次重复执行步骤S4和S5,直至MD5运算的轮次个数达到预设轮次,得到加密数据。
优选地,所述随机数网络是线性反馈移位寄存器。
优选地,所述随机数种子是16位二进制数据组成的数组。
本发明还提供了一种基于MD5的加密系统,包括:
数据获取模块,用于获取随机数网络、待加密数据和随机数种子;
二进制数据生成模块,用于从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;
中间数生成模块,用于对所述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数;
第二中间数生成模块,用于利用所述二进制数据对所述中间数进行按位异或运算,生成第二中间数;
第三中间数生成模块,用于利用所述第二中间数和所述待加密数据,进行下一个轮次的MD5运算,生成第三中间数;
加密模块,用于利用所述二进制数据对所述第三中间数进行按位异或运算,以及MD5运算,直至MD5运算的轮次个数达到预设轮次,得到加密数据。
优选地,所述随机数网络是线性反馈移位寄存器。
优选地,所述随机数种子是16位二进制数据组成的数组。
本发明与现有技术相比,具有以下优点及突出性效果:
本发明提供的一种基于MD5的加密方法及系统通过将随机数网络生成的随机二进制数据,对MD5运算过程中生成的中间数进行按位异或运算,再对按位异或运算之后的中间数继续进行MD5运算,这样使得最终得到的加密结果具有很好的随机性,安全性也更好,解决了现有技术中开源加密算法容易被破解的问题,可以满足高安全性要求的业务需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一公开的一种基于MD5的加密方法的流程示意图;
图2为本发明实施例二公开的一种基于MD5的加密系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,本发明实施例一公开了一种基于MD5的加密方法,包括以下步骤:
S1,获取随机数网络、待加密数据和随机数种子,具体来说,本实施例中的随机数种子是16位二进制数据组成的数组,在其他实施例中,随机数种子中组成数组的二进制数据也可以设置为其他位数,比如32位和64位;需要说明的是,该随机数种子必须是由非零值组成的;随机数种子中的数据可以根据需要指定格式,比如限定对应十进制数值在100至500之间的二进制数据,数组中二进制数据的个数。
上述随机数网络用于根据随机数种子持续生成伪随机数,该伪随机数是二进制数据,本实施例中,随机数网络采用的是线性反馈移位寄存器,线性反馈移位寄存器实现了每移位64次,即工作了64个时钟周期,就会产生一个二进制数据。本实施例的线性反馈移位寄存器对应的特征多项式为:。
S2,从上述随机数种子中获取随机数,依据该随机数和随机数网络,生成二进制数据;具体来说,先从随机数种子中获取随机数所在的序号,然后根据序号从数列管理器中取出该序号对应的随机数,随机数网络采用的就是线性反馈移位寄存器,其中该线性反馈移位寄存器对应的特征多项式中的指数对应的从左至右的抽头位,即抽头为在第64,4,3,2个比特,最后的常数1表示的是一个比特位的输入,将从随机数种子中获取到的随机数作为该随机数网络的输入,得到二进制数据。
S3,对上述待加密数据进行一个轮次的MD5运算,生成该轮次对应的中间数;对步骤S1中获取到的待加密数据进行一个轮次的MD5运算,生成的中间数也是二进制数据,然后利用随机数网络产生的二进制数据对该中间数进行按位异或运算,便于根据异或运算的结果对MD5加密运算的过程产生干预,使MD5运算过程具有一定的随机性,加密性能更好。
S4,利用上述二进制数据对上述中间数进行按位异或运算,生成第二中间数;具体来说,在MD5运算的过程中,将产生多个中间数,并且前一次运算产生的中间数是下一次运算的输入数据,这样就能够在生成中间数之后,对中间数进行干预,使运算过程具有随机性,将能够明显提高MD5加密的安全性。本实施例采用随机数网络产生的二进制数据和中间数进行按位异或运算,得到第二中间数,其中第二中间数作为下一次MD5运算的输入,由于随机数网络产生的二进制数据是不重复的,所以生成的第二中间数具有很好的随机性。
S5,利用上述第二中间数和待加密数据,进行下一个轮次的MD5运算,生成下一个轮次对应的中间数,即第三中间数。
S6,利用上述第三中间数依次重复执行步骤S4和S5,直至MD5运算的轮次个数达到预设轮次,得到加密数据;具体来说,随机数网络在持续的产生伪随机数的过程中,每次生成的随机数都是不重复的,所以经过随机数网络得到的二进制数据也是不同的,得到下一个轮次对应的中间数之后,将该中间数和新的二进制数据重复执行步骤S4和S5,直到运算的次数达到预设轮次,该预设轮次是可以根据需要预先设置的。然后得到了加密数据,最后将该加密数据转换为可见字符,即为加密结果。
实施例二
如图2所示,本实施例二公开了一种基于MD5的加密系统,包括:
数据获取模块201,用于获取随机数网络、待加密数据和随机数种子;具体来说,本实施例中的随机数种子是16位二进制数据组成的数组,在其他实施例中,随机数种子中组成数组的二进制数据也可以设置为其他位数,比如32位和64位;需要说明的是,该随机数种子必须是由非零值组成的;随机数种子中的数据可以根据需要指定格式,比如限定对应十进制数值在100至500之间的二进制数据,数组中二进制数据的个数。
上述随机数网络用于根据随机数种子持续生成伪随机数,该伪随机数是二进制数据,本实施例中,随机数网络采用的是线性反馈移位寄存器,线性反馈移位寄存器实现了每移位64次,即工作了64个时钟周期,就会产生一个二进制数据。本实施例的线性反馈移位寄存器对应的特征多项式为:。
二进制数据生成模块202,用于从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;具体来说,先从随机数种子中获取随机数所在的序号,然后根据序号从数列管理器中取出该序号对应的随机数,随机数网络采用的就是线性反馈移位寄存器,其中该线性反馈移位寄存器对应的特征多项式中的指数对应的从左至右的抽头位,即抽头为在第64,4,3,2个比特,最后的常数1表示的是一个比特位的输入,将从随机数种子中获取到的随机数作为该随机数网络的输入,得到二进制数据。
中间数生成模块203,用于对上述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数。
第二中间数生成模块204,用于利用上述二进制数据对上述中间数进行按位异或运算,生成第二中间数。
第三中间数生成模块205,用于利用上述第二中间数和待加密数据,进行下一个轮次的MD5运算,生成第三中间数。
加密模块206,用于利用上述二进制数据对第三中间数进行按位异或运算,以及MD5运算,直至MD5运算的轮次个数达到预设轮次,得到加密数据。
此外,关于所述加密系统的具体操作过程同上述加密方法所述,于此不再赘述。
本实施例公开的一种基于MD5的加密方法及系统通过将随机数网络生成的随机二进制数据,对MD5运算过程中生成的中间数进行按位异或运算,再对按位异或运算之后的中间数继续进行MD5运算,这样使得最终得到的加密结果具有很好的随机性,安全性也更好,解决了现有技术中开源加密算法容易被破解的问题,可以满足高安全性要求的业务需求。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于MD5的加密方法,其特征在于,包括以下步骤:
S1,获取随机数网络、待加密数据和随机数种子;
S2,从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;
S3,对所述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数;
S4,利用所述二进制数据对所述中间数进行按位异或运算,生成第二中间数;
S5,利用所述第二中间数和所述待加密数据,进行下一个轮次的MD5运算,生成第三中间数;
S6,利用所述第三中间数依次重复执行步骤S4和S5,直至MD5运算的轮次个数达到预设轮次,得到加密数据。
2.如权利要求1所述的一种基于MD5的加密方法,其特征在于,所述随机数种子是16位二进制数据组成的数组。
3.一种基于MD5的加密系统,其特征在于,包括:
二进制数据生成模块,用于从所述随机数种子中获取随机数,依据所述随机数和随机数网络,生成二进制数据;
中间数生成模块,用于对所述待加密数据进行一个轮次的MD5运算,生成所述轮次对应的中间数;
第二中间数生成模块,用于利用所述二进制数据对所述中间数进行按位异或运算,生成第二中间数;
第三中间数生成模块,用于利用所述第二中间数和所述待加密数据,进行下一个轮次的MD5运算,生成第三中间数;
加密模块,用于利用所述二进制数据对所述第三中间数进行按位异或运算,以及MD5运算,直至MD5运算的轮次个数达到预设轮次,得到加密数据。
4.如权利要求3所述的一种基于MD5的加密系统,其特征在于,所述随机数种子是16位二进制数据组成的数组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910027132.6A CN109450618B (zh) | 2019-01-11 | 2019-01-11 | 一种基于md5的加密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910027132.6A CN109450618B (zh) | 2019-01-11 | 2019-01-11 | 一种基于md5的加密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450618A CN109450618A (zh) | 2019-03-08 |
CN109450618B true CN109450618B (zh) | 2021-12-31 |
Family
ID=65544119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910027132.6A Active CN109450618B (zh) | 2019-01-11 | 2019-01-11 | 一种基于md5的加密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450618B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204755B (zh) * | 2021-04-20 | 2022-10-14 | 重庆工业职业技术学院 | 一种区块链大数据安全的数据抓取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1521982A (zh) * | 2003-01-28 | 2004-08-18 | 华为技术有限公司 | 一种提高键入-散列法运算速度的方法 |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
CN105760765A (zh) * | 2016-02-04 | 2016-07-13 | 北京致远协创软件有限公司 | 数据加密方法、装置及数据解密方法、装置 |
CN106533697A (zh) * | 2016-12-06 | 2017-03-22 | 上海交通大学 | 随机数生成与提取方法及其在身份认证上的应用 |
CN106919810A (zh) * | 2017-02-22 | 2017-07-04 | 广州广电运通金融电子股份有限公司 | 注册码生成方法及装置、软件注册方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391701A (zh) * | 2015-10-28 | 2016-03-09 | 济南知芯集成电路技术有限公司 | 一种数据加密方法和系统 |
US10742405B2 (en) * | 2016-12-16 | 2020-08-11 | The Boeing Company | Method and system for generation of cipher round keys by bit-mixers |
-
2019
- 2019-01-11 CN CN201910027132.6A patent/CN109450618B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1521982A (zh) * | 2003-01-28 | 2004-08-18 | 华为技术有限公司 | 一种提高键入-散列法运算速度的方法 |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
CN105760765A (zh) * | 2016-02-04 | 2016-07-13 | 北京致远协创软件有限公司 | 数据加密方法、装置及数据解密方法、装置 |
CN106533697A (zh) * | 2016-12-06 | 2017-03-22 | 上海交通大学 | 随机数生成与提取方法及其在身份认证上的应用 |
CN106919810A (zh) * | 2017-02-22 | 2017-07-04 | 广州广电运通金融电子股份有限公司 | 注册码生成方法及装置、软件注册方法及装置 |
Non-Patent Citations (2)
Title |
---|
一种带随机数MD5算法的设计与实现;张丽香;《软件》;20130315;摘要,第0-4部分 * |
消息摘要技术的研究与实现;祝彦斌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20141215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109450618A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
US20110211688A1 (en) | Data converter, data conversion method and program | |
KR20160106722A (ko) | 암호화 방법 및 암호화 장치 | |
Awad et al. | Efficient image chaotic encryption algorithm with no propagation error | |
CN110086600B (zh) | 一种基于超混沌系统和变步长约瑟夫问题的图像加密方法 | |
CN109861809B (zh) | 一种实用化的分组随机加解密方法 | |
Liu et al. | Chaos-based image hybrid encryption algorithm using key stretching and hash feedback | |
CA2414261A1 (en) | Method of encryption using multi-key process to create a variable-length key | |
ITGE20110091A1 (it) | Metodo di cifratura e decifratura | |
CN112134689A (zh) | 一种密文的生成方法及装置 | |
CN111082919B (zh) | 一种动态概率16cap映射加密方法 | |
Kish et al. | Enhanced usage of keys obtained by physical, unconditionally secure distributions | |
US9049004B2 (en) | Low-power encryption apparatus and method | |
Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
CN109450618B (zh) | 一种基于md5的加密方法及系统 | |
CN113726512A (zh) | 密钥生成和分发方法、密钥生成装置、密钥管理系统 | |
CN107493164B (zh) | 一种基于混沌系统的des加密方法和系统 | |
CN116094716A (zh) | 基于椭圆曲线密码学的文本加解密方法、系统及设备 | |
CN110943837B (zh) | 一种基于改进md5加密算法的用户密码加密方法 | |
CN113572592A (zh) | 一种非对称密匙加密方法 | |
CN112134690A (zh) | 一种密文的生成方法及装置 | |
Narayanaswamy et al. | HIDE: Hybrid symmetric key algorithm for integrity check, dynamic key generation and encryption | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
CN117896064B (zh) | 一种低计算开销超晶格孪生puf密钥同步方法及系统 | |
Wang et al. | Attack to an image encryption based on chaotic Logistic map |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: An encryption method and system based on MD5 Effective date of registration: 20220510 Granted publication date: 20211231 Pledgee: Jiangsu SINOSURE technology microfinance Co.,Ltd. Pledgor: QUALCHIP TECHNOLOGIES, Inc. Registration number: Y2022320000220 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |