CN116074106A - 一种报文加解密方法、装置、电子设备以及存储介质 - Google Patents

一种报文加解密方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN116074106A
CN116074106A CN202310126316.4A CN202310126316A CN116074106A CN 116074106 A CN116074106 A CN 116074106A CN 202310126316 A CN202310126316 A CN 202310126316A CN 116074106 A CN116074106 A CN 116074106A
Authority
CN
China
Prior art keywords
encrypted
information
message
initial
segments
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.)
Pending
Application number
CN202310126316.4A
Other languages
English (en)
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.)
Guangxi Beitou Xinchuang Technology Investment Group Co ltd
Original Assignee
Guangxi Beitou Xinchuang Technology Investment Group 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 Guangxi Beitou Xinchuang Technology Investment Group Co ltd filed Critical Guangxi Beitou Xinchuang Technology Investment Group Co ltd
Priority to CN202310126316.4A priority Critical patent/CN116074106A/zh
Publication of CN116074106A publication Critical patent/CN116074106A/zh
Pending legal-status Critical Current

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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

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)
  • Storage Device Security (AREA)

Abstract

本公开提供一种报文加解密方法、装置、电子设备以及存储介质,所述报文加密方法:利用秘钥对待加密明文进行加密,获得初始加密消息;确定初始加密消息包括的多个加密段的初始位置信息;对初始位置信息进行随机编码,获得目标密文和多个加密段的位置解码信息;基于目标密文、秘钥以及位置解码信息确定加密报文。本公开示例性实施例的方法可以解决固定报文结构容易被破解的问题,同时该加密方法能灵活扩充不同加解密方案,减少网关重新编译和部署的次数。

Description

一种报文加解密方法、装置、电子设备以及存储介质
技术领域
本发明涉及数据处理的技术领域,尤其涉及一种报文加解密方法、装置、电子设备以及存储介质。
背景技术
随着互联网技术的不断发展,在不同系统进行数据交互的过程中,数据安全问题越来越被大家所关注。为了实现数据的保密,企业通常会设计出一个统一的加解密方案来加密对外发布的信息;同时,企业也需要从外部系统接口获取数据来完成自身的业务,所以,一个企业必定要接受众多外部系统的加解密方案。
当前报文加解密的算法已经取得了不少成效明显的研究成果,但依然存在着许多亟待解决的难题。一方面,现有技术的加密方法容易造成信息泄露,另一方面,传统网关若想要新增、修改和删除加解密方案,则需要重新编译和部署加解密网关,而加解密网关作为一个通用服务,频繁发版会影响现有业务的正常运转。
发明内容
根据本公开的一方面,提供了一种报文加密方法,包括:
利用秘钥对待加密明文进行加密,获得初始加密消息;
确定所述初始加密消息包括的多个加密段的初始位置信息;
对每个所述加密段的初始位置信息进行随机编码,获得目标密文和多个所述加密段的位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
基于所述目标密文、所述秘钥以及位置解码信息确定加密报文。
根据本公开的另一方面,提供了一种报文解密方法,包括:
基于待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,所述位置解码信息包括所述待解密报文包括的多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
基于所述位置解码信息对所述目标密文进行解码,获得解码消息;
利用所述秘钥对所述解码消息进行解密,获得目标明文。
根据本公开的另一方面,提供了一种报文加密装置,包括:
加密模块,用于利用秘钥对待加密明文进行加密,获得初始加密消息;
编码模块,用于确定所述初始加密消息包括的多个加密段的初始位置信息,对每个所述加密段的初始位置信息进行随机编码,获得目标密文和多个所述加密段的位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
生成模块,还用于基于所述目标密文、所述秘钥以及位置解码信息确定加密报文。
根据本公开的另一方面,提供了一种报文解密装置,包括:
处理模块,用于根据待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
解密模块,用于根据所述位置解码信息对所述目标密文进行解码,获得解码消息;利用所述秘钥对所述解码消息进行解密,获得目标明文。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性实施例所述的方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开示例性实施例所述的方法。
本公开实施例中提供的一个或多个技术方案,利用秘钥对待加密明文进行加密,获得初始加密消息后,确定初始加密消息包括的多个加密段的初始位置信息。此时,可以对每个加密段的初始位置信息进行随机编码,获得目标密文和多个加密段的位置解码信息,位置解码信息包括多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息。最后基于目标密文、秘钥以及位置解码信息确定加密报文。
可见,本公开示例性实施例通过对每个加密段的初始位置信息进行随机编码,可以往报文密文中添加随机干扰,使得报文具备一定的随机性和变化,因此,本公开示例性实施例的报文比较安全和可靠,不容易被破解,从而降低信息泄露的风险,增加报文的安全性。
当目标接收方接收到待解密报文时,可以从待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,并基于位置解码信息解码目标密文,获得解码信息,然后利用秘钥对解码信息进行解密,获得目标明文。由于位置解码信息包括待解密报文包括的多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息,而且,报文发送方每次发送的报文的目标密文的位置编码有所差异,因此,非目标接收方即使大量截取报文发送方发送的报文,也无法从其中获取到该目标密文的解密策略。可见,本公开示例性实施例的报文解密方法不容易被破解,可以保证报文比较安全和可靠地进行传输,从而降低信息泄露的风险,增加报文的安全性。
本公开示例性实施例的位置解码信息包括待解密报文包括的多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息。此时,报文发送方每次发送的目标密文包括的加密段的位置编码方式有所不同,使得不同的目标密文可以使用同一套算法实现不同的加密和解密过程,因此,本公开示例性实施例的方法不需要重新编译、部署和发布加解密网关,因此,本公开示例性实施例方法可以灵活调整加解密方案,减少加解密网关的编译、部署次数,降低对现有业务正常运转的影响。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了本公开示例性实施例的计算机设备框架图;
图2示出了本公开示例性实施例的报文加解密方法的系统交互示意图;
图3示出了本公开示例性实施例的报文加密方法的流程示意图;
图4示出了本公开示例性实施例的加密报文结构图;
图5示出了本公开示例性实施例的报文解密方法的流程示意图;
图6示出了根据本公开示例性实施例的报文加密装置的功能模块示意性框图;
图7示出了根据本公开示例性实施例的报文解密装置的功能模块示意性框图;
图8示出了根据本公开示例性实施例的芯片的示意性框图;
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
常规的报文结构设计相对固定,使得攻击方容易找到报文的规律,增加信息被破解的风险。此外,由于加解密网关中内置的过滤器(filter)用于存储加解密方案,若想要新增一种加解密方案,则需要新增一个过滤器(filter),这需要重新编译和部署加解密网关,而加解密网关作为一个通用服务,频繁地发版可能会影响到现有的业务的正常运转。
针对上述问题,本公开示例性实施例提供一种报文加解密方法,以解决固定报文结构容易泄露报文规律,从而导致报文信息被破解的问题,同时,该方法能灵活扩充不同加解密方案,减少加解密网关重新编译和部署的次数,从而降低对现有业务正常运转的影响。
在介绍本公开实施例之前首先对本公开实施例中涉及到的相关名词作如下释义:
Java反射:是指在Java程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法,对于给定的一个对象,都能够调用它的任意一个属性和方法。这种动态获取类的内容以及动态调用对象的方法称为反射机制。
图1示出了本公开示例性实施例的计算机设备框架图100。如图1所示,本公开示例性实施例的计算机设备硬件包括:外部系统101和内部系统102。内部系统102包括加解密网关1021以及一个或多个后端服务1022。内部系统102包括的后端服务1022可以通过加解密网关1021与外部系统101进行通信,
示例性的,加解密网关1021除了包含加解密过滤器(加解密filter)10211和其他filter10212外,还包括预热单元10214、秘钥管理单元10216、class执行单元10213、class加载单元10217和class管理单元10215。需要注意,上述五个单元不一定要置于加解密网关内部,它们可以以其它形式出现在任意地方。
上述class管理单元10215主要用于维护各种自有的加解密相关class类,其中class的保存形态可以采用多种形态,可以使用单独的class文件保存,也可以使用jar包的形式保存。class加载单元10217主要负责加载不同加解密方案的class对象,class执行单元10213是加解密的主要负责组件,负责了加解密的主流程的管理,秘钥管理单元10216主要负责管理秘钥的新增与维护,预热单元10214主要用于根据预热策略确定需要缓存的资源对象,从其他单元加载相关对象并缓存,加速加解密网关的处理速度。这里的资源对象可以是秘钥、也可以是加解密方案对应的class对象。
图2示出了本公开示例性实施例的报文加解密方法的系统交互示意图200。如图2所示,本公开示例性实施例的外部系统和内部系统交互原理包括如下步骤:
初始化步骤:预热策略20211触发预热单元20213开始加载相关资源对象进行预热,以初始化后续加解密网关在加解密过程中必备的class以及秘钥等资源对象。其中,预热策略20211可以在加解密网关2021启动的时候触发,也可以在加解密网关2021运行的过程中手动触发。
在初始化步骤后,预热单元20213可以在报文加密过程和报文解密过程中调用class加载单元20212加载加解密网关2021中已维护好的class对象,并将加载后的class对象存储在预热单元20213中。例如:在预热单元20213调用class加载单元20212加载已维护好的class对象时,class加载单元20212还可以从class管理单元20215获取加解密网关2021已维护的现有class的资源对象。其中,class加载单元20212不仅能够加载加解密网关2021中自有的class对象,还能够加载文件系统2022和数据库2023的class数据,并将class数据转换为加解密对象。需要注意的是,对于已经加载过的class对象,同样需要进行缓存,缓存后的class对象存储在预热单元20213。
同时,预热单元20213调用秘钥管理单元20216的服务加载相关秘钥。此处秘钥管理单元20216维护的秘钥可以是字符串,也可以是数字证书等文件。秘钥管理单元20216负责从数据库、文件、甚至调用远程服务等方式来对外提供秘钥的加载服务。同时,秘钥管理单元20216具备缓存秘钥的能力,已经加载过的秘钥,都无须重复加载。
示例性的,如图2所示,当内部系统202的待加密明文需要加密并传输给外部系统201时,加解密网关2021接收到内部系统的后端服务2024传输的待加密明文,class执行单元20214负责判定报文需要使用的加密方式,获得判定结果。class执行单元20214基于判定结果可以调用预热单元20213加载相关class对象以及秘钥。若预热单元20213数据已经过期,或者相关资源未加载,则预热单元20213会主动加载相关资源并缓存。预热单元20213缓存好相关class对象以及秘钥后,class执行单元20214通过Java反射技术获取本次加密所需要的相关class对象以及秘钥,class执行单元20214利用相关class对象以及秘钥对待加密明文进行加密操作,获得加密报文。最后,内部系统202把加密报文传输给外部系统201。
示例性的,如图2所示,当加解密网关2021接收到外部系统201发送的待解密报文,需要对待解密报文进行解密时,class执行单元20214负责判定报文需要使用的解密方式,获得判定结果。class执行单元20214基于判定结果可以调用预热单元20213加载相关class对象以及秘钥。若预热单元20213数据已经过期,或者相关资源未加载,则预热单元20213会主动加载相关资源并缓存。预热单元20213缓存好相关class对象以及秘钥后,class执行单元20214通过Java反射技术获取本次解密所需要的相关class对象以及秘钥,class执行单元20214利用相关class对象以及秘钥对外部系统201发送的待解密报文进行解密操作,获得目标明文。最后,加解密网关2021把目标明文传输给后端服务2024。
在实际应用中,由于从内存中读取数据的速度比直接读磁盘的速度要快10倍以上,而从数字证书中提取秘钥是一个文件的读取的过程,后续通过秘钥来创建加解密对象也同样是耗时操作,耗时操作会降低加解密网关的处理效率。所以,将耗时的数据缓存到内存中,将读磁盘操作变成读内存操作,能够显著提高加解密网关的处理效率。
在本公开示例性实施例的报文加解密方法的系统中,预热单元承担了不同资源对象的存储职能,也是加解密网关中的第一道缓存,第一道缓存能够极大的减少重复的资源加载,极大地提升加密和解密的处理效率。而class加载单元以及秘钥管理单元则构建了加解密网关中的第二道缓存,第二道缓存能够在第一道缓存的数据过期后肩负起二次缓冲的作用,在降低第一道缓存的压力的同时,也增加了系统的稳定性,在报文加解密的过程中,通过合适的缓存策略提高加解密的效率。
在本公开示例性实施例的报文加解密方法的系统中,若需要增加新的加解密方案,只需通过class管理单元20215和秘钥管理单元20216分别维护好class对象和秘钥。在实际应用中,通过Java反射能力灵活调用所需的class对象和秘钥进行加解密操作,无须再重新编译和部署网关,降低对现有业务运转的影响,保障系统稳定性。
可见,本公开示例性实施例设计出一个效率更高、能更平滑地扩充不同加解密方案的加解密网关。
图3示出了本公开示例性实施例的报文加密方法的流程示意图300。如图3所示,本公开示例性实施例的报文加密方法包括:
步骤301:利用秘钥对待加密明文进行加密,获得初始加密消息。此处待加密明文可以为内部系统传给外部系统的数据或者消息,待加密明文所含有的内容可以是需要进行加密的数据。这些数据可以是各种类型的数据,如多媒体数据、代码数据等,但不仅限于此。数据格式可以为key-value格式,或其他可能的格式,但不仅限于此。
在实际应用中,可以随机生成一个随机秘钥,使用随机秘钥对待加密明文进行加密,获得初始加密消息。秘钥加密方法可以为对称加密方法(也称私钥加密方法),也可以为非对称加密方法(公钥加密方法)。当采用对称加密方法加密待加密明文时,加密和解密使用同一秘钥。当采用非对称加密方法加密待加密明文时,可以创建公钥和私钥,报文发送方利用私钥对待加密明文进行加密。当目标接收方获取到加密报文后,可以利用公钥对初始加密消息进行解密,从而获得目标明文。由于报文发送方每次使用的秘钥都是随机生成,加密后的初始加密消息有所差异,因此,非目标接收方即使大量截取报文发送方发送的报文,也无法从其中获取到该目标密文的解密秘钥,从而保证报文信息不会泄露。
可见,本公开示例性实施例的报文加密方法可以保证只有拥有秘钥的目标接收方才能解密初始加密消息,由此可知,使用本示例性实施例的报文加密方法加密后的初始加密消息具备安全和可靠的特点,不容易被破解,从而降低信息泄露的风险,增加报文的安全性。
步骤302:确定初始加密消息包括的多个加密段的初始位置信息。初始位置信息可以体现对应加密段在初始加密消息中的位置,因此,可以通过多个加密段的初始位置信息将多个加密段进行排序和拼接,从而获得初始加密消息。多个加密段的初始位置信息通过第一集合保存,多个加密段对应的初始位置信息在所述第一集合中按照多个所述加密段在所述初始加密消息中的位置排序。
示例性的,可以在确定初始加密消息包括的多个加密段的初始位置信息前,将初始加密消息随机拆分成多个加密段。例如:可以随机给定加密段数量N,基于加密段数量N对初始加密消息进行拆分,从而获得N个加密段,N为大于1的整数。同时,可以记录N个加密段在初始加密消息的初始位置信息,并按照初始位置信息在初始加密消息的先后顺序保存在第一集合中。此处每个加密段的初始位置信息包括:加密段在初始加密消息中的起始位置参数和结束位置参数。
举例来说,本公开示例性实施例的初始加密消息为ABCDEFGHI,由9个字符组成,该初始加密消息被随机拆分成如表1所示的三个加密段。
表1加密段的初始位置信息
加密段 加密段内容 初始位置信息 集合元素顺序
第一加密段 AB [0,2] 1
第二加密段 CDEFG [2,7] 2
第三加密段 HI [7,9] 3
如表1所示,三个加密段分别为第一加密段、第二加密段和第三加密段,第一加密段包括:AB,由2个字符组成,其对应的初始位置信息可以为[0,2],第二加密段包括:CDEFG,由5个字符组成,其对应的初始位置信息可以为[2,7],第三加密段包括:HI,由2个字符组成,其对应的初始位置信息可以为[7,9]。基于此,可以将三个加密段的初始位置信息按顺序记录第一集合内,可以获得第一集合{[0,2],[2,7],[7,9]}。可见,本公开示例性实施例中将初始加密消息拆分成多个加密段的过程中,每个加密段内的字符之间的顺序保持不变,按照第一集合中的初始位置信息拼接加密段,可以把拆分后的加密段重组为初始加密消息。
举例来说,第一集合中的元素[0,2]指示第一加密段的初始位置信息,元素[0,2]是第一集合中的第一个元素,映射第一加密段在初始加密消息中排第一位;第一集合中的元素[2,7]指示第二加密段的初始位置信息,元素[2,7]是第一集合的第二个元素,映射第二加密段在初始加密消息中排第二位,排在第一加密段之后;第一集合中的元素[7,9]指示第三加密段的初始位置信息,元素[7,9]是第一集合的第三个元素,映射第三加密段在初始加密消息中排第三位,排在第二加密段之后。可见,本公开示例性实施例中第一集合的元素顺序即为每个加密段在初始加密消息中的位置顺序,按照第一集合中的元素顺序拼接加密段,可以把拆分后的加密段重组为初始加密消息。由此可见,本公开示例性实施例的第一集合中的元素顺序与每个加密段在初始加密消息中对应的初始位置信息存在映射关系,通过第一集合中的元素顺序可以间接的体现对应加密段在初始加密消息中对应的初始位置信息。
步骤303:对每个加密段的初始位置信息进行随机编码,获得目标密文和多个加密段的位置解码信息。此处随机编码包括至少一次随机编码,位置解码信息可以包括多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息。
在实际应用中,本公开示例性实施例多个加密段的位置随机编码信息保存在第二集合中,多个加密段的位置随机编码信息在第二集合中按照多个加密段在初始加密消息中的位置排序。举例来说,可以利用每个加密段的位置随机编码信息更新第一集合所保存的对应加密段的初始位置信息,从而使得更新后的第一集合保存有多个加密段的位置随机编码信息,也就是说,本公开示例性实施例的第二集合可以为所述更新后的第一集合。同时,由于第一集合中的元素顺序与每个加密段在初始加密消息中对应的初始位置信息存在映射关系,因此,对于更新后的第一集合来说,其不仅保存有多个加密段的位置随机编码信息,还可以通过加密段的位置随机编码信息在更新后的第一集合中的位置,表示出加密段的初始位置信息与位置随机编码信息之间的映射信息。
步骤304:基于目标密文、秘钥以及位置解码信息确定加密报文。此处可以是基于秘钥和位置解码信息,确定解密信息,然后基于解密信息、目标密文和消息签名确定加密报文。
在实际应用中,本公开示例性实施例的秘钥加密方法可以为对称加密方法(也称私钥加密方法),也可以为非对称加密方法(公钥加密方法)。当采用对称加密方法加密解密信息时,加密和解密使用同一秘钥。当采用非对称加密方法加密解密信息时,可以创建公钥和私钥,报文发送方利用私钥对解密信息进行加密,然后存放在加密报文的报文头中,当目标接收方获取到加密报文后,可以利用公钥对解密信息进行解密,从而获得解密信息。
在实际应用中,如果目标明文的加密算法与解密信息的加密算法不同,那么在目标接收方接收到加密报文后,解密解密信息以及对目标密文进行解密的解密算法不同。
图4示出了本公开示例性实施例的加密报文结构图400,如图4所示,加密报文的结构可以包括报文头401、目标密文402和消息签名403。报文头包括解密信息4011和报文属性信息4012,解密信息包括秘钥40111和位置解码信息40112,目标密文402包括多个加密段4021和多个干扰串4022,此处的报文属性信息4012包括但不限于报文请求方法、报文协议版本和发送方的IP地址。此处的消息签名403通过发送方用私钥对目标密文的散列值进行加密获得,目标接收方接收到加密报文后使用对应的公钥对消息签名进行解密,如果解密结果等于目标密文的散列值,则证明该加密报文由发送方发出,未被他人篡改。由于利用发送方私钥加密的目标密文的散列值,只能用对应的公钥进行解密,非发送方由于缺少私钥,即使冒充发送方给目标接收方发送消息,其消息签名也无法使用正确的私钥加密生成,目标接收方接收到加密报文后,由于无法使用正确的公钥对消息签名进行解密,目标接收方便知该加密报文不是由发送方发出。由此可见,可以通过消息签名辨别加密报文的发送方,保证加密报文未被他人篡改。
可见,本公开示例性实施例的报文加密方法保留了常见的报文头和消息签名等静态结构,而对目标密文进行随机编码,使目标密文模块增加了动态随机性。静态的报文结构具有结构层次分明、便于解析的特点,但固定的结构也会更容易让攻击方寻找到报文的规律,而通过对目标密文进行随机编码,增加一些随机因素,使得报文具备一定的随机性和变化,必然会增加报文破解的难度。由此可知,动态随机性与静态结构的结合,使得加密报文既具备层次分明、便于解析的特点,还能在原有的基础上进一步增加报文的安全性,设计出一个更安全、更可靠的报文结构,可以保证报文比较安全和可靠地进行传输,从而降低信息泄露的风险,增加报文的安全性。
在一种可选方式中,至少一次随机编码包括:基于位置顺序调整的随机编码,或者基于干扰串插入的随机编码,甚至可以包括基于位置顺序调整的随机编码和基于干扰串插入的随机编码,从而将多个报文段的顺序打乱,往报文结构增加一些随机因素,使得报文具备一定的随机性和变化,增加报文的破解难度。应理解,当基于位置顺序调整和基于干扰串插入进行随机编码时,可以先基于位置顺序调整进行随机编码,然后基于干扰串插入进行随机编码,也可以先基于干扰串插入进行随机编码,然后基于位置顺序调整进行随机编码。
示例性的,基于位置顺序调整的随机编码可以包括:利用位置指示信息对多个加密段的初始位置信息进行更新,以调整多个加密段的位置顺序,位置指示信息用于指示至少一个加密段在初始加密消息中的更新位置,因此,可以利用位置指示信息对多个加密段的初始位置信息进行更新对应加密段的初始位置信息。
举例来说,本公开示例性实施例基于位置指示信息调整表1所示的三个加密段的位置顺序,获得对应三个加密段对应的位置随机编码信息,每个加密段对应内容、初始位置信息和位置随机编码信息如下表2所示:
表2初始位置信息和位置随机编码信息
加密段 加密段内容 初始位置信息 位置随机编码信息 集合元素顺序
第一加密段 AB [0,2] [7,9] 1
第二加密段 CDEFG [2,7] [0,5] 2
第三加密段 HI [7,9] [5,7] 3
在每个加密段基于位置顺序调整的随机编码后,可以获得对应的位置随机编码信息,对于加密段来说,其对应的内容、初始位置信息和位置随机编码信息可以参考表2,将每个加密段的位置随机编码信息按顺序记录第二集合内,可以获得第二集合{[7,9],[0,5],[5,7]}。可见,本公开示例性实施例中基于位置顺序调整的方式对多个加密段的初始位置信息进行随机编码,实质是对第一集合中对应加密段的初始位置信息进行调整,获得加密段的位置随机编码信息,但是该加密段的位置随机编码信息在第一集合中的元素顺序并未发生变化,因此,对于更新后的第一集合来说,其不仅保存有多个加密段的位置随机编码信息,还可以通过加密段的位置随机编码信息在更新后的第一集合中的位置,表示出加密段的初始位置信息与位置随机编码信息之间的映射信息。基于此,按照更新后的第一集合中的位置随机编码信息拼接加密段,可以把基于位置顺序调整的随机编码后的加密段重组为初始加密消息。
示例性的,基于干扰串插入的随机编码,包括:目标密文包括多个加密段和至少一个随机干扰串,相邻两个加密段之间具有相应个随机干扰串。此处的干扰串可以包括数字、字母和符号,但不仅限于此。
举例来说,本公开示例性实施例随机生成三个干扰串,第一干扰串包括:a,由1个字符组成,第二干扰串包括:bc,由2个字符组成,第三干扰串包括:def,由3个字符组成,其中第一干扰串插入第一加密段之前,第二干扰串插入第二加密段之后、第三干扰串插入第三加密段之前,每个加密段对应内容、初始位置信息和位置随机编码信息如下表3所示:
表3初始位置信息和位置随机编码信息
字段 字段内容 初始位置信息 位置随机编码信息 集合元素顺序
第一干扰串 a / [0,1] /
第一加密段 AB [0,2] [1,3] 1
第二加密段 CDEFG [2,7] [3,8] 2
第二干扰串 bc / [8,10] /
第三干扰串 def / [10,13] /
第三加密段 HI [7,9] [13,15] 3
每个加密段基于干扰串插入的随机编码后,可以获得对应的位置随机编码信息,对于加密段来说,其对应的内容、初始位置信息和位置随机编码信息可以参考表3,将每个加密段的位置随机编码信息按顺序记录第二集合内,可以获得第二集合{[1,3],[3,8],[13,15]}。可见,本公开示例性实施例中基于干扰串插入的方式,对多个加密段的初始位置信息进行随机编码,实质是对第一集合中对应加密段的初始位置信息进行调整,获得加密段的位置随机编码信息,但是该加密段的位置随机编码信息在第一集合中的元素顺序并未发生变化,因此,对于更新后的第一集合来说,其不仅保存有多个加密段的位置随机编码信息,还可以通过加密段的位置随机编码信息在更新后的第一集合中的位置,表示出加密段的初始位置信息与位置随机编码信息之间的映射信息。基于此,按照更新后的第一集合中的位置随机编码信息拼接加密段,可以把基于干扰串插入调整的随机编码后的加密段重组为初始加密消息。
示例性的,还可以同时基于位置顺序调整和基于干扰串插入对加密段的初始位置信息进行随机编码。在实际应用中,可以先对加密段的初始位置信息进行位置顺序调整再插入干扰串,也可以先在加密段之间插入干扰串再进行位置顺序调整,此处位置顺序调整和干扰串插入的次数可以是一次或者多次。
举例来说,本公开示例性实施例先基于位置指示信息调整表1所示的三个加密段的位置顺序,获得三个加密段对应的初始位置随机编码信息。然后随机生成三个干扰串,第一干扰串包括:a,由1个字符组成,第二干扰串包括:bc,由2个字符组成,第三干扰串包括:def,由3个字符组成,其中第一干扰串插入第二加密段之前,第二干扰串插入第三加密段之后、第三干扰串插入第一加密段之前,获得三个加密段对应的位置随机编码信息,每个加密段对应内容、初始位置信息、初始位置随机编码信息、位置随机编码信息和元素位置顺序如下表4所示:
表4初始位置信息和位置随机编码信息
Figure BDA0004082279130000111
每个加密段基于位置指示信息的随机编码后,可以获得初始位置随机编码信息,然后随机生成多个干扰串随机插入加密段之间,可以获得位置随机编码信息,对于加密段来说,其对应的内容、初始位置信息、初始位置随机编码信息、位置随机编码信息和元素位置顺序可以参考表4,将每个加密段的位置随机编码信息按顺序记录第二集合内,可以获得第二集合{[13,15],[1,6],[6,8]}。可见,本公开示例性实施例中基于位置顺序调整的方式,对多个加密段的初始位置信息进行随机编码,实质是对第一集合中对应加密段的初始位置信息进行调整,获得加密段的初始位置随机编码信息,然后基于干扰串插入的方式,对多个加密段的初始位置随机编码信息进行随机编码,实质是对第一集合中对应加密段的初始位置随机编码信息进行调整,获得加密段的位置随机编码信息,在此过程中,该加密段的位置随机编码信息在第一集合中的元素顺序并未发生变化,因此,对于更新后的第一集合来说,其不仅保存有多个加密段的位置随机编码信息,还可以通过加密段的位置随机编码信息在更新后的第一集合中的位置,表示出加密段的初始位置信息与位置随机编码信息之间的映射信息。基于此,按照更新后的第一集合中的位置随机编码信息拼接加密段,可以把基于干扰串插入调整的随机编码后的加密段重组为初始加密消息。
本公开示例性实施例的报文加密方法将待加密明文加密为加密报文后,可以通过中间件发送至外部系统的目标接收方。
本公开示例性实施例还可以提供一种报文解密方法,其可以由目标接收方基于待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,此处位置解码信息包括待解密报文包括的多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息。基于位置解码信息对目标密文进行解码,获得解码消息,利用秘钥对解码消息进行解密,获得目标明文。
图5示出了本公开示例性实施例的报文解密方法的流程示意图500。如图5所示,本公开示例性实施例的报文解密方法,包括:
步骤501:基于待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,位置解码信息包括待解密报文包括的多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息。
当报文发送方采用非对称加密算法对解密信息进行加密时,如果其利用私钥对解密信息进行加密,目标接收方则利用对应的公钥对解密信息进行解密,如果其利用公钥对解密信息进行加密,目标接收方则利用对应的私钥对解密信息进行解密。此处解密信息包括目标密文的秘钥以及位置解码信息,目标接收方基于解密信息进行解析,可以获得目标密文的秘钥以及位置解码信息。
步骤502:基于位置解码信息对目标密文进行解码,获得解码消息。示例性的,可以基于每个加密段的位置随机编码信息,从每个加密段的初始位置信息与位置随机编码信息之间的映射信息中获取对应加密段的初始位置信息,基于多个加密段的初始位置信息,对目标密文包括的多个加密段进行重组,获得所述解码信息。
当多个加密段的位置随机编码信息保存在第二集合中,多个加密段的位置随机编码信息在第二集合中按照多个加密段在初始加密消息中的位置排序。基于此,根据第二集合中的位置随机编码信息从目标密文中截取出对应的字符串,此处的字符串即为目标密文包括的多个加密段,再按照位置随机编码信息在第二集合中的元素位置对所有加密段进行排序,可重组为解码信息。
步骤503:利用秘钥对解码消息进行解密,获得目标明文。
在实际应用中,当报文发送方采用对称加密算法对目标密文进行加密时,加密和解密使用同一秘钥,目标接收方利用相同的秘钥对解码消息进行解密,获得目标明文。当报文发送方采用非对称加密方法加密目标密文时,可以创建公钥和私钥,报文发送方利用私钥对目标密文进行加密,目标接收方获取到解码消息后,可以利用公钥进行解密,从而获得目标明文。由于利用发送方秘钥加密的解码信息,只能用对应的秘钥进行解密,非目标接收方由于缺少秘钥,即使截取到待解密报文也无法进行解密,由此保证报文的信息安全,阻止信息泄露。
由于位置解码信息包括待解密报文包括的多个加密段的位置随机编码信息,以及每个加密段的初始位置信息与位置随机编码信息之间的映射信息,而且,报文发送方每次发送的报文的目标密文的位置编码有所差异,因此,非目标接收方即使大量截取报文发送方发送的报文,也无法从其中获取到该目标密文的解密策略。可见,本公开示例性实施例的报文解密方法不容易被破解,可以保证报文比较安全和可靠地进行传输,从而降低信息泄露的风险,增加报文的安全性。
上述主要从方法的角度对本公开实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,本公开示例性实施例的方法对应的装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种报文加密装置,该报文加密装置可以为电子设备或应用于电子设备的芯片。图6示出了根据本公开示例性实施例的报文加密装置的功能模块示意性框图600。如图6所示,该报文加密装置包括:
加密模块601,用于利用秘钥对待加密明文进行加密,获得初始加密消息;
编码模块602,用于确定所述初始加密消息包括的多个加密段的初始位置信息,对每个所述加密段的初始位置信息进行随机编码,获得目标密文和多个所述加密段的位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
生成模块603用于基于所述目标密文、所述秘钥以及位置解码信息确定加密报文。
在一种可能的实现方式中,所述加密模块用于利用秘钥对待加密明文进行加密,获得初始加密消息后,所述编码模块用于确定所述初始加密消息包括的多个加密段的初始位置信息前,所述编码模块还用于将所述初始加密消息随机拆分为多个加密段。
在一种可能的实现方式中,多个加密段的初始位置信息通过第一集合保存,多个所述加密段对应的初始位置信息在所述第一集合中按照多个所述加密段在所述初始加密消息中的位置排序。
多个所述加密段的位置随机编码信息保存在第二集合中,多个所述加密段的位置随机编码信息在所述第二集合中按照多个所述加密段在所述初始加密消息中的位置排序。
在一种可能的实现方式中,所述随机编码包括至少一次随机编码,所述编码模块用于基于位置顺序调整的随机编码;和/或;基于干扰串插入的随机编码。
在一种可能的实现方式中,所述编码模块用于利用位置指示信息对多个所述加密段的初始位置信息进行更新,以调整多个所述加密段的位置顺序,所述位置指示信息用于指示至少一个所述加密段在所述初始加密消息中的更新位置。
在一种可能的实现方式中,生成模块基于所述秘钥和所述位置解码信息,确定解密信息;基于所述解密信息、所述目标密文和消息签名确定所述加密报文。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种报文解密装置,该报文解密装置可以为电子设备或应用于电子设备的芯片。图7示出了根据本公开示例性实施例的报文解密装置的功能模块示意性框图700。如图7所示,该报文解密装置包括:
处理模块701,用于根据待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
解密模块702,用于根据所述位置解码信息对所述目标密文进行解码,获得解码消息;利用所述秘钥对所述解码消息进行解密,获得目标明文。
在一种可能的实现方式中,解密模块基于每个加密段的位置随机编码信息,从每个加密段的初始位置信息与位置随机编码信息之间的映射信息中获取对应加密段的初始位置信息。
在一种可能的实现方式中,解密模块基于多个所述加密段的初始位置信息,对所述目标密文包括的多个所述加密段进行重组,获得所述解码信息。
图8示出了根据本公开示例性实施例的芯片的示意性框图。如图8所示,该芯片800包括一个或两个以上(包括两个)处理器801和通信接口802。通信接口802可以支持服务器执行上述图像处理方法中的数据收发步骤,处理器801可以支持服务器执行上述图像处理方法中的数据处理步骤。
可选的,如图8所示,该芯片800还包括存储器803,存储器803可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatilerandomaccessmemory,NVRAM)。
在一些实施方式中,如图8所示,处理器801通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器801控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(centralprocessingunit,CPU)。存储器803可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器803的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessing,DSP)、ASIC、现成可编程门阵列(field-programmablegatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,基于对称算法生成随机秘钥对待加密明文进行加密,获得初始加密消息;确定初始加密消息包括的多个加密段的初始位置信息;对每个加密段的初始位置信息进行随机编码,获得目标密文和位置解码信息;基于目标密文、秘钥以及位置解码信息确定加密报文;根据待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息;根据位置解码信息对目标密文进行解码,获得解码消息;利用秘钥对解码消息进行解密,获得目标明文等方法均可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和/或通信单元909而被载入和/或安装到电子设备900上。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digitalvideodisc,DVD);还可以是半导体介质,例如,固态硬盘(solidstatedrive,SSD)。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。

Claims (14)

1.一种报文加密方法,其特征在于,包括:
利用秘钥对待加密明文进行加密,获得初始加密消息;
确定所述初始加密消息包括的多个加密段的初始位置信息;
对每个所述加密段的初始位置信息进行随机编码,获得目标密文和多个所述加密段的位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
基于所述目标密文、所述秘钥以及位置解码信息确定加密报文。
2.根据权利要求1所述的方法,其特征在于,所述利用秘钥对待加密明文进行加密,获得初始加密消息后,所述确定所述初始加密消息包括的多个加密段的初始位置信息前,所述方法还包括:
将所述初始加密消息随机拆分为多个加密段。
3.根据权利要求1所述的方法,其特征在于,多个加密段的初始位置信息通过第一集合保存,多个所述加密段对应的初始位置信息在所述第一集合中按照多个所述加密段在所述初始加密消息中的位置排序;
多个所述加密段的位置随机编码信息保存在第二集合中,多个所述加密段的位置随机编码信息在所述第二集合中按照多个所述加密段在所述初始加密消息中的位置排序。
4.根据权利要求1所述的方法,其特征在于,所述随机编码包括至少一次随机编码,所述至少一次随机编码包括:
基于位置顺序调整的随机编码;和/或;
基于干扰串插入的随机编码。
5.根据权利要求4所述的方法,其特征在于,所述基于位置顺序调整的随机编码,包括:
利用位置指示信息对多个所述加密段的初始位置信息进行更新,以调整多个所述加密段的位置顺序,所述位置指示信息用于指示至少一个所述加密段在所述初始加密消息中的更新位置。
6.根据权利要求4所述的方法,其特征在于,所述目标密文包括多个加密段和至少一个随机干扰串,相邻两个所述加密段之间具有相应个所述随机干扰串。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述秘钥为随机秘钥,每个所述加密段的初始位置信息包括:所述加密段在所述初始加密消息中的起始位置参数和结束位置参数。
8.根据权利要求1~6任一项所述的方法,其特征在于,所述基于所述目标密文、所述秘钥以及位置解码信息确定加密报文,包括:
基于所述秘钥和位置解码信息,确定解密信息,
基于所述解密信息、所述目标密文和消息签名确定所述加密报文。
9.一种报文解密方法,其特征在于,包括:
基于待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,所述位置解码信息包括所述待解密报文包括的多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
基于所述位置解码信息对所述目标密文进行解码,获得解码消息;
利用所述秘钥对所述解码消息进行解密,获得目标明文。
10.所述目标密文至少包括多个加密段,所述基于所述位置解码信息对所述目标密文进行解码,获得解码消息,包括:
基于每个所述加密段的位置随机编码信息,从每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息中获取对应所述加密段的初始位置信息;
基于多个所述加密段的初始位置信息,对所述目标密文包括的多个所述加密段进行重组,获得所述解码信息。
11.一种报文加密装置,其特征在于,包括:
加密模块,用于利用秘钥对待加密明文进行加密,获得初始加密消息;
编码模块,用于确定所述初始加密消息包括的多个加密段的初始位置信息,对每个所述加密段的初始位置信息进行随机编码,获得目标密文和多个所述加密段的位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
生成模块,用于基于所述目标密文、所述秘钥以及位置解码信息确定加密报文。
12.一种报文解密装置,其特征在于,包括:
处理模块,用于根据待解密报文解析出目标密文、目标密文的秘钥以及位置解码信息,所述位置解码信息包括多个所述加密段的位置随机编码信息,以及每个所述加密段的初始位置信息与位置随机编码信息之间的映射信息;
解密模块,用于根据所述位置解码信息对所述目标密文进行解码,获得解码消息;利用所述秘钥对所述解码消息进行解密,获得目标明文。
13.一种电子设备,其特征在于,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1~10中任一项所述的方法。
14.一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据权利要求1~10中任一项所述的方法。
CN202310126316.4A 2023-02-16 2023-02-16 一种报文加解密方法、装置、电子设备以及存储介质 Pending CN116074106A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310126316.4A CN116074106A (zh) 2023-02-16 2023-02-16 一种报文加解密方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310126316.4A CN116074106A (zh) 2023-02-16 2023-02-16 一种报文加解密方法、装置、电子设备以及存储介质

Publications (1)

Publication Number Publication Date
CN116074106A true CN116074106A (zh) 2023-05-05

Family

ID=86181860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310126316.4A Pending CN116074106A (zh) 2023-02-16 2023-02-16 一种报文加解密方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN116074106A (zh)

Similar Documents

Publication Publication Date Title
WO2022252632A1 (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
US10951595B2 (en) Method, system and apparatus for storing website private key plaintext
US10904231B2 (en) Encryption using multi-level encryption key derivation
WO2019024230A1 (zh) 信息加密解密方法、装置、计算机设备和存储介质
EP3934295A2 (en) Key protection processing method, apparatus, device and storage medium
CN112055004A (zh) 一种基于小程序的数据处理方法和系统
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
WO2004042537A2 (en) System and method for securing digital messages
US10630760B2 (en) Adaptive encryption in checkpoint recovery of file transfers
JP2023533319A (ja) ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム
CN115150821A (zh) 离线包的传输、存储方法及装置
CN111586072A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN116015767A (zh) 一种数据处理方法、装置、设备及介质
WO2022068235A1 (zh) 基于信息的属性生成随机数的信息处理方法、装置及设备
WO2024060630A1 (zh) 数据传输管理的方法、数据处理的方法和装置
CN109450899B (zh) 密钥管理方法及装置、电子设备、存储介质
WO2019242163A1 (zh) 数据安全验证方法、装置、系统、计算机设备及存储介质
CN116074106A (zh) 一种报文加解密方法、装置、电子设备以及存储介质
CN110611674B (zh) 不同计算机系统之间的协议交互方法、系统及存储介质
CN112565156B (zh) 信息注册方法、装置和系统
US11372984B2 (en) Key-compressible encryption
CN116264505A (zh) 密钥管理系统和方法、电子设备和计算机可读存储介质
CN112689276B (zh) 蓝牙耳机固件更新处理方法
CN113761551A (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