System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于改进elgamal算法的即时通讯文件传输方法及系统技术方案_技高网

基于改进elgamal算法的即时通讯文件传输方法及系统技术方案

技术编号:40660353 阅读:12 留言:0更新日期:2024-03-18 18:52
本发明专利技术公开了一种基于改进elgamal算法的即时通讯文件传输方法及系统。本发明专利技术在传统elgamal加密算法中增加了时间戳,确保文件的时效性;同时,采用由群成员共同决定的联合公钥进行文件的加密,而解密过程中需使用客户端的私钥;其中,接收客户端的私钥仅在本地保存而不参与传输过程,提升了文件传输的安全性,防止在传输过程中的密钥泄露;联合公钥确保加密过程需要每个成员的参与,最大程度的保证了文件的安全性。本发明专利技术能够实现在一对多聊天中,只有参与聊天的所有成员在规定时间内都完成解密才可以得到解密后的文件,既保证了文件的时效性又保证了文件不被提前泄露。

【技术实现步骤摘要】

本专利技术涉及即时通讯、网络安全,具体涉及一种基于改进elgamal算法的即时通讯文件传输方法及系统


技术介绍

1、随着计算机网络技术的迅速发展,相关网络应用研究的不断深入,使用网络传输信息的频率也越来越高,即时通讯已经成为人们交流的首选方式。文件可以通过即时通讯软件进行传输,其安全性成为人们研究的热点。为了提高网络的安全水平,保护传输信息的安全,诸多的加密算法便如雨后春笋一般应运而生。

2、现有的文件加密传输方案通常使用对称加密算法或者非对称加密算法。前者发送方和接收方使用同样的密钥进行加密和解密,需要进行密钥的传输,无法保证密钥在传输过程中不被泄露;后者发送方和接收方使用不同的密钥对,在整个加密解密过程中不需要进行密钥交互,但是加密解密速度比较慢。

3、在某种特定应用领域中,需要向特定人员发送群加密文件并且需要群成员在规定时间内进行解密并反馈,同时加密文件还不能提前泄露,全部群成员需同时解密。上述两种方案均无法解决群聊天中的文件加密传输问题,也无法保证加密文件的时效性。


技术实现思路

1、有鉴于此,本专利技术提供了一种基于改进elgamal算法的即时通讯文件传输方法及系统,能够实现群聊天中文件的安全传输,并确保了传输的时效性以及文件不被提前泄露。

2、本专利技术的基于改进elgamal算法的即时通讯文件传输方法,包括:

3、步骤一:群组内各成员生成私钥和公钥,将公钥存储在服务器端,私钥存储在本地客户端;服务器基于群组内所有成员的公钥,生成联合公钥;所述联合公钥为:关于群组内所有成员公钥的函数;

4、步骤二,文件加密传输,具体为:文件发送方首先设置文件失效日期;接着对待传输文件基于私钥进行签名,并向服务器申请联合公钥;然后基于联合公钥采用elgamal算法对待传输文件和签名后文件进行加密,并在加密过程中增加失效日期;最后将加密后的密文和失效日期一同发送到群组内;

5、步骤三,文件解密,具体为:群组内其他各成员接收文件后,检查失效日期是否已到达,若未到达失效日期,则先用本地私钥对文件解密,然后再分别采用其他群成员的公钥对刚得到的解密文件进行加密,将其上传至服务器;最后从服务器下载群组内其他成员加密上传的部分解密文件进行计算解密,并基于文件发送方的公钥对解密后的文件进行验证签名;

6、若超过失效日期,则终止解密。

7、较优的,所述步骤一中,私钥采用个人设定或者采用elgamal算法随机生成;公钥基于私钥,采用elgamal算法生成。

8、较优的,所述步骤一中,联合公钥为群组内所有成员的公钥的连乘。

9、较优的,所述步骤一中,用户更新自己的公私钥对后,服务器对用户所在的群组的联合公钥进行重新计算并更新。

10、较优的,所述步骤二中,加密过程如下:

11、对于明文m,选取随机数k,然后计算c1=gk mod p和c2=tmyk mod p,得到密文为c=(c1,c2);其中p为随机选取的素数,g为有限域中随机选取的生成元,t为用户所设置的失效时间,y为待发送群的群成员的联合公钥,mod为取模运算。

12、较优的,所述步骤四中,解密过程如下:

13、(1)群成员i接收密文,验证失效时间是否有效,若无效则终止解密;

14、(2)群成员i使用自己的私钥解密自己部分的密文向服务器申请其他群成员的公钥并加密ci,得到m(ci)j,并将m(ci)j上传服务器;其中j为第j个群成员,j=1,2,…,n-1,n为群成员的个数;

15、(3)服务器将m(ci)j转发到对应的群成员j;

16、(4)待所有群成员将自己的m(ci)j上传至服务器后,群成员i根据每个成员的m(cj)i计算出的cj计算

17、(5)解密得到原文件

18、本专利技术还提供一种基于改进elgamal算法的即时通讯文件传输系统,包括服务端和客户端;

19、所述服务端包括:elgamal管理模块、第一报文发送模块、第二报文发送模块、接收模块和存储模块;其中,elgamal管理模块用于处理客户端发来的密钥更新请求,以及计算群组的联合公钥;第一报文发送模块用于向客户端传输公钥或群组的联合公钥;第二报文发送模块用于向客户端传输加密文件;接收模块用于接收客户端发来的加密文件;存储模块用于存储各客户端的公钥、群组的联合公钥,以及文件传输记录;

20、所述客户端包括:elgamal密钥生成模块、第一报文发送模块、第二报文发送模块、签名模块、elgamal加解密模块、接收模块和存储模块;其中,elgamal密钥生成模块用于生成客户端本地用户的私钥和公钥;第一报文发送模块用于向服务端发送本地用户的公钥;第二报文发送模块用于向服务器发送加密后的文件;签名模块用于对文件进行签名以及签名验证;elgamal加解密模块用于对待发送内容的加密和接收文件的解密;接收模块用于接收服务端传回的密钥和报文;存储模块用于存储本地用户私钥以及文件传输记录。

21、有益效果:

22、本专利技术能够实现在一对多聊天中发送加密文件,只有参与聊天的所有成员在规定时间内都完成解密才可以得到解密后的文件,既保证了文件的时效性又保证了文件不被提前泄露。同时,在整个文件传输过程中,只有拥有私钥才能将文件进行解密,而接收客户端的私钥仅在本地保存而不参与传输过程,提升了文件传输的安全性,防止在传输过程中的密钥泄露;群组的联合公钥由群成员共同决定,群加密文件的解密过程每个成员都是参与方,使得自己部分的解密结果不在传输过程中泄露,最大程度保证了文件的安全性。

23、本专利技术亦支持一对一的聊天中发送加密文件。

本文档来自技高网...

【技术保护点】

1.一种基于改进elgamal算法的即时通讯文件传输方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述步骤一中,私钥采用个人设定或者采用elgamal算法随机生成;公钥基于私钥,采用elgamal算法生成。

3.如权利要求1所述的方法,其特征在于,所述步骤一中,联合公钥为群组内所有成员的公钥的连乘。

4.如权利要求1~3任意所述的方法,其特征在于,所述步骤一中,用户更新自己的公私钥对后,服务器对用户所在的群组的联合公钥进行重新计算并更新。

5.如权利要求3所述的方法,其特征在于,所述步骤二中,加密过程如下:

6.如权利要求5所述的方法,其特征在于,所述步骤四中,解密过程如下:

7.一种基于改进elgamal算法的即时通讯文件传输系统,其特征在于,包括服务端和客户端;

【技术特征摘要】

1.一种基于改进elgamal算法的即时通讯文件传输方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述步骤一中,私钥采用个人设定或者采用elgamal算法随机生成;公钥基于私钥,采用elgamal算法生成。

3.如权利要求1所述的方法,其特征在于,所述步骤一中,联合公钥为群组内所有成员的公钥的连乘。

4.如权利要求1~3任意所...

【专利技术属性】
技术研发人员:靳伟琪郭玉福马莉莉魏子尧
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

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

1