一种用于即时通讯消息的加密方法及系统的制作方法

文档序号:9618732阅读:591来源:国知局
一种用于即时通讯消息的加密方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络通信领域,尤其涉及一种用于即时通讯消息的加密方法及系统。
【背景技术】
[0002]随着互联网的快速发展,互联网用户基数越来越大,人们的生活越来越离不开网络。互联网企业希望用更少的服务器资源来支撑更多的用户,从而减少产品投入,增加利润。而网络信息安全问题也日显突出,信息泄漏时有发生,从而互联网用户安全防范意识正在增强,对互联网产品的安全要求也越来越高。
[0003]现行主流公开技术中,基本采用ssl/tls、starttls等方式来为传输的数据提供保密性和数据完整性,此种做法提供了密钥交换、加解密等相关的技术方案,安全性比较高,但却比较低效,计算量大,占用系统资源较大,从而造成服务器端需要加解密时负载过重,消息时延过长等技术问题。智能电视/手机互通视频通讯IM,是一个支持文字、图片、语音、视频等各种消息内容的智能电视/手机间的网络通讯产品,作为视频通讯的服务器端,其需要支撑成百万上千万,甚至上亿级的并发用户,一个用户的TCP连接,启用starttls加解密,其占用资源大约比不启用starttls多一倍。也就是说同样一台服务器,在系统资源有限的情况下,启用了 starttls,其最大负载量只是不启用starttls时的一半,传输消息时延较大,传输安全性较低。
[0004]因此,现有技术还有待于改进和发展。

【发明内容】

[0005]鉴于现有技术的不足,本发明目的在于提供一种用于即时通讯消息的加密方法及系统,旨在通过本发明克服现有技术的加密方法,传输消息时延大,传输安全性低缺陷,从而实现在不失安全性的前提下,即时通讯消息能快速高效地进行加解密。
[0006]本发明的技术方案如下:
一种用于即时通讯消息的加密方法,其中,方法包括:
A、终端与服务器在通讯前预先设置一密钥函数;
B、终端通过认证成功登录服务器端后,根据登录密码的散列值、将要发送的数据消息的第一字节长度与密钥函数结合生成加密密钥,并根据加密密钥对数据消息进行加密生成密文,将密文发送给服务器;
C、服务器接收到密文后,根据密文的第二字节长度、登录密码的散列值以及密钥函数生成解密密钥,并根据解密密钥对密文进行解密,获取数据消息的内容。
[0007]所述的用于即时通讯消息的加密方法,其中,所述步骤B具体包括:
B1、终端认证成功登录服务器后,计算终端的登录密码的散列值;
B2、计算将要发送的数据消息的第一字节长度,将第一字节长度输入密钥函数以生成第一初步密钥;
B3、将散列值与第一初步密钥进行组合后生成第一基础流密钥因子; B4、将第一基础流密钥因子循环重复扩展成与待发送的数据消息一样字节长度的第一序列密码流;
B5、将第一序列密码流与待发送的数据消息按位进行异或运算,生成数据消息加密后的密文;
B6、通过网络将密文发送给服务器。
[0008]所述的用于即时通讯消息的加密方法,其中,所述步骤C中具体包括:
C1、服务器接收到密文后,计算出密文的第二字节长度;
C2、将第二字节长度输入密钥函数以生成第二初步密钥;
C3、将散列值与第二初步密钥进行组合生成第二基础流密钥因子;
C4、将第二基础流密钥因子循环重复扩展成与待解密的密文一样字节长度的第二序列密码流;
C5、将第二序列密码流与密文进行异或运算,获取数据消息的内容。
[0009]所述的用于即时通讯消息的加密方法,其中,所述步骤B3具体为:
B31、将散列值与第一初步密钥进行字符串连接后生成第一基础流密钥因子。
[0010]上述任一项所述的用于即时通讯消息的加密方法,其中,所述散列值为信息摘要算法MD5值或哈希算法SHA值。
[0011]一种用于即时通讯消息的加密系统,其中,所述系统包括:
预先设置模块,用于终端与服务器在通讯前预先设置一密钥函数;
数据加密及发送模块,用于终端通过认证成功登录服务器端后,根据登录密码的散列值、将要发送的数据消息的第一字节长度与密钥函数结合生成加密密钥,并根据加密密钥对数据消息进行加密生成密文,将密文发送给服务器;
数据解密模块,用于服务器接收到密文后,根据密文的第二字节长度、登录密码的散列值以及密钥函数生成解密密钥,并根据解密密钥对密文进行解密,获取数据消息的内容。
[0012]所述的用于即时通讯消息的加密系统,其中,所述数据加密及发送模块具体包括:
第一计算单元,用于终端认证成功登录服务器后,计算终端的登录密码的散列值;
第一初步密钥生成单元,用于计算将要发送的数据消息的第一字节长度,将第一字节长度输入密钥函数以生成第一初步密钥;
第一基础流密钥因子生成单元,用于计算将散列值与第一初步密钥进行组合后生成第一基础流密钥因子;
第一序列密码流生成单元,用于计算将第一基础流密钥因子循环重复扩展成与待发送的数据消息一样字节长度的第一序列密码流;
密文生成单元,用于将第一序列密码流与待发送的数据消息按位进行异或运算,生成数据消息加密后的密文;
密文发送单元,用于通过网络将密文发送给服务器。
[0013]所述的用于即时通讯消息的加密系统,其中,所述数据解密模块具体包括:
第二计算单元,用于服务器接收到密文后,计算出密文的第二字节长度;
第二初步密钥生成单元,用于将第二字节长度输入密钥函数以生成第二初步密钥;
第二基础流密钥因子生成单元,用于将散列值与第二初步密钥进行组合生成第二基础流密钥因子;
第二序列密码流生成单元,用于将第二基础流密钥因子循环重复扩展成与待解密的密文一样字节长度的第二序列密码流;
数据消息获取单元,用于将第二序列密码流与密文进行异或运算,获取数据消息的内容。
[0014]所述的用于即时通讯消息的加密系统,其中,所述第一基础流密钥因子生成单元还用于将散列值与第一初步密钥进行字符串连接后生成第一基础流密钥因子。
[0015]上述任一项所述的用于即时通讯消息的加密系统,其中,所述散列值为信息摘要算法MD5值或哈希算法SHA值。
[0016]本发明提供了一种用于即时通讯消息的加密方法及系统,本发明中通讯双方无需额外交换各密钥要素,密钥随消息不同而不同,一次一密,避免了密钥在网络传递中被截获破译的风险,无须将明文分组来进行加解密,整个加解密过程简单快速高效,占用资源较少。
【附图说明】
[0017]图1为本发明的一种用于即时通讯消息的加密方法的较佳实施例的流程图。
[0018]图2为本发明的一种用于即时通讯消息的加密系统的较佳实施例的功能原理框图。
【具体实施方式】
[0019]为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020]本发明提供了一种用于即时通讯消息的加密方法的较佳实施例的流程图,如图1所示,所述方法包括:
步骤S100、终端与服务器在通讯前预先设置一密钥函数。
[0021]具体实施时,终端与服务器进行通讯前事先约定密钥函数,密钥函数可随意设定,终端与服务器存储预先设置的密钥函数。
[0022]步骤S200、终端通过认证成功登录服务器端后,根据登录密码的散列值、将要发送的数据消息的第一字节长度与密钥函数结合生成加密密钥,并根据加密密钥对数据消息进行加密生成密文,将密文发送给服务器。
[0023]具体实施时,以每次传输的一条完整消息的字节长度作为密钥函数的输入因子,然后将函数输出结果与终端用户的登录密码的散列值的字符串组合作为每次加解密的基础流
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1