CN112989391B - 混合加密方法、混合解密方法、系统、设备及存储介质 - Google Patents

混合加密方法、混合解密方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN112989391B
CN112989391B CN202110406753.2A CN202110406753A CN112989391B CN 112989391 B CN112989391 B CN 112989391B CN 202110406753 A CN202110406753 A CN 202110406753A CN 112989391 B CN112989391 B CN 112989391B
Authority
CN
China
Prior art keywords
session key
encryption
algorithm
key
adopting
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.)
Active
Application number
CN202110406753.2A
Other languages
English (en)
Other versions
CN112989391A (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.)
Guangzhou Ant Bit Block Chain Technology Co ltd
Original Assignee
Guangzhou Ant Bit Block Chain 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 Guangzhou Ant Bit Block Chain Technology Co ltd filed Critical Guangzhou Ant Bit Block Chain Technology Co ltd
Priority to CN202110406753.2A priority Critical patent/CN112989391B/zh
Publication of CN112989391A publication Critical patent/CN112989391A/zh
Application granted granted Critical
Publication of CN112989391B publication Critical patent/CN112989391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种混合加密方法、混合解密方法、系统、设备及存储介质,其中加密方法包括:通过随机数发生器生成一个随机数,并采用RandomAlg算法将随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和第二会话密钥将第一加密信息加密成会话消息密文。本发明通过优化国密混合加密的处理流程,巧妙地进行“双密钥”设计,并增加随机化处理,使得大大加强了混合加密被破解的难度,可减少混合加密被成功攻击的可能,提高了信息传输的安全性。

Description

混合加密方法、混合解密方法、系统、设备及存储介质
技术领域
本发明涉及信息加密技术领域,尤其涉及一种混合加密方法、混合解密方法、系统、设备及存储介质。
背景技术
互联网目前已深入到社会生活的各个方面,从电子邮件、即时通信到物流、金融领域,保障互联网的安全俨然成为一国安全的重要方面。加密算法是保障互联网信息传输、存储、身份鉴定的安全性的核心技术,是必须牢牢掌握在我国手中的技术。目前我国已经针对对称加密算法、非对称加密算法分别进行了国产化定制,但由于这些国产算法的推出时间并不长,尚未经过足够的检验,因此现有技术对这些算法进行了组合优化,即混合加密,以提高国产算法的可靠程度。比如利用非对称加密算法的“非对称性”,解决对称密钥的传递问题,或者是利用对称加密算法的加解密速度,解决非对称加解密的速度问题;其中,对称加密算法采用SM1或SM4国密算法,非对称加密算法采用SM2国密算法。
具体的加密过程如图1所示,为:
(1)发送者利用一个随机数生成器生成一个对称加密算法的会话密钥;
(2)使用会话密钥加密会话消息,得到会话消息密文(对称加密);
(3)使用接受者的公钥加密会话密钥,得到会话密钥密文(非对称加密);
(4)组合会话密钥密文和会话消息密文。
具体的解密过程如图2所示,为:
(1)分离密文,等到会话密钥密文和会话消息密文;
(2)用私钥解密会话密钥密文,得到会话密钥(非对称加密);
(3)用会话密钥解密会话消息密文,得到会话消息(对称加密)。
然而,由于现有技术仅是对传统的混合加密系统进行简单的国产算法替换,该策略已经被业界研究得比较透彻,在国产算法的安全性尚不完全明确的情况下,因此容易让攻击者找到破解系统的方法,无法确保系统信息的保密性。
综上所述,如何对现有的国密混合加密技术进行优化,或者是提供一种新的国密混合加密技术是本领域技术人员亟待解决的问题之一。
以上信息作为背景信息给出只是为了辅助理解本公开,并没有确定或者承认任意上述内容是否可用作相对于本公开的现有技术。
发明内容
本发明提供一种混合加密方法、混合解密方法、系统、设备及存储介质,以解决现有技术的不足。
为实现上述目的,本发明提供以下的技术方案:
第一方面,本发明实施例提供一种混合加密方法,应用于发送方设备,所述方法包括:
通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;
采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;
采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;
采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;
采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文。
进一步地,所述所述的混合加密方法中,所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[]。
第二方面,本发明实施例提供一种混合解密方法,应用于接收方设备,所述方法包括:
采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;
采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;
采用RandomAlg算法将所述第一会话密钥还原为随机数;
采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;
采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
进一步地,所述混合解密方法中,所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
第三方面,本发明实施例提供一种混合加解密系统,包括发送方设备和接收方设备,所述发送方设备,用于通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文;
所述接收方设备,用于采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;采用RandomAlg算法将所述第一会话密钥还原为随机数;采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
进一步地,所述混合加解密系统中,所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[];
所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
第四方面,本发明实施例提供一种发送方设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上第一方面所述的混合加密方法。
第五方面,本发明实施例提供提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如上第一方面所述的混合加密方法。
第六方面,本发明实施例提供一种接收方设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上第二方面所述的混合解密方法。
第七方面,本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如上第二方面所述的混合解密方法。
本发明实施例提供的一种混合加密方法、混合解密方法、系统、设备及存储介质,通过优化国密混合加密的处理流程,巧妙地进行“双密钥”设计,并增加随机化处理,使得大大加强了混合加密被破解的难度,可减少混合加密被成功攻击的可能,提高了信息传输的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术中混合加密系统的加密流程示意图;
图2是现有技术中混合加密系统的解密流程示意图;
图3是本发明实施例一提供的一种混合加密方法的流程示意图;
图4是本发明实施例一提供的混合加密方法的加密过程示意图;
图5是本发明实施例二提供的一种混合解密方法的流程示意图;
图6是本发明实施例二提供的混合解密方法的加密过程示意图;
图7是本发明实施例三提供的一种混合加密系统的结构示意图;
图8是本发明实施例四提供的一种发送方设备的结构示意图;
图9是本发明实施例六提供的一种接收方设备的结构示意图。
具体实施方式
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。当一个组件被认为是“设置在”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中设置的组件。
此外,术语“长”“短”“内”“外”等指示方位或位置关系为基于附图所展示的方位或者位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或原件必须具有此特定的方位、以特定的方位构造进行操作,以此不能理解为本发明的限制。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
有鉴于现有技术存在的缺陷,本发明人基于从该领域多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种切实可行的高安全性的混合加密技术,使其更具有实用性。在经过不断的研究、设计并反复试作及改进后,终于创设出确具实用价值的本发明。
请参阅图3~4,图3是本发明实施例公开的一种混合加密方法,应用于发送方设备,所述方法包括:
S101、通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥。
其中,所述随机数发生器是发送方设备自带的。
S102、采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥。
需要说明的是,在此步骤之前,在确定了需要发送的对象,即接收者后,需要获取接收者的公钥。
S103、采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文。
需要说明的是,此步骤是本实施例的巧思,即设计了“双密钥”加密,可显著增强加密强度。
S104、采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息。
S105、采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文。
需要说明的是,所述RandomAlg算法是本实施例新增的自研随机化算法,相对传统的方法而言,不仅使用国密对称算法和国密非对称算法进行国产化替换,且还需要配合所述RandomAlg算法进行密文加密,大大加强了密码系统被破解的难度。
具体的,所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[]。
本发明实施例提供的一种混合加密方法,通过优化国密混合加密的处理流程,巧妙地进行“双密钥”设计,并增加随机化处理,使得大大加强了混合加密被破解的难度,可减少混合加密被成功攻击的可能,提高了信息传输的安全性。
实施例二
请参考图5~6,图5是本发明实施例二提供一种混合解密方法,应用于接收方设备,所述方法包括:
S201、采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥。
S202、采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥。
S203、采用RandomAlg算法将所述第一会话密钥还原为随机数。
S204、采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息。
S205、采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
具体的,所述所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
本发明实施例提供的一种混合解密方法,通过优化国密混合加密的处理流程,巧妙地进行“双密钥”设计,并增加随机化处理,使得大大加强了混合加密被破解的难度,可减少混合加密被成功攻击的可能,提高了信息传输的安全性。
实施例三
请参阅附图7,为本发明实施例三提供的一种混合加解密系统的结构示意图,该系统包括发送方设备301和接收方设备302,其中,
所述发送方设备301,用于通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文;
所述接收方设备302,用于采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;采用RandomAlg算法将所述第一会话密钥还原为随机数;采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
优选的,所述混合加解密系统中,所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[];
所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
本发明实施例提供的一种混合解密系统,通过优化国密混合加密的处理流程,巧妙地进行“双密钥”设计,并增加随机化处理,使得大大加强了混合加密被破解的难度,可减少混合加密被成功攻击的可能,提高了信息传输的安全性。
上述系统可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
图8为本发明实施例四提供的一种发送方设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性发送方设备12的框图。图8显示的发送方设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,发送方设备12以通用计算设备的形式表现。发送方设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
发送方设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被发送方设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。发送方设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
发送方设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该发送方设备12交互的设备通信,和/或与使得该发送方设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,发送方设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与发送方设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合发送方设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的混合加密方法。
也即,所述处理单元执行所述程序时实现:通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该指令被处理器执行时实现如本申请所有发明实施例提供的混合加密方法:
也即,所述处理器执行所述计算机可执行指令时实现:通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
实施例六
图9为本发明实施例六提供的一种接收方设备的结构示意图。图9适于用来实现本发明实施方式的示例性接收方设备412的框图。图9显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,设备412以通用计算设备的形式表现。设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,系统存储器428,连接不同系统组件(包括系统存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的设备通信,和/或与使得该设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元416通过运行存储在系统存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的终端设备之间的混合解密方法。
也即,所述处理单元执行所述程序时实现:采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;采用RandomAlg算法将所述第一会话密钥还原为随机数;采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
实施例七
本发明实施例七提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该指令被处理器执行时实现如本申请所有发明实施例提供的混合解密方法:
也即,所述处理器执行所述计算机可执行指令时实现:采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;采用RandomAlg算法将所述第一会话密钥还原为随机数;采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (7)

1.一种混合加密方法,应用于发送方设备,其特征在于,所述方法包括:
通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;
采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;
采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;
采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;
采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文;
所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[]。
2.一种混合解密方法,应用于接收方设备,其特征在于,所述方法包括:
采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;
采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;
采用RandomAlg算法将所述第一会话密钥还原为随机数;
采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;
采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息;
所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
3.一种混合加解密系统,包括发送方设备和接收方设备,其特征在于:
所述发送方设备,用于通过随机数发生器生成一个随机数,并采用RandomAlg算法将所述随机数加密成第一会话密钥;采用国密SM2算法和接收者的公钥对所述第一会话密钥进行加密,生成第二会话密钥;采用国密SM2算法和接收者的公钥对所述第二会话密钥进行加密,生成会话密钥密文;采用国密SM4算法和所述第一会话密钥将会话消息加密成第一加密信息;采用RandomAlg算法和所述第二会话密钥将所述第一加密信息加密成会话消息密文;
所述接收方设备,用于采用SM2国密算法和接收者的私钥将会话密钥密文解密为第二会话密钥;采用SM2国密算法和接收者的私钥将所述第二会话密钥解密为第一会话密钥;采用RandomAlg算法将所述第一会话密钥还原为随机数;采用RandomAlg算法和所述第二会话密钥将会话消息密文解密为第一加密信息;采用SM4国密算法和第一会话密钥将所述第一加密信息解密为会话消息;
所述RandomAlg算法的加密过程包括:
初始化变量i=0,以及初始化一个字符数组org[],数组org[]的长度与密钥k的长度一致;
输入密钥k;
更新数组en[],规则为en[i]=(org[i]+k[i])mod16;
迭代i=i+1;
若org[i]!=NULL,则返回执行所述迭代i=i+1的步骤,否则输出en[];
所述RandomAlg算法的解密过程包括:
初始化变量i=0,并准备数组org[]与密钥k;
更新数组org[],规则为org[i]=(en[i]-k[i])mod16;
迭代i=i+1;
若en[i]!=NULL,则返回执行所述更新数组org[],规则为org[i]=(en[i]-k[i])mod16的步骤,否则输出org[]。
4.一种发送方设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述的混合加密方法。
5.一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如权利要求1所述的混合加密方法。
6.一种接收方设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求2所述的混合解密方法。
7.一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如权利要求2所述的混合解密方法。
CN202110406753.2A 2021-04-15 2021-04-15 混合加密方法、混合解密方法、系统、设备及存储介质 Active CN112989391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110406753.2A CN112989391B (zh) 2021-04-15 2021-04-15 混合加密方法、混合解密方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110406753.2A CN112989391B (zh) 2021-04-15 2021-04-15 混合加密方法、混合解密方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112989391A CN112989391A (zh) 2021-06-18
CN112989391B true CN112989391B (zh) 2024-01-16

Family

ID=76340666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110406753.2A Active CN112989391B (zh) 2021-04-15 2021-04-15 混合加密方法、混合解密方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112989391B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205144B (zh) * 2021-12-09 2023-07-04 建信金融科技有限责任公司 数据传输方法、装置、设备、存储介质及程序产品
CN114499837B (zh) * 2021-12-29 2023-09-26 广州蚁比特区块链科技有限公司 一种报文防泄露方法、装置、系统和设备
CN115549987A (zh) * 2022-09-19 2022-12-30 广州图灵科技有限公司 一种基于数据安全隐私保护的混合加密方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088995A (ko) * 2005-02-03 2006-08-08 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
CN109361507A (zh) * 2018-10-11 2019-02-19 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
CN110224976A (zh) * 2019-04-29 2019-09-10 北京邮电大学 一种加密通信方法、装置及计算机可读存储介质
CN110474898A (zh) * 2019-08-07 2019-11-19 北京明朝万达科技股份有限公司 数据加解密和密钥分布方法、装置、设备及可读存储介质
CN111310203A (zh) * 2020-02-10 2020-06-19 广东工业大学 一种基于sm2和sm4的电子病历混合加密方法
CN112118098A (zh) * 2020-09-16 2020-12-22 建信金融科技有限责任公司 后量子安全增强数字信封方法、装置及系统
CN112543189A (zh) * 2020-11-27 2021-03-23 北京中电飞华通信有限公司 数据安全传输方法和系统
CN114499837A (zh) * 2021-12-29 2022-05-13 广州蚁比特区块链科技有限公司 一种报文防泄露方法、装置、系统和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11121856B2 (en) * 2018-06-15 2021-09-14 Intel Corporation Unified AES-SMS4—Camellia symmetric key block cipher acceleration
US11398899B2 (en) * 2019-05-28 2022-07-26 Shanghai Zhaoxin Semiconductor Co., Ltd. Data processing device and data processing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060088995A (ko) * 2005-02-03 2006-08-08 삼성전자주식회사 하이브리드 브로드캐스트 암호화 방법
CN109361507A (zh) * 2018-10-11 2019-02-19 杭州华澜微电子股份有限公司 一种数据加密方法及加密设备
CN110224976A (zh) * 2019-04-29 2019-09-10 北京邮电大学 一种加密通信方法、装置及计算机可读存储介质
CN110474898A (zh) * 2019-08-07 2019-11-19 北京明朝万达科技股份有限公司 数据加解密和密钥分布方法、装置、设备及可读存储介质
CN111310203A (zh) * 2020-02-10 2020-06-19 广东工业大学 一种基于sm2和sm4的电子病历混合加密方法
CN112118098A (zh) * 2020-09-16 2020-12-22 建信金融科技有限责任公司 后量子安全增强数字信封方法、装置及系统
CN112543189A (zh) * 2020-11-27 2021-03-23 北京中电飞华通信有限公司 数据安全传输方法和系统
CN114499837A (zh) * 2021-12-29 2022-05-13 广州蚁比特区块链科技有限公司 一种报文防泄露方法、装置、系统和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SM2和SM4混合加密算法的改进与应用;刘见龙;《中国优秀硕士学位论文全文数据库 信息科技辑》(第12期);I136-128 *

Also Published As

Publication number Publication date
CN112989391A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN112989391B (zh) 混合加密方法、混合解密方法、系统、设备及存储介质
CN111460453B (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
CN109150499B (zh) 动态加密数据的方法、装置、计算机设备和存储介质
CN108566381A (zh) 一种安全升级方法、装置、服务器、设备和介质
CN107248984B (zh) 数据交换系统、方法和装置
CN110100422B (zh) 基于区块链智能合约的数据写入方法、装置及存储介质
US11349822B2 (en) Runtime encryption plugin for a key management system
CN111950030A (zh) 基于区块链的数据共享存储方法、终端设备和存储介质
CN112400299B (zh) 一种数据交互方法及相关设备
CN109345242B (zh) 基于区块链的密钥存储、更新方法、装置、设备和介质
CN111832056A (zh) 用于生成二维码的方法和系统
CN109711178B (zh) 一种键值对的存储方法、装置、设备及存储介质
CN112182109A (zh) 基于区块链的分布式数据编码存储方法和电子设备
CN114124364A (zh) 密钥安全处理方法、装置、设备及计算机可读存储介质
CN111400760A (zh) web应用访问数据库的方法、装置、服务器和存储介质
CN114760052A (zh) 银行物联网平台密钥生成方法、装置、电子设备及介质
CN112261015B (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
CN113946863A (zh) 数据加密存储方法、系统、设备及存储介质
CN113794706A (zh) 数据的处理方法、装置、电子设备及可读存储介质
CN103873245B (zh) 虚拟机系统数据加密方法及设备
CN116405199A (zh) 基于ntru算法和sm2算法的加密方法、装置、设备和介质
CN113961931A (zh) adb工具使用方法、装置和电子设备
CN113672954A (zh) 特征提取方法、装置和电子设备
CN115955306B (zh) 一种数据加密传输方法、装置、电子设备及存储介质
CN111062053A (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