[发明专利]一种加密密钥的生成方法有效
申请号: | 201510042158.X | 申请日: | 2015-01-28 |
公开(公告)号: | CN104660398B | 公开(公告)日: | 2018-02-13 |
发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思数盾科技股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 王一斌,王琦 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加密 密钥 生成 方法 | ||
技术领域
本发明涉及信息安全技术,特别是涉及一种加密密钥的生成方法。
背景技术
目前,在数据加密领域,通常会先利用随机生成函数生成的随机数,来获取加密密钥。而,这些加密密钥往往可以被重复使用。即,当加密方采用上述随机生成函数生成随机数后,该随机数在下一次生成密钥时仍可以继续用于进行数据的加密,由于该随机数是用正确的随机生成函数生成的,因此,解密方仍会将接收到的加密数据视为合法的。这样,如果破解方一旦截获正确的随机数,就可以通过模拟程序的输入输出冒充合法用户与接收数据的一方进行数据通信,从而达到破解的目的。
由此可见,传统的利用随机数生成加密密钥的方法,由于生成密钥的随机数可以被重复使用,导致内存中加解密数据可以被固定,从而给破解方分析及逆向加密程序带来了很大的便利,因此存在容易被破解的风险。
发明内容
有鉴于此,本发明的主要目的在于提供一种加密密钥的生成方法,该方法可以提高密钥的安全性。
为了达到上述目的,本发明提出的技术方案为:
一种加密密钥的生成方法,包括:
a、加密设备根据当前用于生成密钥的进程和线程的标识号或上一次所生成的密钥,确定用于本次密钥生成的种子码;
b、获取当前的CPU时钟滴答数;
c、根据所述CPU时钟滴答数和所述种子码,生成本次的加密密钥。
综上所述,本发明提出的加密密钥的生成方法,先利用用于生成密钥的进程和线程的标识号或上一次所生成的密钥来生成种子码,然后再利用种子码和CPU时钟滴答数,进行密钥的生成。这样,种子码和CPU时钟相组合,使得密钥的生成不依赖于某一参数。而种子码是根据上一次生成的密钥得到的,具有随机性,即使CPU时钟被破解者固定,也可以确保每次生成的密钥是不同的,因此,可以避免密钥可重复性所导致的被破解风险,提高密钥的安全性。
附图说明
图1为本发明实施例一的方法流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:采用随机生成与CPU时钟相结合的方式,来生成密钥。这样,由于两种手段所得到的数据都具有不可重复性,因此,即使CPU时钟被破解者固定,也可以确保每次生成的密钥是不同的,从而可以避免密钥可重复性所导致的被破解风险。
图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
步骤101、加密设备根据当前用于生成密钥的进程和线程的标识号或上一次所生成的密钥,确定用于本次密钥生成的种子码。
本步骤,用于生成种子码,以便在后续步骤中与当前的CPU时钟滴答数相结合,来生成本次的加密密钥。
较佳地,本步骤可以采用下述方法实现:
如果本次所生成的密钥为首个密钥,则所述加密设备根据当前用于生成加密密钥的进程和线程的标识号,确定用于本次生成密钥的种子码;否则,所述加密设备根据上一次所生成的密钥,确定用于本次生成密钥的种子码。
上述方法中,对于首个密钥,加密设备将根据当前用于生成加密密钥的进程和线程的标识号来生成所述种子码,如此,可以使得种子码的初始值具有一定的随机性,从而可以进一步确保密钥的抗破解性。相应的,对于非首次生成的密钥,则根据上一次生成的密钥,来得到本次使用的种子码,由于每次生成的密钥是不同的,因此,每次密钥生成时所使用的种子码也将不同。
较佳地,当本次所生成的密钥为首个密钥时,加密设备可以按照预设的种子函数,利用所述进程和线程的标识号,计算所述用于本次生成密钥的种子码。
具体地,所述种子函数可以采用已有的数学函数实现,也可以由本领域技术人员根据实际需要进行设计。例如,较佳地,所述种子函数可以为其中,所述M为所述种子码,所述S1为所述进程的标识号;所述S2为所述线程的标识号,所述为异或符号。
这里,对于非首次生成的密钥,加密设备根据上一次所生成的密钥,确定用于本次生成密钥的种子码的具体方法,可以采用预设的函数实现,也可以,简单地直接把上一次生成的密钥作为本次的种子码,具体可由本领域技术人员根据实际需要进行确定。
步骤102、获取当前的CPU时钟滴答数。
本步骤用于获取CPU时钟滴答数,以便与步骤101中生成的种子码相结合进行运算,生成本次的加密密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思数盾科技股份有限公司,未经北京深思数盾科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510042158.X/2.html,转载请声明来源钻瓜专利网。