一种动态密钥系统的建立及使用方法

文档序号:1478576 发布日期:2020-02-25 浏览:33次 >En<

阅读说明:本技术 一种动态密钥系统的建立及使用方法 (Method for establishing and using dynamic key system ) 是由 鲜明 于 2019-11-07 设计创作,主要内容包括:一种动态密钥系统的建立及使用方法,建立方法包括以下步骤:步骤1:选取n个正整数m&lt;Sub&gt;1&lt;/Sub&gt;,…,m&lt;Sub&gt;n&lt;/Sub&gt;作为固定秘钥,并使其满足条件1,并由秘密信道传输给解密方;当双方均具有m&lt;Sub&gt;1&lt;/Sub&gt;,…,m&lt;Sub&gt;n&lt;/Sub&gt;后,所述动态密钥系统的固定部分建立完毕;步骤2:由加密方按照条件2“随机选取”动态加密密钥a&lt;Sub&gt;1&lt;/Sub&gt;,…,a&lt;Sub&gt;n&lt;/Sub&gt;;由此,加密方可得到如下形式的数据分组:(a&lt;Sub&gt;1&lt;/Sub&gt;,m&lt;Sub&gt;1&lt;/Sub&gt;),…,(a&lt;Sub&gt;n&lt;/Sub&gt;,m&lt;Sub&gt;n&lt;/Sub&gt;)—定义为数据组1;步骤3:由加密方根据所选的a&lt;Sub&gt;1&lt;/Sub&gt;,…,a&lt;Sub&gt;n&lt;/Sub&gt;和条件3对应生成动态解密密钥a&lt;Sub&gt;1&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;,…,a&lt;Sub&gt;n&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;,并将a&lt;Sub&gt;1&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;,…,a&lt;Sub&gt;n&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;传输至解密方;由此,解密方可得到如下形式的数据分组:(a&lt;Sub&gt;1&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;,m&lt;Sub&gt;1&lt;/Sub&gt;),…,(a&lt;Sub&gt;n&lt;/Sub&gt;&lt;Sup&gt;-1&lt;/Sup&gt;,m&lt;Sub&gt;n&lt;/Sub&gt;)—定义为数据组2;当双方分别具有数据组1和数据组2后本次动态密钥系统的建立完成,并由步骤a和步骤b完成信息的加密和解密过程。(A method for establishing and using a dynamic key system comprises the following steps: step 1: n positive integers m are selected 1 ,…,m n As a fixed key, and makes it satisfy condition 1, and transmits it to the decryptor through a secret channel; when both parties have m 1 ,…,m n Then, the fixed part of the dynamic key system is established; step 2: the dynamic encryption key a is randomly selected by an encryption party according to the condition 2 1 ,…,a n (ii) a Thus, the encryptor can obtain a data packet of the form: (a) 1 ,m 1 ),…,(a n ,m n ) -defined as data set 1; and step 3: by the encrypting party according to a selected 1 ,…,a n Generating dynamic decryption Key a corresponding to Condition 3 1 ‑1 ,…,a n ‑1 And a is 1 ‑1 ,…,a n ‑1 Transmitting to a decryption party; thereby, decryptingData packets of the form: (a) 1 ‑1 ,m 1 ),…,(a n ‑1 ,m n ) -defined as data set 2; and when the two parties respectively have the data group 1 and the data group 2, the establishment of the dynamic key system is completed, and the encryption and decryption processes of the information are completed through the step a and the step b.)

一种动态密钥系统的建立及使用方法

技术领域

本发明涉及密码学技术领域,具体为一种动态密钥系统的建立和使用方法。

背景技术

随着数字化时代的到来和信息量的***性增长,信息安全已成为影响国家安全、社会稳定和经济发展的重要因素。由于超级计算机算力的快速提升和量子计算机的即将问世使得原有的信息加密技术面临前所未有的危机。那种仅依靠增加密钥长度来扩大密钥空间的传统方法将无法适应严峻形势的挑战。因为算力的增强将不断抵消由密钥空间的增大所带来的安全性。因此必须寻找一种的新方法来突破我们所面对的信息安全瓶颈。动态密钥系统就是在此背景下产生的一种新的信息加密技术。动态密钥系统依靠密文的无穷性、密钥个数的任意性、密钥形态的多样性和系统的动态性,以及“一次一密”等特征实现了系统的高安全性。

发明内容

本发明的目的在于提供一种新的加密技术——动态密钥系统,以解决算力的不断增强和攻击方法的多样性所带来的信息安全问题。

动态密钥系统有三种密钥形式。

1.固定密钥:m1,…,mn。m1,…,mn为n(n>1)个正整数,m1<…<mn(定义为条件1)。

2.动态加密密钥:a1,…,an。(a1,m1)=1,…,(an,mn)=1(定义为条件2)。

3.动态解密密钥:a1 -1,…,an -1。a1 -1a1≡1(mod m1),…,ai -1a1≡1(mod mi)(定义为条件3)。

动态密钥系统的建立过程和使用方法包括以下步骤:

步骤1:选取n个正整数m1,…,mn作为固定秘钥,并使其满足条件1,并由秘密信道传输给解密方。当双方均具有m1,…,mn后,该系统的固定部分就建立了。(在不需要废除该系统之前双方将始终保存m1,…,mn而不作改变。这也是m1,…,mn被称为固定密钥的原因所在。)

步骤2:由加密方按照条件2“随机选取”动态加密密钥a1,…,an(因为在不指定剩余系的情况下对于mi而言必有无穷多个ai满足(ai,mi)=1),这就为为“随机选取”ai提供了条件)。由此,加密方可得到如下形式的数据分组:

(a1,m1),…,(an,mn)—定义为数据组1。

步骤3:由加密方根据所选的a1,…,an和条件3对应生成动态解密密钥a1 -1,…,an -1(建议采用欧几里得第二算法来生成动态解密密钥),并将a1 -1,…,an -1传输至解密方。(注:为了不暴露此次传输的动态解密密钥的个数n,一般可在a1 -1,…,an -1的后面追加若干个无用的数据作为“掩护”)

由此,解密方可得到如下形式的数据分组:

(a1 -1,m1),…,(an -1,mn)—定义为数据组2。

当双方分别具有数据组1和数据组2后本次动态密钥系统的建立过程就完成了。于是,本发明的使用方法如下:加密方可根据如下步骤4将明文x加密成密文yn。解密方可根据如下步骤5将密文yn解密为明文x。

步骤a:把数据组1的各分组数据对应作为如下n个同余式的已知参数。

y1≡a1x(mod m1),…,yn≡an yn-1(mod mn) (1)

根据y1≡a1x(mod m1),由明文x(0<x<m1)可得唯一y1(0<y1<m1);

根据y2≡y1x(mod m2),由已得y1可得唯一y2(0<y2<m2);

……

根据yn≡an yn-1(mod mn),由已得yn-1可得唯一yn(0<yn<mn)。

yn为密文。所以,加密过程就是由x得到yn的过程。

步骤b:把数据组2的各分组数据反向对应作为如下n个同余式的已知参数。

yn-1′≡an -1yn(mod mn),…,x≡a1 -1y1′(mod m1) (2)

根据yn-1′≡an -1yn(mod mn),由密文yn可得唯一yn-1′(0<yn-1′<mn);

根据yn-2′≡an -1yn-1′(mod mn-1),由已得yn-1′可得唯一yn-2′(0<yn-2′<mn-1);

……

根据x≡a1 -1y1′(mod m1),由已得y1′可得唯一x(0<x<m1)。

x为明文。所以,解密过程就是由yn得到x的过程。

应该指出的是,由数据组2还可得

y1≡a1 -1x(mod m1),…,yn≡an -1yn-1(mod mn) (3)

由数据组1还可得

yn-1′≡an yn(mod mn),…,x≡a1 y1′(mod m1) (4)

如果yn由式(3)和x按步骤4得出,那么,由yn和式(4)就可按步骤5得到x。也就是说,当双方分别持有数据组1和数据组2后,他们将同时具有加密和解密的能力。所以,数据组1和数据组2构成了一个完整的加解系统。

与现有技术相比,本发明提供了一种动态密钥系统的建立及使用方法,具备以下有益效果:

1、本发明与传统密码系统的显著区别之一是系统的动态性特征。由于固定密钥m1,…,mn可对应(无穷)多组动态加密密钥a1,…,an和动态解密密钥a1 -1,…,an -1,这就为系统的动态性的产生提供了条件。一个已完成的动态密钥系统称为成熟系统。每一个成熟系统可作为一个多次使用的私钥系统。在每次运行系统之前对成熟系统中的动态密钥a1,…,an和a1 -1,…,an -1作部分或全部修改后生成的新系统称为再新系统。再新系统的建立过程可以由机器自动完成而不受人的干预。如果每次信息传输均采用再新系统,则意味着“一次一密”这种理想的加密方式的真正实现。

2、本发明与传统密码系统的显著区别之二是动态解密密钥与固定秘钥的相关性为零。尽管动态解密密钥a1 -1,…,an -1是由公共信道传输的,具有公钥秘钥的性质,攻击者可轻松获得它。但是,当a1 -1,…,an -1为动态解密密钥时,每一组a1 -1+k1m1,…,an -1+knmn(k1,…,kn任意为正整数)均可作为动态解密密钥,而系统的性质不会发生任何变化。同时,每一个ai -1必有无穷多个mi满足(ai,mi)=1)。这就使得动态解密密钥与固定秘钥的相关性为零。所以,攻击者将永远无法通过动态解密密钥得到固定密钥m1,…,mn。而在攻击者没有得到全部固定密钥之前,本系统就是绝对安全的。

3、本发明与传统密码系统的显著区别之三是密钥个数的任意性。因为攻击者无法用任何数学手段获得本系统的密钥个数n,也就无法用任何数学手段获得固定密钥。因此,本系统的密钥空间为无穷大,而且不取决于密钥长度。密钥个数的任意性包含两层含义:一是在系统的建立之初可以任意选取n个固定密钥m1,…,mn,例如n=5或n=50等;二是在每次生成再新系统时可随机选取其中的几个或几十个作为本次再新系统的固定密钥,例如随机选取其中的3个或40个等。

4、本发明与传统密码系统的显著区别之四是密文的多变性。由步骤5可知,当密文yn对应的密文为x时,每一个yn+kmn(k为任意正整数)均对应的明文x。这就意味着同一个明文文本可以加密为无穷多个密文文本。在稍后的实施例中可以验证:由于m3=217(这里的n=3),所以,当76是明文25的密文时,293,510,727,…均是25的密文。如果说“一次一密”是信息加密技术所追求的最高境界,那么“一次多密”就是一个更加难得的优点。

具体实施方式

下面给出本发明的原理和一个实施例。基于本发明的原理和实施例中给出的实施方案,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有雷同的原理和方案,以及动态密钥系统所独有的特点都属于本发明的保护范围。

构建本系统所基于的数学原理。

多层函数的定义:设y1=f1(x),y2=f2(y1),…,yn=fn(yn-1)为n个函数式。那么,我们称yn是x的n层函数。当n>1时,称yn为x的多层函数。

不难看出,当0<yi<mi,i=1,…,n时,以下的式(5)的每一个yi(1≤i≤n)都是x的函数。因为对于一个给定的x必有唯一的yi与之对应。

y1≡a1x(mod m1),…,yn≡an yn-1(mod mn)。 (5)

由此我们得到

性质1.设0<yi<mi,i=1,…,n>1。那么,式(5)的yn为x的多层函数。

性质2.对于多层函数式(5)而言,在不知道n(即不知道同余式个数)的情况下由x和yn的取值无法用数学方法推导出参数a1,…,an和m1,…,mn

不难发现,式(5)与

yn-1′≡an -1yn′(mod mn),…,x′≡a1 -1 y1′(mod m1)。 (6)

之间具有密切的相互联系,见如下性质。

性质3.设ai对模mi的逆为ai -1,i=1,…,n。那么,对于式(5)和式(6)而言,若0<x,x′<m1,0<y1,y1′<m2,…,0<yn-1,yn-1′<mn且yn′≡yn(mod mn),则x′=x。

证明:由式(5)知,yn≡an yn-1(mod mn)。

由yn′≡yn(mod mn)知,yn′≡an yn-1(mod mn)。

由an对模mn的逆为an -1知,an -1yn′≡yn-1(mod mn)。即

yn-1≡an -1yn′(mod mn)。 (7)

由于0<yn-1,yn-1′<mn,所以,由式(6)给出的yn-1′≡an -1yn′(mod mn)与式(7)知,yn-1′=yn-1

同理可得,yn-2′=yn-2,…,x′=x。证毕

性质3的重要性在于它给出了式(6)为式(5)的反函数的充要条件。

顺便指出,条件1中的“m1<…<mn”充分保证了性质3中

0<x,x′<m1,0<y1,y1′<m2,…,0<yn-1,yn-1′<mn的成立。

性质4.设k1,…,kn为正整数。那么,当式(6)是式(5)的反函数时,下式

yn-1≡(an -1+k1 mn)yn(mod mn),…,x≡(a1 -1+knm1)y1(mod m1)

均是式(5)的反函数。

实施例1

一种动态密钥系统的建立及使用方法,包括以下步骤:

步骤1:加密方(或解密方)取固定密钥为:m1=93,m2=155,m3=217,由秘密信道将此传输至解密方,建立起系统的固定部分。

步骤2:加密方由固定密钥m1=93,m2=155,m3=217根据条件2随机生成动态加密密钥a1=61,a2=39,a3=92。

步骤3:加密方由固定密钥93,155,217和动态加密密钥61,39,92得到如下数据分组

(61,93),(39,155),(92,217)——数据组1′

步骤a:加密方由固定密钥93,155,217和动态加密密钥61,39,92根据条件3生成动态解密密钥a1 -1=61,a2 -1=4,a3 -1=92,并由***道将此传输至解密方。

步骤b:解密方由动态解密密钥61,4,92和固定密钥93,155,217得到如下数据分组:

(61,93),(4,155),(92,217)——数据组2′

至此,一个新的密钥系统的建立过程就完成了。下面我们以明文x=25为例来说明加密和解密过程。

加密过程:

Ⅰ.将数据组1′的第一个括号中的第一个数61×25=1525,再求1525对模93(93是第一个括号中的第二个数,以下类同)的最小非负剩余为37,即y1=37。(其实,将25变为37的过程就是根据y1≡61x(mod 93),由0<x=25<93得出0<y1=37<93的过程)

Ⅱ.将第二个括号中的数39×37=1443,再求1443对模155的最小非负剩余为48,即y2=48。

Ⅲ.将第三个括号中的数92×48=4416,再求4416对模217的最小非负剩余为76即y3=76。于是,76为密文。

至此,加密过程完成。

由于加密过程是从数据组1′最左边的括号开始计算的,我们称这一计算过程为数据组1′的左起过程。

Ⅳ.将密文76传输至解密方。

解密过程:

Ⅰ.将76乘以数据组2′的第三个括号中的第一个数,即92×76=6992,再求6992对模217的最小非负剩余为48,即y2′=48。

Ⅱ.将第二个括号中的数4×48=192,再求192对模155的最小非负剩余为37,即y1′=37。

Ⅲ.将第一个括号中的数61×37=2257,再求2257对模93的最小非负剩余为25。于是,得明文25。

至此,解密过程完成。

由于解密过程是从数据组2′最右边的括号开始计算的,我们称这一计算过程为数据组2′的右起过程。

以上事实表明,由数据组1′的左起过程可以将明文25加密为密文76,由数据组2′的右起过程可以将密文76解密为明文25。

然而,由数据组2′的左起过程则可将明文25加密为密文162,由数据组1′的右起过程则可将密文162解密为明文25(请自行验证)。由此我们看到,数据组1′和数据组2′构成了一个完整的加解密系统。

本发明的优异之处在于:

1.动态密钥系统的动态性特征不仅可以抵御来自各方面的攻击而确保系统的安全性,而且也是本系统独有的特征。

2.极大的灵活性。一是系统构成的灵活性。固定密钥的个数可以为任意多个的特点就告诉我们,系统的构建具有极大的灵活性、多变性和任意性。二是加密过程的灵活性。本系统的单位加密长度(即一次性将明文加密为密文的编码个数)是不固定的,只要求明文x小于固定密钥m1即可。所以,本系统对明文的格式要求极低。这为系统的使用提供了极大的方便性和灵活性。

3.极小的计算复杂度。本系统无论是加密还是解密都只涉及最基本的加减乘除运算,而不涉及指数﹑对数等复杂运算,因而是目前计算复杂度极小甚至是最小的密钥系统。从而使得系统的构建成本和运营成本最小化。

4.多重安全性。

I.由于本系统使用了多层函数加密技术,多层函数的层数n是不固定的、随意的,而且攻击者无法获得,所以,由性质2可知固定密钥m1,…,mn不能由所得到的明文x和密文y推导出来。由此我们看到本系统的密钥空间为无穷大。密钥空间的无穷大为信息的加密传输提供了充分的安全性保障。

II.尽管动态解密密钥a1 -1,…,an -1是通过公共信道传输的。但是,一方面一个确定的ai -1(1≤i≤n)有无穷多个mi满足关系(ai -1,mi)=1,这就导致mi无法由ai -1推出。另一方面性质4还为它们的“伪装性传输”提供了方便。所以,动态解密密钥的公开性传输不能给系统的安全性带来任何风险。

III.由于本系统的动态特征实现了一次一新加密的功能,不仅不存在可攻击的统计学规律,同时,即便是系统的固定密钥被偷窃,如果偷窃者在未截取到本次的动态解密密钥的情况下,本次的信息传输仍然是安全的。

5.广泛的应用性。本系统的灵活性和低成本性决定了它具有广泛的应用前景。本系统可用于军事、商业、工业、无人机、对讲机等多领域多行业的信息加密。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种前向安全密钥聚合的云存储数据共享方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!