本发明涉及信息技术、安全技术,特别是一种基于md5的少量数据对称加密方法。
背景技术:
随着信息技术的发展,信息技术影响着人们生活的各个方面,随之而来的安全性的要求也就越来越高,人们对信息的保密性要求也越来越高,应用数据加密技术,保证了人们在活动中对自己的数据和一些相关资料的保密的要求,保证了信息技术的安全性和保密性。现在主流的数据对称加密方法有des、aes等,对于少量数据加密,使用des、aes等加密显得过于沉重。
技术实现要素:
本发明的目的在于,提供一种轻便的方法,应对少量数据的对称加密。
实现本发明的方案为:提供一种基于md5的少量数据对称加密方法,其特征是包括:实时生成的非重复md5基础数据、明文、密钥组标志、密钥组、密文。
进一步的,实时生成的非重复md5基础数据为32位16进制数,可通过将实时时间戳数据进行md5运算生成。
进一步的,明文只能为16进制以内数据,且必须有固定最大位数,最大位数不能超过md5基础数据的长度,加密时明文应对齐固定最大位数,实际数据不足最大位数时高位补0,明文最大位数越少,加密效果越好,明文最大位数越多,加密效果越差。
进一步的,通过密钥组标志,形成多套密钥组,增加密文的多样性,增加加密的破解难度,密钥组标志从md5基础数据中选取。
进一步的,每套密钥组是由多个密钥组成的数据组,加密时根据密钥组标志选择对应的密钥组;密钥组中的密钥与明文的每位数据一一对应,故每套密钥组中的密钥数量与明文最大位数相同;密钥的实质为md5基础数据的下标,故取值范围为0至31,却不能重复,不能与密钥组标志冲突;数据加密时,按密钥把md5基础数据上对应位置的数据置换为明文对应位置数据。
进一步的,经过加密处理后,密文看起来依然像md5基础数据。
本发明的优点是:主流程序开发语言都提供了md5运算,本发明按照密钥组,将明文数据拆分置换在md5基础数据中,以达到对称加密效果,程序算法轻便简单,加密结果稳定可靠。
具体实施方式
本发明提供一种基于md5的少量数据对称加密方法,其特征是包括:实时生成的非重复md5基础数据、明文、密钥组标志、密钥组、密文。
作为上述方案的改进,实时生成的非重复md5基础数据为32位16进制数,可通过将实时时间戳数据进行md5运算生成。
作为上述方案的改进,明文只能为16进制以内数据,且必须有固定最大位数,最大位数不能超过md5基础数据的长度,加密时明文应对齐固定最大位数,实际数据不足最大位数时高位补0,明文最大位数越少,加密效果越好,明文最大位数越多,加密效果越差。
作为上述方案的改进,通过密钥组标志,形成多套密钥组,增加密文的多样性,增加加密的破解难度,密钥组标志从md5基础数据中选取。
作为上述方案的改进,每套密钥组是由多个密钥组成的数据组,加密时根据密钥组标志选择对应的密钥组;密钥组中的密钥与明文的每位数据一一对应,故每套密钥组中的密钥数量与明文最大位数相同;密钥的实质为md5基础数据的下标,故取值范围为0至31,却不能重复,不能与密钥组标志冲突;数据加密时,按密钥把md5基础数据上对应位置的数据置换为明文对应位置数据。
作为上述方案的改进,经过加密处理后,密文看起来依然像md5基础数据。
具体来说,先将实时时间戳数据进行md5运算得到32位16进制的md5基础数据,此md5基础数据每毫秒可产生一次,极大的降低了密文的重复性,增强了混淆度。
在md5基础数据中选取固定一位或多位数据作为密钥组标志,根据密钥组标志和实际情况,预定一套或多套密钥组。
预定密钥组的实质是,为明文的每位数据对应绑定md5基础数据的下标作为密钥,这些密钥组成的数据组就是一套密钥组。
根据实际密钥组标志,采用对应的密钥组进行加密,按照明文、密钥、md5基础数据之间的对应关系,将md5基础数据上对应位置的数据置换为明文对应位置数据,加密完成后的32位16进制数据就是最终密文,此密文看起来依然像md5基础数据,只是密钥对应位置被置换为了明文数据,密文可以直接进行通信传输。
解密时,根据实际密钥组标志,采用对应的密钥组进行解密,按照明文、密钥、md5基础数据之间的对应关系,将密文中对应位置的数据提取出来,拼接还原出明文数据,操作简单方便。