即时消息加解密方法、装置、设备和存储介质转让专利

申请号 : CN201811435072.3

文献号 : CN111245771B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏永彬田献军彭京张如昌

申请人 : 深圳兆日科技股份有限公司

摘要 :

本发明涉及一种即时消息加解密方法、装置、设备和存储介质。应用于发送方,获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成并存储第一密文消息体,即待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。

权利要求 :

1.一种即时消息加解密方法,其特征在于,应用于包括发送方、接收方和服务器中的所述发送方,所述方法包括:同步或间隔地获取待发送即时消息的原文消息数据,其中,所述原文消息数据是对所述即时消息进行转换处理后得到的应用在电子设备上的数据;

通过密钥原文对所述原文消息数据进行加密,生成密文消息数据,其中,所述密钥原文是对称密钥原文或非对称密钥原文,所述密钥原文是间隔预设的时间周期,通过随机算法生成的转换参数随机获取所述时间周期内生成的密钥原文得到的;

获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥,其中,所述发送方的公钥包括所述发送方的身份识别标识,所述发送方通过所述服务器获取所述发送方的公钥,所述发送方的身份识别标识是所述服务器根据预设的算法分配给所述发送方的;

将所述密文消息数据中的字符和所述第一密文密钥中的字符进行间隔拼接,生成第一密文消息体;

存储所述第一密文消息体;

获取所述接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥,其中,所述接收方的公钥包括所述接收方的身份识别标识,所述发送方通过所述服务器获取所述接收方的公钥,所述接收方的身份识别标识是所述服务器根据预设的算法分配给所述接收方的;

将所述密文消息数据中的字符和所述第二密文密钥中的字符进行间隔拼接,生成第二密文消息体;

发送所述第二密文消息体。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;

获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。

3.一种即时消息解密方法,其特征在于,应用于包括发送方、接收方和服务器中的所述接收方,所述方法包括:接收第二密文消息体,其中,所述第二密文消息体是所述发送方应用于如权利要求1所述的即时消息加解密方法得到的;

从所述第二密文消息体中提取密文消息数据和第二密文密钥;

获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;

采用所述密钥原文解密所述密文消息数据,得到原文消息数据。

4.根据权利要求3所述的方法,其特征在于,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。

5.一种即时消息加解密装置,其特征在于,应用于包括发送方、接收方和服务器中的所述发送方,所述装置包括:获取模块,用于同步或间隔地获取待发送即时消息的原文消息数据,其中,所述原文消息数据是对所述即时消息进行转换处理后得到的应用在电子设备上的数据;

第一加密模块,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据,其中,所述密钥原文是对称密钥原文或非对称密钥原文,所述密钥原文是间隔预设的时间周期,通过随机算法生成的转换参数随机获取所述时间周期内生成的密钥原文得到的;

第二加密模块,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥,其中,所述发送方的公钥包括所述发送方的身份识别标识,所述发送方通过所述服务器获取所述发送方的公钥,所述发送方的身份识别标识是所述服务器根据预设的算法分配给所述发送方的;

拼接模块,用于将所述密文消息数据中的字符和所述第一密文密钥中的字符进行间隔拼接,生成第一密文消息体;

存储模块,用于存储所述第一密文消息体;

发送模块,用于获取所述接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥,其中,所述接收方的公钥包括所述接收方的身份识别标识,所述发送方通过所述服务器获取所述接收方的公钥,所述接收方的身份识别标识是所述服务器根据预设的算法分配给所述接收方的;将所述密文消息数据中的字符和所述第二密文密钥中的字符进行间隔拼接,生成第二密文消息体;发送所述第二密文消息体。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:

解密模块,用于从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。

7.一种即时消息加解密装置,其特征在于,应用于包括发送方、接收方和服务器中的所述接收方,所述装置包括:接收模块,用于接收第二密文消息体,其中,所述第二密文消息体是所述发送方应用于如权利要求5所述的即时消息加解密装置得到的;

提取模块,从所述第二密文消息体中提取密文消息数据和第二密文密钥;

第一解密模块,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;

第二解密模块,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。

8.根据权利要求7所述的装置,其特征在于,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1‑4中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1‑4中任一项所述的方法的步骤。

说明书 :

即时消息加解密方法、装置、设备和存储介质

技术领域

[0001] 本发明涉及信息安全的技术领域,特别是涉及了一种即时消息加解密方法、装置、设备和存储介质。

背景技术

[0002] 随着终端设备的发展,人们越来越多的使用即时通讯软件进行即时通讯,在进行即时通讯的过程中,即时通讯的应用界面会同时显示发送消息和接收消息。
[0003] 由于即时通讯的应用界面上同时显示发送消息和接收消息,因此常常把即时消息存储在本地数据库中。在存储即时消息时,通常采用明文存储的方法,即时消息的安全性依赖本地数据库的安全性。
[0004] 当本地数据库被破解时,存储在本地数据库中的即时消息随之被破解,导致即时消息的安全性差。

发明内容

[0005] 基于此,有必要针对即时消息安全性差问题,提供一种即时消息加解密方法、装置、设备和存储介质。
[0006] 第一方面,一种即时消息加解密方法,应用于发送方,所述方法包括:
[0007] 获取待发送即时消息的原文消息数据;
[0008] 通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0009] 获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0010] 将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0011] 存储所述第一密文消息体。
[0012] 上述即时消息加解密方法,应用于发送方,终端获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,终端获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。本实施例中,终端通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体,也就是说,待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。
[0013] 在其中一个实施例中,所述方法还包括:
[0014] 获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;
[0015] 将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;
[0016] 发送所述第二密文消息体。
[0017] 在其中一个实施例中,所述方法还包括:
[0018] 从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;
[0019] 获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
[0020] 在其中一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
[0021] 第二方面,一种即时消息解密方法,应用于接收方,所述方法包括:
[0022] 接收第二密文消息体;
[0023] 从所述第二密文消息体中提取密文消息数据和第二密文密钥;
[0024] 获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
[0025] 采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
[0026] 在其中一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
[0027] 第三方面,一种即时消息加解密装置,所述装置包括:
[0028] 获取模块,用于获取待发送即时消息的原文消息数据;
[0029] 第一加密模块,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0030] 第二加密模块,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0031] 拼接模块,用于将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0032] 存储模块,用于存储所述第一密文消息体。
[0033] 第四方面,一种即时消息加解密装置,所述装置包括:
[0034] 接收模块,用于接收第二密文消息体;
[0035] 提取模块,从所述第二密文消息体中提取密文消息数据和第二密文密钥;
[0036] 第一解密模块,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;
[0037] 第二解密模块,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
[0038] 第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0039] 获取待发送即时消息的原文消息数据;
[0040] 通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0041] 获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0042] 将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0043] 存储所述第一密文消息体。
[0044] 第六方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0045] 获取待发送即时消息的原文消息数据;
[0046] 通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0047] 获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0048] 将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0049] 存储所述第一密文消息体。
[0050] 上述即时消息加解密方法、装置、设备和存储介质。应用于发送方,获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成并存储第一密文消息体,即待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。

附图说明

[0051] 图1为一个实施例提供的即时通讯的示意图;
[0052] 图2为一个实施例中即时消息加解密方法的流程示意图;
[0053] 图3为另一个实施例中即时消息加解密方法的流程示意图;
[0054] 图4为另一个实施例中即时消息加解密方法的流程示意图;
[0055] 图5为另一个实施例中即时消息加解密方法的流程示意图;
[0056] 图6为一个实施例中提供的即时消息加解密装置的结构示意图;
[0057] 图7为另一个实施例中提供的即时消息加解密装置的结构示意图;
[0058] 图8为另一个实施例中提供的即时消息加解密装置的结构示意图;
[0059] 图9为另一个实施例中提供的即时消息加解密装置的结构示意图;
[0060] 图10为一个实施例中计算机设备的内部结构图。

具体实施方式

[0061] 随着终端设备的发展,人们越来越多的使用即时通讯软件进行即时通讯,在进行即时通讯的过程中,如图1所示,发送方10将即时消息的原文消息数据通过服务器20发送给接收方30,同时将该原文消息数据存储在发送方10的本地数据库110中,使得发送方10的显示界面上可以显示发送的即时消息。在将原文消息数据存储在本地数据库110中时,通常采用明文存储的方法,即时消息的安全性依赖本地数据库110的安全性。当本地数据库110被破解时,存储在本地数据库中110的即时消息随之被破解,导致即时消息的安全性差。本发明提供的即时消息加解密方法、装置、设备和存储介质,旨在提高即时消息安全性。
[0062] 本实施例提供的即时消息加解密方法,可以适用于即时消息加解密的终端中,即时消息加解密的终端可以为智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理等具有数据处理功能的电子设备,本实施例对即时消息加解密终端的具体形式不做限定。
[0063] 需要说明的是,本发明实施例提供的即时消息加解密的方法,其执行主体可以是即时消息加解密的装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为即时消息加解密终端的部分或者全部。
[0064] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065] 图2为一个实施例中即时消息加解密方法的流程示意图,本实施例涉及的是发送方终端通过密钥原文和第一密文密钥获得第一密文消息体,使得即时消息的原文消息数据以第一密文消息体形式存储的具体过程,如图2所示,该方法包括以下步骤:
[0066] S101、获取待发送即时消息的原文消息数据。
[0067] 其中,即时消息可以是通在线实时通讯时传输的消息,其可以是文字消息、文件、图片消息、闪屏振动、语音通信或视频通信,本申请实施例对此不做限制。原文消息数据可以是对即时消息进行处理,获得可以在电子设备上应用的数据。
[0068] 具体地,在获取待发送即时消息的原文消息数据的过程中,可以是同步获取待发送即时消息的原文消息数据,也可以是间隔预设的时间间隔获取待发送即时消息的原文消息数据,本申请实施例对此不做限制。例如,终端间隔预设的时间间隔获取待发送即时消息的原文消息数据,假设预设的时间间隔是10秒,则终端每间隔10秒,检测是否有待发送的即时消息,如有,则将该即时消息转换成原文消息数据。
[0069] S102、通过密钥原文对原文消息数据进行加密,生成密文消息数据。
[0070] 其中,密钥原文可以是一种参数,是将明文转换成密文,或者是将密文转换成明文的算法中输入的参数,其可以是对称密钥原文,也可以是非对称密钥原文,本申请实施例对此不做限制。密文消息数据可以是通过密钥原文对即时消息的原文消息数据进行数据转换,获得加密后的即时消息的原文消息数据。其可以是打乱原文消息数据的字符顺序,也可以是将原文消息数据中的某一个字符用其他字符替换,本申请实施例对此不做限制。
[0071] 具体地,可以通过随机算法,随机获取密钥原文。其可以是在每次通过密钥原文对原文消息数据进行加密时,通过随机算法,获取密钥原文;也可以是间隔预设的时间周期通过随机算法生成一个转换参数,当需要对即时消息的原文消息数据进行加密时,调用时间周期内生成的转换参数,为密钥原文;本申请实施例对此不做限制。例如,终端每间隔10秒生成一个随机密钥原文,在一个10秒周期内,在该10秒周期的第1秒时,终端通过随机算法生成一个转换参数,在第5秒时需要对原文消息数据进行加密时,则调用该10秒周期内第1秒时生成的转换参数,即为密钥原文。在获取了密钥原文后,通过该密钥原文对原文消息数据进行加密,生成密文消息数据。
[0072] S103、获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥。
[0073] 其中,公钥可以是密钥中对外公开的部分,可以用于加密数据,其可以是调整待加密数据字符顺序的规则,也可以是将待加密数据中的一类字符用不同的字符替代,还可以是根据用户的身份标识等信息,通过数学方式生成一组参数,根据该参数对数据进行加密处理。发送方的公钥可以是发送方第一密文密钥可以是将密钥原文进行加密获得的密文形式的密钥。其中,密文形式可以是对消息数据进行加密处理,获得新的消息数据,使得非法获得者获得密文形式的数据时,不能直接获得数据的内容。
[0074] 具体地,获取发送方的公钥时,可以是单独获得发送方的公钥,也可以是同时获取发送方的公钥和私钥,本申请实施例对此不做限制。当获取了发送方公钥时,可以根据该发送方的公钥对上述密钥原文进行加密。当发送方的公钥是调整字符顺序的规则时,其可以是根据发送方的公钥调整密钥原文的字符数据对密钥原文进行加密;当发送方的公钥是替换某一字符时,其还可以是根据发送方的公钥,替换密钥原文的某一字符,获得字符替换后的密钥原文,即为第一密文密钥;当发送方公钥为身份标识时,其可以是将身份标识转换为一组参数,通过该参数与密钥原文进行处理,获得加密后的密文原文,即为第一密文密钥。
[0075] S104、将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体。
[0076] 具体地,在上述实施例的基础上,当获取了密文消息数据和第一密文密钥后,将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体。其可以是直接将密文消息数据和第一密文密钥拼接,生成第一密文消息体;还可以是通过预设的规则,将密文消息数据和第一密文密钥拼接,生成第一密文消息体;本申请实施例对此不做限制。例如,将密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得第一密文消息体。假设密文消息为1234567,第一密文密钥为ABCDEFG,将密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得1A2B3C4D5E6F7G,即为第一密文消息体。
[0077] S105、存储第一密文消息体。
[0078] 具体地,在上述实施例的基础上,获得了第一密文消息体后,可以存储第一密文消息体,其可以将第一密文消息体存储在本地数据库中,也可以将第一密文消息存储在服务器中,还可以同时将第一密文消息体数据存储在本地数据库和服务器中,本申请实施例对此不做限制。
[0079] 上述即时消息加解密方法,应用于发送方,终端获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,终端获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。本实施例中,终端通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体,也就是说,待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。
[0080] 在上述实施例的基础上,终端还可以通过发送方的私钥解密第一密文密钥,得到密钥原文。进而通过密钥原文解密密文消息数据,获得即时消息的原文消息数据。下面通过图3来详细说明。
[0081] 图3为另一个实施例中即时消息加解密方法的流程示意图,本实施例涉及是终端通过发送方的私钥获得密钥原文的具体过程。如图3所示,该方法还包括以下步骤:
[0082] S201、从第一密文消息体中提取密文消息数据和第一密文密钥。
[0083] 具体地,在上述实施例的基础上,由于第一密文消息体可以由密文消息数据和第一密文密钥拼接获得。若第一密文消息体可以由密文消息数据和第一密文密钥直接拼接获取,则可以直接从第一密文消息体中提取密文消息数据和第一密文密钥;若第一密文消息体可以由密文消息数据和第一密文密钥通过预设的规则拼接获取,则可以根据预设的规则,从第一密文消息体中提取密文消息数据和第一密文密钥。例如,第一密文消息体为1A2B3C4D5E6F7G,预设的规则为密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得第一密文消息体,则根据该预设的规则,提取密文消息为1234567,第一密文密钥为ABCDEFG。
[0084] S202、获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文。
[0085] 其中,私钥可以是密钥中不公开的部分,可以用于解密该私钥对应的公钥加密得到的密文数据,私钥可以是根据用户设置获得的数据,也可以是终端生成的数据,本申请实施例对此不做限制。例如,私钥是根据用户设置获得的数据,终端可以根据用户设置的数据,生成一组与其对应的数据,即为公钥。
[0086] 具体地,在通过发送方的私钥解密第一密文密钥时,终端可以通过发送方的私钥获取其对应的公钥,再进一步根据该公钥解密第一密文密钥;也可以直接通过发送方的私钥解密第一密文密钥;本申请实施例对此不做限制。对第一密文秘钥解密后,即可得到密钥原文。
[0087] 上述即时消息加解密方法,终端从第一密文消息体中提取密文消息数据和第一密文密钥,并获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文。本实施例中,终端从第一密文消息体中提取密文消息数据和第一密文密钥,并获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文,进而根据密钥原文,解密密文消息数据,获得即时消息的原文消息数据,使得发送方在获取即时消息时,需要通过发送方私钥进行解密操作,进一步地提高了即时消息的安全性。
[0088] 终端将即时消息通过第一密文消息体存储时,还可以将即时消息发送给接收方。在将即时消息发送给接收方时,可以通过接收方的公钥对即时消息进行加密,下面通过图4来详细说明。
[0089] 图4为另一个实施例中即时消息加解密方法的流程示意图,本实施例涉及是如图4所示,该方法还包括以下步骤:
[0090] S301、获取接收方的公钥,根据接收方的公钥对密钥原文进行加密,生成第二密文密钥。
[0091] 具体地,接收方的公钥可以是接收方的身份标识,也可以是接收方设置的一组数据,本申请实施例对此不做限制。在获取接收方的公钥时,可以通过服务器获取接收方的公钥,也可以是直接向接收方发送获取公钥的请求,通过接收方直接获取接收方的公钥。当发送方获取到接收方的公钥后,根据接收方的公钥,对密钥原文进行加密,生成第二密文密钥。当接收方的公钥为接收方设置的一组数字时,可以通过将密钥原文转换成一组数字,将该组数字与接收方公钥的数据进行计算,其可以是两者进行加减运算,获得运算后的一组数字,即为第二密文密钥。
[0092] S302、将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体。
[0093] 具体地,在上述实施例的基础上,当获取了密文消息数据和第二密文密钥后,将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体。其可以是直接将密文消息数据和第二密文密钥拼接,生成第二密文消息体;还可以是通过预设的规则,将密文消息数据和第二密文密钥拼接,生成第二密文消息体;本申请实施例对此不做限制。
[0094] S303、发送第二密文消息体。
[0095] 具体地,在上述实施例的基础上,将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体后,发送该第二密文消息体。在具体发送第二密文消息时,可以直接将第二密文消息体发送至接收方,也可以将第二密文消息体发送给服务器,通过服务器发送至接收方,本申请实施例对此不做限制。在发送第二密文消息体时,可以通过无线或有线的方式发送,本申请实施例对此不做限制。
[0096] 上述即时消息加解密方法,终端获取接收方的公钥,根据接收方的公钥对密钥原文进行加密,生成第二密文密钥,并将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体,进而发送第二密文消息体。本实施例中,终端通过接收方方的公钥对密钥原文进行加密,生成第二密文秘钥,并发送将密文消息数据和第二密文秘钥拼接申城的第二密文消息体,使得发送的第二密文消息体中密钥原文,是通过接收方的公钥加密获得,提高了第二密文消息体的安全性。
[0097] 可选地,发送方的公钥包括即时消息发送方的身份识别标识;接收方公钥包括即时消息接收方的身份识别标识;发送方通过即时消息服务器获取发送方公钥和接收方公钥。
[0098] 具体地,发送方的身份识别标识可以是发送方在即时消息服务器中的身份识别标识,其可以是字母、数字或标点符号,本申请实施例对此不做限制。发送方的公钥可以是用户在即时消息服务器中设置的身份识别标识,也可以是即时消息服务器根据预设的算法分配给发送方的身份识别标识,本申请实施例对此不做限制。接收方的身份识别标识可以是接收方在即时消息服务器中的身份识别标识,其可以是字母、数字或标点符号,本申请实施例对此不做限制。接收方的公钥可以是用户在即时消息服务器中设置的身份识别标识,也可以是即时消息服务器根据预设的算法分配给接收方的身份识别标识,本申请实施例对此不做限制。发送方可以通过无线或有线的方式,从即时消息服务器获取发送方公钥和接收方公钥,本申请实施例对此不做限制。
[0099] 上述实施例描述的执行主体为发送方的即时消息加解密的方法,下面通过图5所示实施例来详细描述执行主体为接收方的即时消息加解密的方法。
[0100] 图5为一个实施例中即时消息加解密方法的流程示意图,本实施例涉及的是接收方在接收到上述实施例中涉及的第二密文消息体后,对该第二密文消息体进行解密处理,获得原文消息数据的具体过程,如图5所示,该方法包括以下步骤:
[0101] S401、接收第二密文消息体。
[0102] 具体地,在上述实施例的基础上,发送方发送第二密文消息体后,接收方可以接收第二密文消息体,其可以直接从发送方接收第二密文消息体,也可以通过服务器接收第二密文消息体,本申请实施例对此不做限制。在具体接收第二密文消息体时,可以通过无线或有线的方式来接收,本申请实施例对此不做限制。
[0103] S402、从第二密文消息体中提取密文消息数据和第二密文密钥。
[0104] 具体地,在上述实施例的基础上,第二密文消息体由密文消息数据和第二密文密钥拼接生成,若第二密文消息体可以由密文消息数据和第二密文密钥直接拼接获取,则可以直接从第二密文消息体中提取密文消息数据和第二密文密钥;若第二密文消息体可以由密文消息数据和第二密文密钥通过预设的规则拼接获取,则可以根据预设的规则,从第二密文消息体中提取密文消息数据和第二密文密钥。本申请实施例对此不做限制。
[0105] S403、获取接收方的私钥,通过接收方的私钥解密第二密文密钥,得到密钥原文。
[0106] 具体地,接收方的私钥可以是根据用户设置获得的数据,也可以是终端生成的数据,本申请实施例对此不做限制。第二密文密钥是通过接收方的公钥对密钥原文进行加密获得的,因此,在获取到接收方的私钥后,可以通过接收方私钥解密第二密文密钥,得到密钥原文。
[0107] S404、采用密钥原文解密密文消息数据,得到原文消息数据。
[0108] 具体地,在上述实施例的基础上,通过接收方的私钥对解密第二密文密钥,得到密钥原文后,密文消息数据是通过密钥原文加密原文消息数据获得的,因此采用该密钥原文解密密文消息数据,得到即时消息的原文消息数据。
[0109] 可选地,公钥为密钥中公开部分,私钥为密钥中非公开部分;公钥与私钥之间存在一一对应关系;发送方和/或接收方通过私钥解密与私钥对应的公钥加密的数据。
[0110] 应该理解的是,虽然图2‑5的流程图中的各个步骤按照箭头的指示,依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2‑5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0111] 图6为一个实施例中提供的即时消息加解密装置的结构示意图,如图6所示,该即时消息加解密装置包括:获取模块110、第一加密模块120、第二加密模块130、拼接模块140和存储模块150,其中:
[0112] 获取模块110,用于获取待发送即时消息的原文消息数据;
[0113] 第一加密模块120,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0114] 第二加密模块130,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0115] 拼接模块140,用于将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0116] 存储模块150,用于存储所述第一密文消息体。
[0117] 本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0118] 图7为另一个实施例中提供的即时消息加解密装置的结构示意图,在图6所示实施例的基础上,如图7所示,即时消息加解密装置还包括:发送模块160发送模块160具体用于获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
[0119] 本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0120] 图8为另一个实施例中提供的即时消息加解密装置的结构示意图,在图6或图7所示实施例的基础上,如图8所示,即时消息加解密装置还包括:解密模块170:
[0121] 解密模块170具体用于从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
[0122] 在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
[0123] 本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0124] 需要说明的是,图8是基于图7的基础上进行示出的,当然图8也可以基于图6的结构进行示出,这里仅是一种示例。
[0125] 图9为一个实施例中提供的即时消息加解密装置的结构示意图,如图9所示,即时消息加解密装置包括:接收模块210、提取模块220、第一解密模块230和第二解密模块240,其中:
[0126] 接收模块210,用于接收第二密文消息体;
[0127] 提取模块220,从所述第二密文消息体中提取密文消息数据和第二密文密钥;
[0128] 第一解密模块230,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;
[0129] 第二解密模块240,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
[0130] 在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
[0131] 本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0132] 关于一种即时消息加解密装置的具体限定可以参见上文中对即时消息加解密方法的限定,在此不再赘述。上述即时消息加解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0133] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种即时消息加解密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0134] 本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0135] 在一个实施例中,提供了一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0136] 获取待发送即时消息的原文消息数据;
[0137] 通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0138] 获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0139] 将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0140] 存储所述第一密文消息体。
[0141] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
[0142] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
[0143] 在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
[0144] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收第二密文消息体;
[0145] 从所述第二密文消息体中提取密文消息数据和第二密文密钥;
[0146] 获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
[0147] 采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
[0148] 在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
[0149] 本实施例提供的终端设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0150] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0151] 获取待发送即时消息的原文消息数据;
[0152] 通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
[0153] 获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
[0154] 将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
[0155] 存储所述第一密文消息体。
[0156] 在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
[0157] 在一个实施例中,计算机程序被处理器执行时实现以下步骤:从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
[0158] 在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
[0159] 在一个实施例中,计算机程序被处理器执行时实现以下步骤:
[0160] 接收第二密文消息体;
[0161] 从所述第二密文消息体中提取密文消息数据和第二密文密钥;
[0162] 获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
[0163] 采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
[0164] 在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
[0165] 本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0166] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0167] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0168] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。