一种共享密钥生成方法和加解密方法

文档序号:7664665阅读:250来源:国知局
专利名称:一种共享密钥生成方法和加解密方法
技术领域
本发明涉及加密技术,特别是涉及一种共享密钥生成方法和加解密方法。
背景技术
目前,随着社会经济生活当中信息交流的日益频繁,信息安全越来越成 为信息交流中一个非常突出的问题,随着通信技术的不断进步,特别是随着 近年来网络技术的迅速发展,信息交流空前的便利和迅速,通信和网络技术 逐渐渗透到社会生活的各个层面,因此,对于信息安全提出了更高的要求。
为此,信息安全领域目前普遍采取的是方法公开的各种对称密钥加密方
法,来保障交流过程中的信息安全。对称密钥加密方法主要有Stream Ciphers 和Block Ciphers两种,Stream Ciphers力口密方法以字节为单位,Block Ciphers 加密方法以由一个或多个字节构成的字^: (block)为单位。当前流行的对 称密钥加密方法有DES ( Data Encryption Standard,数据加密标准)、AES (Advanced Encryption Standard,先进力口密才示〉,)禾口 IDEA( International Data Encryption Algorithm,国际数据加密方法)等。信息交流过程中,发送方选 用某种方法对明文进行加密得到密文,同时,发送方和接收方共同约定一个 解密的密钥,称为共享密钥(下文简称密钥),接收方利用这个密钥对接收 到的密文进行解密,得到初始的明文。由于密钥仅为信息交流双方所知,具 有良好的安全性,因此对称加密方法和密钥得到了广泛的采用。但是,该加 密方法的安全性建立在密钥的基础上,而密钥本身并无自动更新的机制,一 般都会长期采用同一个密钥进行信息交流,这无疑会增大密钥本身泄露的可 能性;同时,信息窃取者或黑客还可以通过拦截足够多数量的加密密文,利用计算或密码学规则推测出系统所采用的密钥。例如,曾经普遍使用的64 位共享密钥由于被黑客破解,现在已经无法继续使用,尽管现在已将共享密
钥的长度升级到了 128位,但仍然面临着被破解的潜在危险。
由上述可见,现有的对称密钥加密方法完全公开,其安全性完全依靠信 息交流双方约定的密钥且该密钥无法自动更新,密钥一旦丢失或泄漏,采取 该加密方法的全部信息都将受到严重的威胁,信息安全存在很大隐患。

发明内容
本发明实施例提供一种共享密钥的生成方法,能够进行共享密钥的自动 更新。
本发明实施例提供一种加解密方法,能够对信息进行加密和解密。 为达到上述目的,本发明的技术方案具体是这样实现的 一种共享密钥生成方法,该方法包括
生成包含三个随机数的随机种子组,任取其中两个为边随机种子,表示三 角形的两条边;
取另一个为角随机种子,表示所述两条边的夹角;
将由上述随机种子构成的三角形的第三条边的长度作为共享密钥。
一种力。密方法,该方法包括
生成两个边随机种子,表示三角形的两条边;生成角随机种子,表示所述 两条边的夹角;
将待加密的明文映射为角度集合,集合中每个元素表示的角度代表所述两 条边的夹角,计算出角度集合中每个角度与边随机种子构成的加密三角形的第 三条边的长度,所述加密三角形的第三条边的长度的集合构成加密后的密文。
一神解密方法,该方法包括
根据加密过程中生成的初始随机种子组,用边随机种子表示三角形的两条 边,用密文集合中的每个元素表示三角形的第三条边,计算出每个三角形中边 随机种子表示的两条边之间的夹角;得到的夹角组成角度集合,将该角度集合按照加密过程使用的映射规则 进行反映射,得到解密后的明文。
由上述的技术方案可见,本发明实施例的这种共享密钥生成方法和加解 密方法,采用三角几何的方法进行加解密,利用了已知三角形两条边无法唯 一确定该三角形的几何难题的特点,生成动态更新的密钥,消除了密钥的长 期共享带来的安全隐患,且加解密时只需进行简单的解三角形运算,降低了 加解密方法的计算复杂度,提高了加解密方法的安全性。


图1为本发明实施例中共享密钥生成流程示意图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举
实施例,对本发明进一步详细i^明。
本发明实施例基于几何三角法来产生自动更新的密钥和实现加解密。根 据三角形的特点,假设已知三角形的两条边,设为A、 B、以及这两条边之
间的夹角,设为根据两条边和夹角,可以唯一的确定第三条边。 图1示出了密钥的生成过程,包括
步骤101:随机产生三个整数随机种子A、 Bi和ai,分别作为三角形的 两条边和它们之间的夹角。其中A、 Bi称为边随机种子,ai称为角随机种子。
步骤102:根据随机种子组Ai、 Bi和ai,计算出它们所对应的三角形的 第三条边,将所述第三条边设为密钥K、
步骤103:随机种子组经过指定周期后进行更新,用密钥KJ替代Ai、 Bi中的任意一个,同时ai通过运算进行更新,从而形成新一组的随机种子组 A1、 B;和(XL
步骤104:判断通信过程是否结束。如果结束,则终止流程,否则返回 步骤102继续顺序执行,直到通信过程结束。需要说明的是,在上述密钥生成过程中,步骤101设置随机种子组的初
始值,因此仅在准备开始通信时执行;随机种子组Aj、 Bi和aJ分别代表三 角形的两边长和它们之间的夹角,至于生成的随机种子组中哪两个作为边随 机种子,哪个作为角随机种子,可以完全任意选择,只需要保证通信双方按 照同样的规则进行选择。
步骤103中密钥Ki可以替代Aj、 B'中的任意一个,较佳地,可以进一 步约定边规则,如规定每次用密钥Ki替代A、 Bi中较小/较大的一个,或者
用密钥Ki交替替代Ai、 Bi等等,总之只要保证通信双方用密钥Ki替代边随
机种子时按照同样规则进行选择即可,并不限制具体采用何种方式。
夹角ai进行角度的更新,可以选用各种角规则进行例如将初始ai进 行移位运算以得到新的角度ai,也可以通过布尔异或运算等方式进行更新。
此外,步骤103所述的指定周期表示可以根据实际应用的需要进行设 置,该周期在缺省情况下设置为一次通信过程的时长。这种情况下,系统在 每次通信结束后进行随机种子组的更新,显然此时不必再进行步骤104的判 断,这种方式下,系统釆用的是离线进行随机种子组更新的方式,虽然随机 种子组更新频率并不高,但由于离线模式可以完全隔离外界影响,因此具有 较高的安全性;同时,由于更新周期适中,不用耗费大量的系统资源和时间 进行随机种子组的更新计算,因此系统的加解密速度也较快。
若周期设置小于一次通信过程的时长,可以约定为通信双方每发送一定 的字节数据,随机种子组进行一次更新,或者约定每隔一定的时间随机种子 组进行一次更新等等。也可以设置为大于一次通信过程的时长,例如每天或 若干次通信过程后再进行随机种子组的更新。具体的规则由通信双方根据安 全级别和运算速度的要求设置,本发明实施例中并不进行具体限定。
采用上述方法,可以得到一种能够自动更新的密钥,因此,本发明实施 例中的密钥可以应用于现有技术中的众多加密方法,替代这些方法原本使用 的密钥,由于该密钥生成方法具备每通信过程结束后自动更新的功能,消除 了长期使用同一个共享密钥存在的潜在风险,因此为现有加解密方法提供了更高的安全性。
进一步地,所述密钥通过进行更新实现更高安全性的原理,也可以用来
对数据进行加解密处理。其原理为将待加密的明文转换为角度集合,随机 产生整数角随机种子和两个整数边随机种子;将边随机种子作为三角形的两 边,角度集合中的各角度元素分别作为所述三角形的两边的夹角,构成一组 三角形,称为加密三角形;边随机种子与角随机种子构成一个三角形,称为 更新三角形;分别计算加密三角形和更新三角形的第三边,其中加密三角形 的第三边构成的集合即为加密后的密文,更新三角形的第三边称作更新元。 具体加密流程包括
步骤l:随机产生两个边随机种子Ai和Bj,作为加密三角形的两条边; 同时,随机产生角随机种子ai。
步骤2:对需要加密的明文进行处理,将明文中的各元素按照一定的规 则分别映射得到角度集合{卩;}。
步骤3:由A、 BJ和ai计算得出更新元Kj,对由A、 Bi和Pi构成的加 密三角形进行运算,求得加密三角形的第三条边的长度Pi。
步骤4:每经过预先设置的指定周期,更新元KJ采用边规则替换边随机 种子,角随机种子采用角规则进行更新,得到新一组的随机种子组A、 BJ 禾口 a1。
步骤5:判断是否遍历完角度集合(PJ中的所有元素,若否,则返回继 续执行步骤3;若是,则结束加密流程,得到的集合(PJ即为明文经过加密 处理后得到的密文。
较佳地,上述步骤1和步骤2的顺序还可以互换。
需要说明的是,加密过程中所述的指定周期的设置与前文共享密钥生成 方法中所述相同,可以根据安全级别的不同,釆用离线或在线更新随机种子 组的方式进行加解密运算。在线更新方式下,系统设置的周期小于一次加密 过程的时长;而离线方式下,系统设置的指定周期为一次加密过程,加密方 采用一组随机种子组完成加密后,再进行随机种子组的更新,相应地,此时的加密流程不必执行步骤5。
本发明实施例所述的解密过程与加密过程相互独立,因此既可以与加密
过程同步,对生成的密文进行实时解密;也可以离线对接收到的密文进行解
密。进行解密时,需要预先获取加密过程中最初产生的初始随机种子组A、 Bi和ai,以便随机种子组进行后续更新时能够与加密过程对应。具体的解密
处理流程包括
步骤1:将加密过程时产生的初始随机种子Ai和B4殳为解密三角形的 两条边,a4殳为它们的夹角。
步骤2:由A、 Bi和ai计算得出更新元Kj,将密文集合(PJ中的元素 Pi作为解密三角形的第三条边,对由A1、 BJ和Pi构成的解密三角形进行运 算,求得AJ和Bi之间的夹角卩i。
步骤3:每经过预先设置的指定周期,更新元Ki采用边规则替换边随机 种子,角随机种子采用角规则进行更新,得到新一组的随机种子组Aj、 Bi 和a1。
步骤4:判断是否遍历完密文集合(PJ中的所有元素,若否,则返回继 续执行步骤2;若是,则得到角度集合很}并继续执行步骤5。
步骤5:将角度集合《PJ按照与加密过程相同的映射关系进行反映射处 理,得到各角度所对应的原始信息,则该原始信息即为解密得到的明文。
需要说明的是,解密过程中所述的指定周期的设置原理与前文加密过程 中指定周期的设置原理相同,且解密过程中的随机种子组更新方式需要与加 密方的规则保持一致。当系统设置的指定周期为一次解密过程,解密方采用 一组随机种子组完成解密后,再进行随机种子组的更新,此时的解密流程相 应地不必执行步骤4。
加解密过程中可能出现各种导致网络故障的意外情况,从而使得加解密 双方的随机种子组不同步,当通信连接恢复后加解密方由于随机种子组不同 步而无法继续通信。为了解决该问题,顺利完成加解密流程,较佳地,本发 明实施例还进一步设置了随机种子组同步方法,其具体的实现机制如下系统预先给加密方分配身份标识信息IDS,在加密方设置随机种子组更
新次数计数器Is,在解密方设置随机种子组更新次数计数器Ir。在加密过程
中,生成的初始随机种子组加解密双方经过通信后共同持有,随机种子组每
进行一次更新,计数器Is自加l,并发起同步过程使Ir保持与Is相等。
若网络保持正常状态,Is与Ir的值始终相等;若网络出现故障导致通 信中断,则在通信恢复后,Is与Ir的值有可能不同。加密方将Is的值与加 密方身份标识信息IDs进行哈希运算得到一个效验值,采用约定的加密算法 将该效验值连同Is和IDs —起进行加密后,将加密后得到的结果发送给解密 方。
解密方使用对应的解密方法对所述的加密结果进行解密,得到所述效验 值、IDs和Is的值,使用哈希算法从效验值得出IDs和Is,与解密得到的IDs 和Is进行比对,如果两组IDs和Is相同,则能够确认它们在传输过程中没 有被篡改。
将Is的值与Ir的值进行比较,若两者相等,则表示加解密方当前使用 的随机种子组相同,则继续使用当前随机种子组进行后续通信;若两者不同, 计算lls-lrl,其中I l表示取绝对值运算。lls-lrl的值表示在通信恢复前的时 间段内双方尚未同步的随机种子组的更新次数,则Is与Ir的值较小的一方 使用自身的当前随机种子组进行lls-lrl次更新后,得到的即为Is与Ir的值较 大的一方当前使用的随机种子组;或者Is与Ir的值较小的一方也可以利用 初始随机种子组进行Max(Is,Ir)次的更新后,得到Is与Ir的值较大的一方当 前使用的随机种子组,Max(Is,Ir)表示取Is和Ir中的最大值。
举例来说,如果Is〉Ir,则计算(Is-Ir),然后解密方利用其当前随机种子
组进行(Is-Ir)次更新后或者利用初始随机种子组进行Is次更新后,得到加密
方当前使用的随机种子组;反之,若Ir〉Is,则计算(Ir-Is),然后加密方利用
其当前随机种子组进行(Ir-Is)次更新后或者利用初始随机种子组进行Ir次更
新后,得到解密方当前使用的随机种子组。
此外,加密过程中的明文与角度集合之间的映射关系并无固定的规范,任何能够将明文信息明确且唯一地转换为角度信息的映射都是可以接受的; 同时,将明文转换为角度的映射关系可以是直接映射,即由明文直接一次映 射得到对应的角度,也可以是由明文经过两次或多次映射得到最终的角度, 只要保持加密过程与解密过程中的映射关系是相互对应的即可。
加解密过程中的更新元Kj的生成和更新方法与前文密钥生成过程中完
全相同,因此具体使用的边规则和角规则,此处不再赘述。
由上述可见,本发明实施例通过利用已知三角形两条边无法唯一确定该 三角形的几何难题,并配合能够自动更新的更新元来增加密码的安全性,保 证通信双方信息传递过程不易被第三方窃听和破解,从而加强了信息传递的 安全性。
同时,由于更新元和加解密算法中的计算过程都是简单的解三角形运
算,生成的更新元长度远小于现有技术中普遍使用的128比特位密钥的长 度,因此加解密运算速度也比采用现有密钥进行加解密的速度更快。
该加解密方法还特别适合应用于计算能力相对不高的无线通信领域,例 如手机终端与网络的鉴权、安全连接的建立等等过程。
应该理解,以上所述仅为本发明的较佳实施例,并非用于限定本发明的 精神和保护范围,任何熟悉本领域的技术人员所做出的等同变化或替换,都 应视为涵盖在本发明的保护范围之内。
权利要求
1、一种共享密钥生成方法,其特征在于,该方法包括生成包含三个随机数的随机种子组,任取其中两个为边随机种子,表示三角形的两条边;取另一个为角随机种子,表示所述两条边的夹角;将由上述随机种子构成的三角形的第三条边的长度作为共享密钥。
2、 根据权利要求1所述的方法,其特征在于,该方法进一步包括每经过 预先设置的指定周期,共享密钥进行更新。
3、 根据权利要求2所述的方法,其特征在于,所述共享密钥进行更新的方 法为按照预先约定的边规则,用得到的共享密钥替代所述边随机种子的其中一 个,形成一组新的边随机种子;按照预先选定的角规则,角随机种子进行更新;根据新的边、角随机种子,计算出由它们构成三角形的第三条边,作为新 的共享密钥。
4、 一种加密方法,其特征在于,该方法包括生成两个边随机种子,表示三角形的两条边;生成角随机种子,表示所述 两条边的夹角;将待加密的明文映射为角度集合,集合中每个元素表示的角度代表所述两 条边的夹角,计算出角度集合中每个角度与边随机种子构成的加密三角形的第 三条边的长度,所述加密三角形的第三条边的长度的集合构成加密后的密文。
5、 根据权利要求4所述的加密方法,其特征在于,所述计算出角度集合中 每个角度与边随机种子构成的加密三角形的第三条边的长度之后进一步包括每经过预先设置的指定周期,随机种子组进行更新,并继续计算角度集合 中其它元素与边随机种子构成的加密三角形第三条边的长度,直到遍历完集合 中所有的元素。
6、 根据权利要求5所述的加密方法,其特征在于,所述随机种子组进行更新的方法为计算出表示边随机种子与角随机种子构成的更新三角形第三条边的更新元;按照预先约定的边规则,用得到的更新元替代所述边随机种子的其中一个, 形成一组新的边随4几种子;按照预先选定的角规则,角随机种子进行更新。
7、 一种解密方法,其特征在于,该方法包括根据加密过程中生成的初始随机种子组,用边随机种子表示三角形的两条 边,用密文集合中的每个元素表示三角形的第三条边,计算出每个三角形中边 随机种子表示的两条边之间的夹角;得到的夹角组成角度集合,将该角度集合按照加密过程使用的映射规则进 行反映射,得到解密后的明文。
8、 根据权利要求7所述的解密方法,其特征在于,所述计算出每个三角形 中边随机种子表示的两条边之间的夹角之后进一 步包括每经过预先设置的指定周期,随机种子组进行更新,并计算密文中其它元 素与边随机种子构成三角形中边随机种子表示的两条边之间的夹角,直到遍历 完密文中所有的元素。
9、 根据权利要求8所述的解密方法,其特征在于,所述随机种子组进行更 新的方法为计算出表示边随机种子与角随机种子构成的更新三角形第三条边的更新元;按照预先约定的边规则,用得到的更新元替代所述边随机种子的其中一个,形成一组新的边随4几种子;按照预先选定的角规则,角随机种子进行更新。
全文摘要
本发明公开了一种共享密钥生成方法,包括生成随机种子组,任取其中两个为边随机种子,表示三角形的两条边;取另一个为角随机种子,表示所述两条边的夹角;将由上述随机种子构成三角形第三条边的长度作为共享密钥。本发明还公开了一种加密方法,包括生成边随机种子,表示三角形的两条边;生成角随机种子,表示所述两条边的夹角;将明文映射为角度集合,集合中每个元素表示的角度代表所述两条边的夹角,计算出角度集合中每个角度与边随机种子构成的加密三角形的第三条边的长度,所述加密三角形的第三条边的长度的集合构成加密后的密文。本发明消除了共享密钥的长期共享带来的安全隐患,降低了加解密方法的计算复杂度,提高了加解密方法的安全性。
文档编号H04L9/18GK101414903SQ200710175938
公开日2009年4月22日 申请日期2007年10月16日 优先权日2007年10月16日
发明者吴显平, 李浦东 申请人:吴显平
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1