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

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

Info

Publication number
CN111245771A
CN111245771A CN201811435072.3A CN201811435072A CN111245771A CN 111245771 A CN111245771 A CN 111245771A CN 201811435072 A CN201811435072 A CN 201811435072A CN 111245771 A CN111245771 A CN 111245771A
Authority
CN
China
Prior art keywords
key
ciphertext
message
sender
original text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811435072.3A
Other languages
English (en)
Other versions
CN111245771B (zh
Inventor
苏永彬
田献军
彭京
张如昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Sinosun Technology Co ltd
Original Assignee
Shenzhen Sinosun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Sinosun Technology Co ltd filed Critical Shenzhen Sinosun Technology Co ltd
Priority to CN201811435072.3A priority Critical patent/CN111245771B/zh
Publication of CN111245771A publication Critical patent/CN111245771A/zh
Application granted granted Critical
Publication of CN111245771B publication Critical patent/CN111245771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

即时消息加解密方法、装置、设备和存储介质
技术领域
本发明涉及信息安全的技术领域,特别是涉及了一种即时消息加解密方法、装置、设备和存储介质。
背景技术
随着终端设备的发展,人们越来越多的使用即时通讯软件进行即时通讯,在进行即时通讯的过程中,即时通讯的应用界面会同时显示发送消息和接收消息。
由于即时通讯的应用界面上同时显示发送消息和接收消息,因此常常把即时消息存储在本地数据库中。在存储即时消息时,通常采用明文存储的方法,即时消息的安全性依赖本地数据库的安全性。
当本地数据库被破解时,存储在本地数据库中的即时消息随之被破解,导致即时消息的安全性差。
发明内容
基于此,有必要针对即时消息安全性差问题,提供一种即时消息加解密方法、装置、设备和存储介质。
第一方面,一种即时消息加解密方法,应用于发送方,所述方法包括:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
上述即时消息加解密方法,应用于发送方,终端获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,终端获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。本实施例中,终端通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体,也就是说,待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。
在其中一个实施例中,所述方法还包括:
获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;
将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;
发送所述第二密文消息体。
在其中一个实施例中,所述方法还包括:
从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;
获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
在其中一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
第二方面,一种即时消息解密方法,应用于接收方,所述方法包括:
接收第二密文消息体;
从所述第二密文消息体中提取密文消息数据和第二密文密钥;
获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
在其中一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
第三方面,一种即时消息加解密装置,所述装置包括:
获取模块,用于获取待发送即时消息的原文消息数据;
第一加密模块,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
第二加密模块,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
拼接模块,用于将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储模块,用于存储所述第一密文消息体。
第四方面,一种即时消息加解密装置,所述装置包括:
接收模块,用于接收第二密文消息体;
提取模块,从所述第二密文消息体中提取密文消息数据和第二密文密钥;
第一解密模块,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;
第二解密模块,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
第六方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
上述即时消息加解密方法、装置、设备和存储介质。应用于发送方,获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成并存储第一密文消息体,即待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。
附图说明
图1为一个实施例提供的即时通讯的示意图;
图2为一个实施例中即时消息加解密方法的流程示意图;
图3为另一个实施例中即时消息加解密方法的流程示意图;
图4为另一个实施例中即时消息加解密方法的流程示意图;
图5为另一个实施例中即时消息加解密方法的流程示意图;
图6为一个实施例中提供的即时消息加解密装置的结构示意图;
图7为另一个实施例中提供的即时消息加解密装置的结构示意图;
图8为另一个实施例中提供的即时消息加解密装置的结构示意图;
图9为另一个实施例中提供的即时消息加解密装置的结构示意图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
随着终端设备的发展,人们越来越多的使用即时通讯软件进行即时通讯,在进行即时通讯的过程中,如图1所示,发送方10将即时消息的原文消息数据通过服务器20发送给接收方30,同时将该原文消息数据存储在发送方10的本地数据库110中,使得发送方10的显示界面上可以显示发送的即时消息。在将原文消息数据存储在本地数据库110中时,通常采用明文存储的方法,即时消息的安全性依赖本地数据库110的安全性。当本地数据库110被破解时,存储在本地数据库中110的即时消息随之被破解,导致即时消息的安全性差。本发明提供的即时消息加解密方法、装置、设备和存储介质,旨在提高即时消息安全性。
本实施例提供的即时消息加解密方法,可以适用于即时消息加解密的终端中,即时消息加解密的终端可以为智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理等具有数据处理功能的电子设备,本实施例对即时消息加解密终端的具体形式不做限定。
需要说明的是,本发明实施例提供的即时消息加解密的方法,其执行主体可以是即时消息加解密的装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为即时消息加解密终端的部分或者全部。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为一个实施例中即时消息加解密方法的流程示意图,本实施例涉及的是发送方终端通过密钥原文和第一密文密钥获得第一密文消息体,使得即时消息的原文消息数据以第一密文消息体形式存储的具体过程,如图2所示,该方法包括以下步骤:
S101、获取待发送即时消息的原文消息数据。
其中,即时消息可以是通在线实时通讯时传输的消息,其可以是文字消息、文件、图片消息、闪屏振动、语音通信或视频通信,本申请实施例对此不做限制。原文消息数据可以是对即时消息进行处理,获得可以在电子设备上应用的数据。
具体地,在获取待发送即时消息的原文消息数据的过程中,可以是同步获取待发送即时消息的原文消息数据,也可以是间隔预设的时间间隔获取待发送即时消息的原文消息数据,本申请实施例对此不做限制。例如,终端间隔预设的时间间隔获取待发送即时消息的原文消息数据,假设预设的时间间隔是10秒,则终端每间隔10秒,检测是否有待发送的即时消息,如有,则将该即时消息转换成原文消息数据。
S102、通过密钥原文对原文消息数据进行加密,生成密文消息数据。
其中,密钥原文可以是一种参数,是将明文转换成密文,或者是将密文转换成明文的算法中输入的参数,其可以是对称密钥原文,也可以是非对称密钥原文,本申请实施例对此不做限制。密文消息数据可以是通过密钥原文对即时消息的原文消息数据进行数据转换,获得加密后的即时消息的原文消息数据。其可以是打乱原文消息数据的字符顺序,也可以是将原文消息数据中的某一个字符用其他字符替换,本申请实施例对此不做限制。
具体地,可以通过随机算法,随机获取密钥原文。其可以是在每次通过密钥原文对原文消息数据进行加密时,通过随机算法,获取密钥原文;也可以是间隔预设的时间周期通过随机算法生成一个转换参数,当需要对即时消息的原文消息数据进行加密时,调用时间周期内生成的转换参数,为密钥原文;本申请实施例对此不做限制。例如,终端每间隔10秒生成一个随机密钥原文,在一个10秒周期内,在该10秒周期的第1秒时,终端通过随机算法生成一个转换参数,在第5秒时需要对原文消息数据进行加密时,则调用该10秒周期内第1秒时生成的转换参数,即为密钥原文。在获取了密钥原文后,通过该密钥原文对原文消息数据进行加密,生成密文消息数据。
S103、获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥。
其中,公钥可以是密钥中对外公开的部分,可以用于加密数据,其可以是调整待加密数据字符顺序的规则,也可以是将待加密数据中的一类字符用不同的字符替代,还可以是根据用户的身份标识等信息,通过数学方式生成一组参数,根据该参数对数据进行加密处理。发送方的公钥可以是发送方第一密文密钥可以是将密钥原文进行加密获得的密文形式的密钥。其中,密文形式可以是对消息数据进行加密处理,获得新的消息数据,使得非法获得者获得密文形式的数据时,不能直接获得数据的内容。
具体地,获取发送方的公钥时,可以是单独获得发送方的公钥,也可以是同时获取发送方的公钥和私钥,本申请实施例对此不做限制。当获取了发送方公钥时,可以根据该发送方的公钥对上述密钥原文进行加密。当发送方的公钥是调整字符顺序的规则时,其可以是根据发送方的公钥调整密钥原文的字符数据对密钥原文进行加密;当发送方的公钥是替换某一字符时,其还可以是根据发送方的公钥,替换密钥原文的某一字符,获得字符替换后的密钥原文,即为第一密文密钥;当发送方公钥为身份标识时,其可以是将身份标识转换为一组参数,通过该参数与密钥原文进行处理,获得加密后的密文原文,即为第一密文密钥。
S104、将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体。
具体地,在上述实施例的基础上,当获取了密文消息数据和第一密文密钥后,将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体。其可以是直接将密文消息数据和第一密文密钥拼接,生成第一密文消息体;还可以是通过预设的规则,将密文消息数据和第一密文密钥拼接,生成第一密文消息体;本申请实施例对此不做限制。例如,将密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得第一密文消息体。假设密文消息为1234567,第一密文密钥为ABCDEFG,将密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得1A2B3C4D5E6F7G,即为第一密文消息体。
S105、存储第一密文消息体。
具体地,在上述实施例的基础上,获得了第一密文消息体后,可以存储第一密文消息体,其可以将第一密文消息体存储在本地数据库中,也可以将第一密文消息存储在服务器中,还可以同时将第一密文消息体数据存储在本地数据库和服务器中,本申请实施例对此不做限制。
上述即时消息加解密方法,应用于发送方,终端获取待发送即时消息的原文消息数据,并通过密钥原文对原文消息数据进行加密,生成密文消息数据,同时,终端获取发送方的公钥,根据发送方的公钥对密钥原文进行加密,生成第一密文密钥,并将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体。本实施例中,终端通过密钥原文对待发送即时消息的原文消息数据进行加密,生成密文消息数据,并通过发送方公钥对密钥原文进行加密,生成第一密文密钥,进而将密文消息数据和第一密文密钥进行拼接,生成第一密文消息体,并存储第一密文消息体,也就是说,待发送的即时消息是通过多重加密的第一密文消息体存储,提高了即时消息的安全性。
在上述实施例的基础上,终端还可以通过发送方的私钥解密第一密文密钥,得到密钥原文。进而通过密钥原文解密密文消息数据,获得即时消息的原文消息数据。下面通过图3来详细说明。
图3为另一个实施例中即时消息加解密方法的流程示意图,本实施例涉及是终端通过发送方的私钥获得密钥原文的具体过程。如图3所示,该方法还包括以下步骤:
S201、从第一密文消息体中提取密文消息数据和第一密文密钥。
具体地,在上述实施例的基础上,由于第一密文消息体可以由密文消息数据和第一密文密钥拼接获得。若第一密文消息体可以由密文消息数据和第一密文密钥直接拼接获取,则可以直接从第一密文消息体中提取密文消息数据和第一密文密钥;若第一密文消息体可以由密文消息数据和第一密文密钥通过预设的规则拼接获取,则可以根据预设的规则,从第一密文消息体中提取密文消息数据和第一密文密钥。例如,第一密文消息体为1A2B3C4D5E6F7G,预设的规则为密文消息数据中的字符和第一密文密钥中的字符间隔拼接获得第一密文消息体,则根据该预设的规则,提取密文消息为1234567,第一密文密钥为ABCDEFG。
S202、获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文。
其中,私钥可以是密钥中不公开的部分,可以用于解密该私钥对应的公钥加密得到的密文数据,私钥可以是根据用户设置获得的数据,也可以是终端生成的数据,本申请实施例对此不做限制。例如,私钥是根据用户设置获得的数据,终端可以根据用户设置的数据,生成一组与其对应的数据,即为公钥。
具体地,在通过发送方的私钥解密第一密文密钥时,终端可以通过发送方的私钥获取其对应的公钥,再进一步根据该公钥解密第一密文密钥;也可以直接通过发送方的私钥解密第一密文密钥;本申请实施例对此不做限制。对第一密文秘钥解密后,即可得到密钥原文。
上述即时消息加解密方法,终端从第一密文消息体中提取密文消息数据和第一密文密钥,并获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文。本实施例中,终端从第一密文消息体中提取密文消息数据和第一密文密钥,并获取发送方的私钥,通过发送方的私钥解密第一密文密钥,得到密钥原文,进而根据密钥原文,解密密文消息数据,获得即时消息的原文消息数据,使得发送方在获取即时消息时,需要通过发送方私钥进行解密操作,进一步地提高了即时消息的安全性。
终端将即时消息通过第一密文消息体存储时,还可以将即时消息发送给接收方。在将即时消息发送给接收方时,可以通过接收方的公钥对即时消息进行加密,下面通过图4来详细说明。
图4为另一个实施例中即时消息加解密方法的流程示意图,本实施例涉及是如图4所示,该方法还包括以下步骤:
S301、获取接收方的公钥,根据接收方的公钥对密钥原文进行加密,生成第二密文密钥。
具体地,接收方的公钥可以是接收方的身份标识,也可以是接收方设置的一组数据,本申请实施例对此不做限制。在获取接收方的公钥时,可以通过服务器获取接收方的公钥,也可以是直接向接收方发送获取公钥的请求,通过接收方直接获取接收方的公钥。当发送方获取到接收方的公钥后,根据接收方的公钥,对密钥原文进行加密,生成第二密文密钥。当接收方的公钥为接收方设置的一组数字时,可以通过将密钥原文转换成一组数字,将该组数字与接收方公钥的数据进行计算,其可以是两者进行加减运算,获得运算后的一组数字,即为第二密文密钥。
S302、将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体。
具体地,在上述实施例的基础上,当获取了密文消息数据和第二密文密钥后,将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体。其可以是直接将密文消息数据和第二密文密钥拼接,生成第二密文消息体;还可以是通过预设的规则,将密文消息数据和第二密文密钥拼接,生成第二密文消息体;本申请实施例对此不做限制。
S303、发送第二密文消息体。
具体地,在上述实施例的基础上,将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体后,发送该第二密文消息体。在具体发送第二密文消息时,可以直接将第二密文消息体发送至接收方,也可以将第二密文消息体发送给服务器,通过服务器发送至接收方,本申请实施例对此不做限制。在发送第二密文消息体时,可以通过无线或有线的方式发送,本申请实施例对此不做限制。
上述即时消息加解密方法,终端获取接收方的公钥,根据接收方的公钥对密钥原文进行加密,生成第二密文密钥,并将密文消息数据和第二密文密钥进行拼接,生成第二密文消息体,进而发送第二密文消息体。本实施例中,终端通过接收方方的公钥对密钥原文进行加密,生成第二密文秘钥,并发送将密文消息数据和第二密文秘钥拼接申城的第二密文消息体,使得发送的第二密文消息体中密钥原文,是通过接收方的公钥加密获得,提高了第二密文消息体的安全性。
可选地,发送方的公钥包括即时消息发送方的身份识别标识;接收方公钥包括即时消息接收方的身份识别标识;发送方通过即时消息服务器获取发送方公钥和接收方公钥。
具体地,发送方的身份识别标识可以是发送方在即时消息服务器中的身份识别标识,其可以是字母、数字或标点符号,本申请实施例对此不做限制。发送方的公钥可以是用户在即时消息服务器中设置的身份识别标识,也可以是即时消息服务器根据预设的算法分配给发送方的身份识别标识,本申请实施例对此不做限制。接收方的身份识别标识可以是接收方在即时消息服务器中的身份识别标识,其可以是字母、数字或标点符号,本申请实施例对此不做限制。接收方的公钥可以是用户在即时消息服务器中设置的身份识别标识,也可以是即时消息服务器根据预设的算法分配给接收方的身份识别标识,本申请实施例对此不做限制。发送方可以通过无线或有线的方式,从即时消息服务器获取发送方公钥和接收方公钥,本申请实施例对此不做限制。
上述实施例描述的执行主体为发送方的即时消息加解密的方法,下面通过图5所示实施例来详细描述执行主体为接收方的即时消息加解密的方法。
图5为一个实施例中即时消息加解密方法的流程示意图,本实施例涉及的是接收方在接收到上述实施例中涉及的第二密文消息体后,对该第二密文消息体进行解密处理,获得原文消息数据的具体过程,如图5所示,该方法包括以下步骤:
S401、接收第二密文消息体。
具体地,在上述实施例的基础上,发送方发送第二密文消息体后,接收方可以接收第二密文消息体,其可以直接从发送方接收第二密文消息体,也可以通过服务器接收第二密文消息体,本申请实施例对此不做限制。在具体接收第二密文消息体时,可以通过无线或有线的方式来接收,本申请实施例对此不做限制。
S402、从第二密文消息体中提取密文消息数据和第二密文密钥。
具体地,在上述实施例的基础上,第二密文消息体由密文消息数据和第二密文密钥拼接生成,若第二密文消息体可以由密文消息数据和第二密文密钥直接拼接获取,则可以直接从第二密文消息体中提取密文消息数据和第二密文密钥;若第二密文消息体可以由密文消息数据和第二密文密钥通过预设的规则拼接获取,则可以根据预设的规则,从第二密文消息体中提取密文消息数据和第二密文密钥。本申请实施例对此不做限制。
S403、获取接收方的私钥,通过接收方的私钥解密第二密文密钥,得到密钥原文。
具体地,接收方的私钥可以是根据用户设置获得的数据,也可以是终端生成的数据,本申请实施例对此不做限制。第二密文密钥是通过接收方的公钥对密钥原文进行加密获得的,因此,在获取到接收方的私钥后,可以通过接收方私钥解密第二密文密钥,得到密钥原文。
S404、采用密钥原文解密密文消息数据,得到原文消息数据。
具体地,在上述实施例的基础上,通过接收方的私钥对解密第二密文密钥,得到密钥原文后,密文消息数据是通过密钥原文加密原文消息数据获得的,因此采用该密钥原文解密密文消息数据,得到即时消息的原文消息数据。
可选地,公钥为密钥中公开部分,私钥为密钥中非公开部分;公钥与私钥之间存在一一对应关系;发送方和/或接收方通过私钥解密与私钥对应的公钥加密的数据。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示,依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例中提供的即时消息加解密装置的结构示意图,如图6所示,该即时消息加解密装置包括:获取模块110、第一加密模块120、第二加密模块130、拼接模块140和存储模块150,其中:
获取模块110,用于获取待发送即时消息的原文消息数据;
第一加密模块120,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
第二加密模块130,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
拼接模块140,用于将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储模块150,用于存储所述第一密文消息体。
本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图7为另一个实施例中提供的即时消息加解密装置的结构示意图,在图6所示实施例的基础上,如图7所示,即时消息加解密装置还包括:发送模块160发送模块160具体用于获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图8为另一个实施例中提供的即时消息加解密装置的结构示意图,在图6或图7所示实施例的基础上,如图8所示,即时消息加解密装置还包括:解密模块170:
解密模块170具体用于从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,图8是基于图7的基础上进行示出的,当然图8也可以基于图6的结构进行示出,这里仅是一种示例。
图9为一个实施例中提供的即时消息加解密装置的结构示意图,如图9所示,即时消息加解密装置包括:接收模块210、提取模块220、第一解密模块230和第二解密模块240,其中:
接收模块210,用于接收第二密文消息体;
提取模块220,从所述第二密文消息体中提取密文消息数据和第二密文密钥;
第一解密模块230,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;
第二解密模块240,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
本发明实施例提供的即时消息加解密装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于一种即时消息加解密装置的具体限定可以参见上文中对即时消息加解密方法的限定,在此不再赘述。上述即时消息加解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图10所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种即时消息加解密方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收第二密文消息体;
从所述第二密文消息体中提取密文消息数据和第二密文密钥;
获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
本实施例提供的终端设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;发送所述第二密文消息体。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
在一个实施例中,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:
接收第二密文消息体;
从所述第二密文消息体中提取密文消息数据和第二密文密钥;
获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
在一个实施例中,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
本实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种即时消息加解密方法,应用于发送方,所述方法包括:
获取待发送即时消息的原文消息数据;
通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储所述第一密文消息体。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取接收方的公钥,根据所述接收方的公钥对所述密钥原文进行加密,生成第二密文密钥;
将所述密文消息数据和第二密文密钥进行拼接,生成第二密文消息体;
发送所述第二密文消息体。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述第一密文消息体中提取所述密文消息数据和第一密文密钥;
获取发送方的私钥,通过所述发送方的私钥解密所述第一密文密钥,得到密钥原文。
4.根据权利要求1所述的方法,其特征在于,所述发送方的公钥包括即时消息发送方的身份识别标识;所述接收方公钥包括即时消息接收方的身份识别标识;所述发送方通过即时消息服务器获取所述发送方公钥和所述接收方公钥。
5.一种即时消息解密方法,应用于接收方,所述方法包括:
接收第二密文消息体;
从所述第二密文消息体中提取密文消息数据和第二密文密钥;
获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,得到密钥原文;
采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
6.根据权利要求5所述的方法,其特征在于,所述公钥为密钥中公开部分,所述私钥为密钥中非公开部分;所述公钥与所述私钥之间存在一一对应关系;所述发送方和/或所述接收方通过所述私钥解密与所述私钥对应的所述公钥加密的数据。
7.一种即时消息加解密装置,其特征在于,所述装置包括:
获取模块,用于获取待发送即时消息的原文消息数据;
第一加密模块,用于通过密钥原文对所述原文消息数据进行加密,生成密文消息数据;
第二加密模块,用于获取发送方的公钥,根据所述发送方的公钥对所述密钥原文进行加密,生成第一密文密钥;
拼接模块,用于将所述密文消息数据和第一密文密钥进行拼接,生成第一密文消息体;
存储模块,用于存储所述第一密文消息体。
8.一种即时消息加解密装置,其特征在于,所述装置包括:
接收模块,用于接收第二密文消息体;
提取模块,从所述第二密文消息体中提取密文消息数据和第二密文密钥;
第一解密模块,用于获取接收方的私钥,通过所述接收方的私钥解密所述第二密文密钥,获取密钥原文;
第二解密模块,用于采用所述密钥原文解密所述密文消息数据,得到原文消息数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法的步骤。
CN201811435072.3A 2018-11-28 2018-11-28 即时消息加解密方法、装置、设备和存储介质 Active CN111245771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811435072.3A CN111245771B (zh) 2018-11-28 2018-11-28 即时消息加解密方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811435072.3A CN111245771B (zh) 2018-11-28 2018-11-28 即时消息加解密方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111245771A true CN111245771A (zh) 2020-06-05
CN111245771B CN111245771B (zh) 2022-07-08

Family

ID=70872219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811435072.3A Active CN111245771B (zh) 2018-11-28 2018-11-28 即时消息加解密方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111245771B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835511A (zh) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 数据安全传输方法、装置、计算机设备及存储介质
CN112235289A (zh) * 2020-10-13 2021-01-15 桂林微网互联信息技术有限公司 数据加解密方法、装置、计算设备及存储介质
CN113347211A (zh) * 2021-08-04 2021-09-03 北京微芯感知科技有限公司 身份分层加密方法、装置、***、计算机设备及存储介质
CN114765595A (zh) * 2021-01-04 2022-07-19 腾讯科技(深圳)有限公司 聊天消息的显示方法、发送方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263637A (zh) * 2010-05-28 2011-11-30 陈勇 一种信息加密方法及设备
CN106936759A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种单点登录方法、服务器及客户端
CN107222501A (zh) * 2017-07-06 2017-09-29 中国电子科技集团公司第二十九研究所 一种基于信息识别码非电磁信号的信息交互安全传输方法及***
CN107248915A (zh) * 2017-06-16 2017-10-13 山东浪潮通软信息科技有限公司 一种防止被暴力解密的数据信息动态加密的方法
CN107342977A (zh) * 2017-05-26 2017-11-10 芯盾网安(北京)科技发展有限公司 适用于点对点即时通信的信息保密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263637A (zh) * 2010-05-28 2011-11-30 陈勇 一种信息加密方法及设备
CN106936759A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种单点登录方法、服务器及客户端
CN107342977A (zh) * 2017-05-26 2017-11-10 芯盾网安(北京)科技发展有限公司 适用于点对点即时通信的信息保密方法
CN107248915A (zh) * 2017-06-16 2017-10-13 山东浪潮通软信息科技有限公司 一种防止被暴力解密的数据信息动态加密的方法
CN107222501A (zh) * 2017-07-06 2017-09-29 中国电子科技集团公司第二十九研究所 一种基于信息识别码非电磁信号的信息交互安全传输方法及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835511A (zh) * 2020-06-30 2020-10-27 平安国际智慧城市科技股份有限公司 数据安全传输方法、装置、计算机设备及存储介质
CN112235289A (zh) * 2020-10-13 2021-01-15 桂林微网互联信息技术有限公司 数据加解密方法、装置、计算设备及存储介质
CN114765595A (zh) * 2021-01-04 2022-07-19 腾讯科技(深圳)有限公司 聊天消息的显示方法、发送方法、装置、电子设备及介质
CN114765595B (zh) * 2021-01-04 2024-04-26 腾讯科技(深圳)有限公司 聊天消息的显示方法、发送方法、装置、电子设备及介质
CN113347211A (zh) * 2021-08-04 2021-09-03 北京微芯感知科技有限公司 身份分层加密方法、装置、***、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111245771B (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN111245771B (zh) 即时消息加解密方法、装置、设备和存储介质
EP3324572B1 (en) Information transmission method and mobile device
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN110100422B (zh) 基于区块链智能合约的数据写入方法、装置及存储介质
CN104079581B (zh) 身份认证方法及设备
CN105634737B (zh) 一种数据传输方法、终端及其***
CN107786331B (zh) 数据处理方法、装置、***及计算机可读存储介质
CN111079128A (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN108111497B (zh) 摄像机与服务器相互认证方法和装置
CN109768979B (zh) 数据加密传输方法、装置、计算机设备和存储介质
CN106487659B (zh) 信息加密方法、信息加密装置及终端
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN113572743B (zh) 数据加密、解密方法、装置、计算机设备和存储介质
CN111144531B (zh) 二维码生成方法和装置、电子设备、计算机可读存储介质
CN111178884A (zh) 信息处理方法、装置、设备及可读存储介质
CN104050431A (zh) 一种rfid芯片的自签名方法及其装置
CN104038336A (zh) 一种基于3des的数据加密方法
JP2018523360A (ja) 安全なsms通信のための方法及びシステム
CN111586023B (zh) 一种认证方法、设备和存储介质
CN110401531B (zh) 一种基于sm9算法的协同签名和解密***
CN112003697A (zh) 密码模块加解密方法、装置、电子设备及计算机存储介质
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN108846296B (zh) 数据的加密方法、装置、计算机设备和可读存储介质
CN104113410A (zh) 一种基于多表加密法的数据加密传输方法及装置
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant