动态的密钥生成方法和装置制造方法及图纸

技术编号:9620415 阅读:157 留言:0更新日期:2014-01-30 09:12
本发明专利技术提供了一种动态的密钥生成方法和装置,其中方法中预设采用M种哈希算法和N中对称加密算法生成密钥,包括:随机生成一个salt值,保存在目标文件中;往存储空间里重复填写明文密码和salt值若干遍;计算当前存储空间所有字节之和,对M取余数;根据第一余数选取对应的哈希算法;计算当前存储空间的哈希值;计算哈希值的字节之和,对N取余数;根据第二余数选取对应的对称加密算法;往存储空间重复填写明文密码和哈希值若干遍;对当前存储空间进行加密计算;循环执行所述步骤三至步骤九数遍,得到最终密文;对最后得到的存储空间数据进行哈希计算,得到最终验证密钥;将最终验证密钥保存到目标文件中。本发明专利技术提供的密钥生成方法有效提高了密码破解难度。

Dynamic key generation method and device

The invention provides a key generating method and device for dynamic, the method using preset key generation algorithm, M algorithm and symmetric encryption hash N includes: a randomly generated salt value stored in the object file to the storage space; repeat fill in the plaintext password and salt value several times; calculating the current storage the space of all bytes of M and take the remainder; according to the hash algorithm first select corresponding remainder current storage space; hash value; Hash byte and the N mod; according to the Eryushu symmetric encryption algorithm to select the corresponding storage space; fill in the plaintext password hash value and repeat several times; the storage space of the encryption algorithm; cycle to execute the steps three and nine times, get the final ciphertext; hash of the final data storage space Calculates the final authentication key; saves the final authentication key to the target file. The key generation method provided by the invention effectively improves the difficulty of password cracking.

【技术实现步骤摘要】
动态的密钥生成方法和装置
本专利技术涉及信息安全领域,特别地,涉及一种动态密钥生成方法和装置。
技术介绍
目前,越来越多的软件增加了数据加密功能,以保证数据的安全性以及对数据访问的限制,用户只有输入正确的密码才能访问加密的数据。例如,操作系统、网站、数据库等场合的登录验证,均是采用密码验证实现对数据的访问控制。现有技术实现数据访问控制的密码设置流程即加密流程为:输入密码,通过一定的加密算法生成相应的密钥,并保存到目标文件中。当用户访问数据时,需要首先通过密码验证。密码验证流程为:用户输入相应的密码,系统通过与设置密码时采用相同的加密算法,计算输入密码的密钥,并与上述目标文件中保存的密钥相比对,相同则说明密码正确,对加密的数据进行解密,供用户访问。对应的,密码恢复技术随着加密技术的产生也应运而生,字典破解、暴力破解等方式被广泛应用于密码恢复领域。密码破解速度直接决定了加密数据的安全性,破解速度越快,在更短的时间内密码就有可能被破解。为了提高安全性,目前,所有软件都是通过采用更安全的加密算法或者增加密码验证算法的计算量来达到降低破解速度的目的,例如增加某些算法的循环次数等。特别是近年来,随着并行计算设备,尤其是GPU的高速发展,此类设备被大量应用于密码恢复领域,致使密码破解速度与过去采用CPU计算的方式相比有了两个数量级以上的提升,以致过去安全性很高的算法在并行计算设备面前也大打折扣。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现现有技术存在以下问题: 为了提高信息安全性,降低密码破解风险,现有软件基本都是通过增加哈希算法的循环轮数来降低破解速度,但现有技术的缺点在于:一方面,现有技术采用的算法单一,流程固定,并且随着并行计算设备的发展,密码被破解的几率也随之增大;另一方面,哈希算法的循环轮数不可能无限制地增大,现有技术增加哈希算法循环轮数的方法虽然增加了破解的时间,但同时也增加了验证密码的时间,在一些对性能和实时性要求比较高的场合,通过增大循环轮数的方法行不通。总之,需要本领域技术人员迫切解决的一个技术问题就是:如何在将密码验证时间控制在合理范围内的前提下,提高密码破解难度。
技术实现思路
本专利技术所要解决的技术问题是提供一种动态的密钥生成方法及装置,能够在有限增加密码验证时间的情况下有效增加密码破解难度,提高信息安全性。为了解决上述问题,一方面提供了一种动态的密钥生成方法,首先预设采用M种哈希算法和N中对称加密算法生成密钥,具体包括:步骤一、随机生成一个salt值,保存在目标文件中; 步骤二、往一个空白存储空间里重复填写明文密码和所述salt值若 干遍; 步骤三、计算当前存储空间所有字节之和,对M取余数,标记为第一余数; 步骤四、根据所述第一余数从所述M种哈希算法中选取对应的哈希算法; 步骤五、利用选取的哈希算法计算当前存储空间的哈希值; 步骤六、计算所述步骤五所得所述哈希值的字节之和,对N取余数,标记为第二余数; 步骤七、根据所述第二余数从所述N种对称加密算法中选取对应的对称加密算法; 步骤八、继续往存储空间里重复填写明文密码和所述步骤五所得所述哈希值若干遍; 步骤九、利用选取的对称加密算法对当前存储空间进行加密计算,得到中间密文; 步骤十、返回步骤三,循环执行所述步骤三至步骤九数遍,得到最终密文; 步骤十一、对最后得到的最终密文进行哈希计算,得到最终验证密钥; 步骤十二、将所述最终验证密钥保存到所述目标文件中。可选的,所述步骤一具体为:随机生成一个16飞4字节的salt值,保存在目标文件中。可选的,所述步骤二具体为:往一个空白存储空间里重复填写第一明文密码和所述salt值8~20遍。可选的,所述步骤八具体为:往所述存储空间里重复填写第二明文密码和所述步骤五计算的所述哈希值64~256遍。可选的,所述步骤十具体为:返回步骤三,循环执行所述步骤三至步骤九(16飞4)*y遍,得到最终密文;其中,密码长度因子I根据应用场合对性能和安全性的要求而调整。另一方面,本专利技术还提供了一种动态的密钥生成装置,包括算法预设单元,用于预设采用M种哈希算法和N中对称加密算法生成密钥,还包括: 随机值生成单元,用于生成一个salt值,保存在目标文件中; 第一写入单元,用于往一个空白存储空间里重复填写明文密码和所述随机值生成单元生成的所述salt值若干遍; 第一计算单元,用于计算当前存储空间的所有字节之和,对M取余数,标记为第一余数; 哈希算法选取单元,用于根据所述第一计算单元输出的第一余数从所述算法预设单元中选取对应的哈希算法; 哈希计算单元,用于利用所述哈希算法确定单元获取的哈希算法计算当前存储空间的哈希值; 第二计算单元,用于计算所述哈希计算单元获得的所述哈希值的字节之和,对N取余数,标记为第二余数; 对称加密算法选取单元,用于根据所述第二计算单元输出的第二余数从所述算法预设单元中选取对应的对称加密算法; 第二写入单元,用于继续往存储空间里重复填写明文密码和所述哈希计算单元输出的哈希值若干遍; 加密计算单元,用于利用所述对称加密算法选取单元选取的对称加密算法对当前存储空间进行加密计算,得到中间密文; 循环执行单元,用于循环调用所述第一计算单元至加密计算单元,循环执行对应操作数遍,得到最终密文; 验证密钥产生单元,用于对所述循环执行单元最后得到的最终密文进行哈希计算,得到最终验证密钥; 保存单元,用于存储各单元输出的中间数据并将所述验证密钥产生单元输出的最终验证密钥保存到所述目标文件中。可选的,所述随机值生成单元具体用于随机生成一个16飞4字节的salt值,保存在目标文件中。可选的,所述第一写入单元,具体用于往一个空白存储空间里重复填写明文密码和所述salt值8?20遍。可选的,所述第二写入单元,具体用于往所述存储空间里重复填写明文密码和所述哈希计算单元输出的哈希值64?256遍。可选的,所述循环执行单元,具体用于循环调用所述第一计算单元至加密计算单元,循环执行对应操作(16飞4) *y遍,得到最终密文;其中,密码长度因子y根据应用场合对密码验证效率和安全性的要求而调整。与现有技术相比,上述技术方案中的一个技术方案具有以下优点或有益效果: 本专利技术实施例提供的动态的密钥生成方法,在每一次加密算法前都有一次哈希计算,由此产生的哈希值作为临时密钥供本轮的对称加密算法使用。本专利技术技术方案克服了现有技术密码生成密钥过程中算法单一、流程固定的缺点,不同密码的计算流程都不尽相同,即使相同密码和相同的文件,由于不同时间算法产生的随机值即salt值是不同的,所以流程也不一样,因此无法预测出密码的具体使用的算法和流程,只有在每一步计算完成后才能得到确认;同时,本方案可以根据实际的安全需求引入不同的算法,扩展性强;计算流程的轮数也根据密码长短进行一定优化,一定程度上保证短密码的安全性。【附图说明】 图1是本专利技术一种动态的密钥生成方法实施例的流程图; 图2是本专利技术一种动态的密钥生成装置实施例的结构框图。【具体实施方式】为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本专利技术作进一步详细的说明。参照图1,示出了本专利技术动态的密钥生成方法实施例的本文档来自技高网
...

【技术保护点】
一种动态的密钥生成方法,其特征在于,首先预设采用M种哈希算法和N中对称加密算法生成密钥,具体包括:步骤一、随机生成一个salt值,保存在目标文件中;步骤二、往一个空白存储空间里重复填写明文密码和所述salt值若干遍;步骤三、计算当前存储空间所有字节之和,对M取余数,标记为第一余数;步骤四、根据所述第一余数从所述M种哈希算法中选取对应的哈希算法;步骤五、利用选取的哈希算法计算当前存储空间的哈希值;步骤六、计算所述步骤五所得所述哈希值的字节之和,对N取余数,标记为第二余数;步骤七、根据所述第二余数从所述N种对称加密算法中选取对应的对称加密算法;步骤八、继续往存储空间里重复填写明文密码和所述步骤五所得所述哈希值若干遍;步骤九、利用选取的对称加密算法对当前存储空间进行加密计算,得到中间密文;步骤十、返回步骤三,循环执行所述步骤三至步骤九数遍,得到最终密文;步骤十一、对最后得到的最终密文进行哈希计算,得到最终验证密钥;步骤十二、将所述最终验证密钥保存到所述目标文件中。

【技术特征摘要】
1.一种动态的密钥生成方法,其特征在于,首先预设采用M种哈希算法和N中对称加密算法生成密钥,具体包括: 步骤一、随机生成一个salt值,保存在目标文件中; 步骤二、往一个空白存储空间里重复填写明文密码和所述salt值若 干遍; 步骤三、计算当前存储空间所有字节之和,对M取余数,标记为第一余数; 步骤四、根据所述第一余数从所述M种哈希算法中选取对应的哈希算法; 步骤五、利用选取的哈希算法计算当前存储空间的哈希值; 步骤六、计算所述步骤五所得所述哈希值的字节之和,对N取余数,标记为第二余数; 步骤七、根据所述第二余数从所述N种对称加密算法中选取对应的对称加密算法; 步骤八、继续往存储空间里重复填写明文密码和所述步骤五所得所述哈希值若干遍; 步骤九、利用选取的对称加密算法对当前存储空间进行加密计算,得到中间密文; 步骤十、返回步骤三,循环执行所述步骤三至步骤九数遍,得到最终密文; 步骤十一、对最后得到的最终密文进行哈希计算,得到最终验证密钥; 步骤十二、将所述最终验证密钥保存到所述目标文件中。2.根据权利要求1所述的动态的密钥生成方法,其特征在于,所述步骤一具体为:随机生成一个16飞4字节的salt值,保存在目标文件中。3.根据权利要求1所述的动态的密钥生成方法,其特征在于,所述步骤二具体为:往一个空白存储空间里重复填写 第一明文密码和所述salt值8~20遍。4.根据权利要求1所述的动态的密钥生成方法,其特征在于,所述步骤八具体为:往所述存储空间里重复填写第二明文密码和所述步骤五计算的所述哈希值64~256遍。5.根据权利要求1所述的动态的密钥生成方法,其特征在于,所述步骤十具体为:返回步骤三,循环执行所述步骤三至步骤九(16飞4) *y遍,得到最终密文;其中,密码长度因子y根据应用场合对性能和安全性的要求而调整。6.一种动态的密钥生成装置,其特征在于,包括算法预设单元,用于预设采用M种哈希算法和N中对称加密算法生成密钥,还包括: 随机值生成单元,用于生成一个salt值,保存在目标文件中; 第一写...

【专利技术属性】
技术研发人员:张光斌张永光王海滨汤伟宾
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1