一种基于中文哈希的加解密算法

文档序号:10690803阅读:390来源:国知局
一种基于中文哈希的加解密算法
【专利摘要】本发明涉及基于中文哈希的加解密算法,加密过程:读取密钥及要加密的数据;从内存申请缓冲区,设置其长度及后缀;选择哈希函数对数据进行处理,得到每个明文字符对应在密文中的位置;分割明文,申请缓冲区;将数据经过哈希函数处理后得到的临时值存放到缓冲区;对空白的缓冲区位置进行填补;对缓冲区每个字符进行字符加密;解密过程:读取密钥及密文,对输入密文进行处理;设置缓冲区大小及缓冲区后缀;选择哈希函数,分割密文;申请缓冲区,使用哈希函数确定密文在缓冲区位置;对缓冲区每个字符进行解密,截取后缀;把缓冲区的字符利用哈希函数组成明文。本发明保证了用户隐私数据的安全存储,用户可使用中文设计密码,便于记忆。
【专利说明】
一种基于中文哈希的加解密算法
技术领域
[0001 ]本发明涉及加解密方法,具体涉及基于中文哈希的加解密算法。
【背景技术】
[0002]随着各种信息系统的应用,人们有很多隐私的文本或密码需要记录在一个安全的存储空间,维持设计实现一个可以安全存储用户隐私的方法将很受欢迎。此外,人们对于密码的记忆,使用中文显然比字母和数字混合更容易被记住。然而,现有的加密解密技术,一般只允许用户使用字母、数字及一些特殊符号来组合密码,不便于用户记住。

【发明内容】

[0003]为了解决现有技术存在的问题,保证私密数据的安全,本发明提出一种基于中文哈希的加解密算法,采用对称加密算法,保证用户隐私数据的安全存储,用户可以使用中文设计密码,便于记忆。
[0004]本发明采用以下技术方案来实现:基于中文哈希的加解密算法,包括加密过程和解密过程,其中加密过程包括:
[0005]S11、读取密钥及要加密的数据;校验密钥是否正确,正确则执行步骤S12;
[0006]S12、从内存申请缓冲区,设置缓冲区长度及后缀;
[0007]S13、选择哈希函数对数据进行处理,得到每个明文字符对应在密文中的位置;
[0008]S14、分割明文,申请缓冲区;
[0009]S15、将数据经过哈希函数处理后得到的临时值存放到缓冲区;
[0010]S16、对空白的缓冲区位置进行填补;
[0011]S17、对缓冲区每个字符进行字符加密,得到最终的密文;
[0012]解密过程包括:
[0013]S21、读取密钥及密文,对输入的密文进行处理;校验密钥是否正确,正确则执行步骤 S22;
[0014]S22、设置缓冲区大小及缓冲区后缀;
[0015]S23、选择哈希函数,分割密文;
[0016]S24、申请缓冲区,使用哈希函数确定密文在缓冲区位置;
[0017]S25、对缓冲区每个字符进行解密,截取后缀;
[0018]S26、把缓冲区的字符利用哈希函数组成明文。
[0019]优选地,所述哈希函数为:一元η次方程法、除留余数法、随机数生成法或者密钥排序法。
[0020]优选地,步骤S17所述加密的符号为加减或者异或。
[0021 ]优选地,所述密钥为中文密钥。
[0022]与现有技术相比,本发明具有如下有益效果及优点:
[0023]1、本发明可以输入密钥和重要的文本数据作为用户特有的记忆组合信息进行加密,输入密文和密钥进行解密,在用户密钥不泄露的情况下,可完全保证用户加密后数据的安全,且不能在没有密钥的前提下利用密文得到任何有意义的明文,有效保护用户数据的安全。
[0024]2、本发明基于哈希思路实现,加密速度快。此外,基于本发明的加密算法,可以设计出多个加密程序,避免使用公用加密方法存在密钥被破解的可能性。
[0025]3、本发明可以使用中文加密,并充分利用中文的特性确保其安全性。例如,用户可以使用中文设计专属自己的加密密钥。如果忘记密钥,除了尝试密钥方法外没有其他方法可以得到数据内容,能有效地保护用户的隐私。
【附图说明】
[0026]图1是本发明的加密流程;
[0027]图2是本发明的解密流程。
【具体实施方式】
[0028]为了更加清楚地描述本发明,以下结合具体的实施例和附图,对本发明技术方案进行清楚、完整的描述,但本发明的实施方式不限于此。
[0029]实施例
[0030]本发明的加解密算法利用哈希函数进行加密,密钥可以使用中文。加密过程如图1所示,包括以下步骤:
[0031]S11、先对输入的数据进行处理:输入用户设置,读取密钥及要加密的数据;校验密钥(也可称之为密码)是否正确,正确则执行步骤S12;
[0032]S12、从内存申请缓冲区,设置缓冲区长度及后缀;
[0033]S13、选择哈希函数对数据进行处理,得到每个明文字符对应在密文中的位置;所述哈希函数可以选择:一元η次方程法、除留余数法、随机数生成法或者密钥排序法。
[0034]S14、分割明文,申请缓冲区;
[0035]S15、将数据经过哈希函数处理后得到的临时值存放到缓冲区;
[0036]S16、对空白的缓冲区位置进行填补;
[0037]S17、对缓冲区每个字符进行字符加密,得到最终的密文。加密符号可以使用异或、加减。
[0038]解密过程如图2,包括以下步骤:
[0039]S21、读取密钥及密文,对输入的密文进行处理;校验密钥是否正确,正确则执行步骤 S22;
[0040 ] S22、设置缓冲区大小及缓冲区后缀;
[0041]S23、选择哈希函数,分割密文;
[0042]S24、申请缓冲区,使用哈希函数确定密文在缓冲区位置;
[0043]S25、对缓冲区每个字符进行解密,截取后缀;
[0044]S26、把缓冲区的字符利用哈希函数组成明文。
[0045]本发明的实施方式并不受上述实施例的限制,其他任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1.一种基于中文哈希的加解密算法,其特征在于,包括加密过程和解密过程,其中加密过程包括: 511、读取密钥及要加密的数据;校验密钥是否正确,正确则执行步骤S12; 512、从内存申请缓冲区,设置缓冲区长度及后缀; 513、选择哈希函数对数据进行处理,得到每个明文字符对应在密文中的位置; 514、分割明文,申请缓冲区; 515、将数据经过哈希函数处理后得到的临时值存放到缓冲区; 516、对空白的缓冲区位置进行填补; 517、对缓冲区每个字符进行字符加密,得到最终的密文; 解密过程包括: 521、读取密钥及密文,对输入的密文进行处理;校验密钥是否正确,正确则执行步骤S22; 522、设置缓冲区大小及缓冲区后缀; 523、选择哈希函数,分割密文; 524、申请缓冲区,使用哈希函数确定密文在缓冲区位置; 525、对缓冲区每个字符进行解密,截取后缀; 526、把缓冲区的字符利用哈希函数组成明文。2.根据权利要求1所述的基于中文哈希的加解密算法,其特征在于,所述哈希函数为:一元η次方程法、除留余数法、随机数生成法或者密钥排序法。3.根据权利要求1所述的基于中文哈希的加解密算法,其特征在于,步骤S17所述加密的符号为加减或者异或。4.根据权利要求1所述的基于中文哈希的加解密算法,其特征在于,所述密钥为中文密钥。
【文档编号】H04L9/06GK106059750SQ201610345944
【公开日】2016年10月26日
【申请日】2016年5月20日
【发明人】姜文超, 林德熙, 谢纪东, 武继刚, 林穗, 滕少华, 刘竹松
【申请人】广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1