一种基于非对称加密的通信方法及系统与流程

未命名 09-10 阅读:59 评论:0


1.本发明涉及数据处理技术领域,特别涉及一种基于非对称加密的通信方法及系统。


背景技术:

2.目前的非对称加密方式,通常会在服务器中存储公钥和密钥。当服务器接收到客户端发来的加密后的信息时,可以利用相匹配的密钥对加密数据进行解密。
3.然而,现有的这种非对称加密方式,服务器中的密钥是保持不变的,一旦该密钥被破译,就会存在较大的数据传输风险。


技术实现要素:

4.本发明提供一种基于非对称加密的通信方法及系统,能够提高数据传输的安全性。
5.鉴于此,本发明一方面提供一种基于非对称加密的通信方法,所述方法包括:
6.接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;
7.基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;
8.在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。
9.在一个实施方式中,在接收第一客户端发来的目标数据之后,所述方法还包括:
10.利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成;
11.所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密。
12.在一个实施方式中,基于所述第一公钥动态生成第二公钥和第二密钥包括:
13.计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;
14.以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;
15.根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;
16.为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。
17.在一个实施方式中,根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀包括:
18.计算所述第一质数和所述第二质数的乘积;
19.根据欧拉函数对所述第一质数和所述第二质数进行处理,生成欧拉值;
20.确定小于所述欧拉值的随机整数,并计算所述随机整数关于所述欧拉值的模反元素;
21.将所述随机整数作为所述公钥后缀,并将所述模反元素作为所述密钥后缀。
22.在一个实施方式中,为所述公钥后缀和所述密钥后缀添加相同的前缀包括:
23.将所述第一质数和所述第二质数的乘积,作为所述公钥后缀和所述密钥后缀共同的前缀。
24.本发明另一方面还提供一种基于非对称加密的通信系统,所述系统包括:
25.数据接收单元,用于接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;
26.动态处理单元,用于基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;
27.数据传输单元,用于在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。
28.在一个实施方式中,所述系统还包括:
29.加密单元,用于利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端,以使得所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成。
30.在一个实施方式中,所述动态处理单元具体用于,计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。
31.本发明提供的技术方案,在接收到可以客户端发来的目标数据后,可以根据其中的第一公钥,动态地生成本次数据传输过程中的第二公钥和第二密钥。后续,在接收到第二客户端发来的待传输数据后,可以利用第二公钥对该待传输数据进行加密,并将第二密钥反馈给第一客户端。这样,第一客户端可以根据第二密钥对加密后的待传输数据进行解密。
32.可见,本发明提供的技术方案,在需要进行数据传输时,可以动态地生成密钥,从而极大地保证了数据传输的安全性。
33.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
34.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
35.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
36.图1为本发明实施例中一种基于非对称加密的通信方法的步骤示意图;
37.图2为本发明实施例中一种基于非对称加密的通信系统的功能模块示意图。
具体实施方式
38.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
39.请参阅图1,本技术一个实施方式提供一种基于非对称加密的通信方法,所述方法包括:
40.s1:接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;
41.s2:基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;
42.s3:在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。
43.在一个实施方式中,基于所述第一公钥动态生成第二公钥和第二密钥包括:
44.计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;
45.以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;
46.根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;
47.为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。
48.其中,第一质数可以表示为p,第二质数可以表示为q,在计算公钥后缀和密钥后缀时,可以计算所述第一质数和所述第二质数的乘积p*q,然后根据欧拉函数对所述第一质数和所述第二质数进行处理,生成欧拉值。然后可以确定小于所述欧拉值的随机整数,并计算所述随机整数关于所述欧拉值的模反元素。最终,可以将所述随机整数作为所述公钥后缀,并将所述模反元素作为所述密钥后缀。
49.为公钥后缀和密钥后缀添加共同的前缀时,可以将所述第一质数和所述第二质数的乘积,作为所述公钥后缀和所述密钥后缀共同的前缀。
50.这样,按照上述的过程,可以基于第一公钥,动态生成相匹配的第二公钥和第二密钥。同理,根据第二客户端发来的第四公钥,可以动态地生成相匹配的第三公钥和第三密钥。
51.在一个实施方式中,服务器在接收第一客户端发来的目标数据之后,所述方法还包括:
52.利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成;
53.所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密。
54.请参阅图2,本发明另一方面还提供一种基于非对称加密的通信系统,所述系统包括:
55.数据接收单元,用于接收第一客户端发来的目标数据,所述目标数据中包括在所
述第一客户端中存储的第一公钥;
56.动态处理单元,用于基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;
57.数据传输单元,用于在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。
58.在一个实施方式中,所述系统还包括:
59.加密单元,用于利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端,以使得所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成。
60.在一个实施方式中,所述动态处理单元具体用于,计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。
61.本发明提供的技术方案,在接收到可以客户端发来的目标数据后,可以根据其中的第一公钥,动态地生成本次数据传输过程中的第二公钥和第二密钥。后续,在接收到第二客户端发来的待传输数据后,可以利用第二公钥对该待传输数据进行加密,并将第二密钥反馈给第一客户端。这样,第一客户端可以根据第二密钥对加密后的待传输数据进行解密。
62.可见,本发明提供的技术方案,在需要进行数据传输时,可以动态地生成密钥,从而极大地保证了数据传输的安全性。
63.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术特征:
1.一种基于非对称加密的通信方法,其特征在于,所述方法包括:接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。2.根据权利要求1所述的方法,其特征在于,在接收第一客户端发来的目标数据之后,所述方法还包括:利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成;所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密。3.根据权利要求1所述的方法,其特征在于,基于所述第一公钥动态生成第二公钥和第二密钥包括:计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。4.根据权利要求3所述的方法,其特征在于,根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀包括:计算所述第一质数和所述第二质数的乘积;根据欧拉函数对所述第一质数和所述第二质数进行处理,生成欧拉值;确定小于所述欧拉值的随机整数,并计算所述随机整数关于所述欧拉值的模反元素;将所述随机整数作为所述公钥后缀,并将所述模反元素作为所述密钥后缀。5.根据权利要求4所述的方法,其特征在于,为所述公钥后缀和所述密钥后缀添加相同的前缀包括:将所述第一质数和所述第二质数的乘积,作为所述公钥后缀和所述密钥后缀共同的前缀。6.一种基于非对称加密的通信系统,其特征在于,所述系统包括:数据接收单元,用于接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;动态处理单元,用于基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;数据传输单元,用于在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:加密单元,用于利用第三公钥对所述目标数据进行加密,并将加密后的数据发送给第二客户端,以使得所述第二客户端利用所述第三密钥对接收到的加密后的数据进行解密;其中,所述第三公钥以及与所述第三公钥相匹配的第三密钥基于所述第二客户端中存储的第四公钥动态生成。8.根据权利要求6所述的系统,其特征在于,所述动态处理单元具体用于,计算所述第一公钥对应的散列值,并将所述散列值转换为十进制数据;以所述十进制数据为中心,筛选两个相邻的第一质数和第二质数;根据所述第一质数和所述第二质数,分别计算公钥后缀和密钥后缀;为所述公钥后缀和所述密钥后缀添加相同的前缀,并将添加前缀后的数据作为第二公钥和第二密钥。

技术总结
本发明提供了一种基于非对称加密的通信方法及系统,其中,所述方法包括:接收第一客户端发来的目标数据,所述目标数据中包括在所述第一客户端中存储的第一公钥;基于所述第一公钥动态生成第二公钥和第二密钥,并将所述第二公钥和所述第二密钥反馈给所述第一客户端;在接收到第二客户端发来的待传输数据后,利用所述第二公钥对所述待传输数据进行加密,并将加密后的数据发送给所述第一客户端,以使得所述第一客户端根据所述第二密钥对所述加密后的数据进行解密。本发明提供的技术方案,能够提高数据传输的安全性。高数据传输的安全性。高数据传输的安全性。


技术研发人员:兰雨晴 余丹 马海洋 郑涵 邢智涣
受保护的技术使用者:慧之安信息技术股份有限公司
技术研发日:2023.06.29
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐