CN117294430A - 加密方法、解密方法、装置、电子设备及计算机可读介质 - Google Patents

加密方法、解密方法、装置、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN117294430A
CN117294430A CN202311237784.5A CN202311237784A CN117294430A CN 117294430 A CN117294430 A CN 117294430A CN 202311237784 A CN202311237784 A CN 202311237784A CN 117294430 A CN117294430 A CN 117294430A
Authority
CN
China
Prior art keywords
original
confusion
ciphertext
encryption
program
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
CN202311237784.5A
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202311237784.5A priority Critical patent/CN117294430A/zh
Publication of CN117294430A publication Critical patent/CN117294430A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0822Key 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 key encryption key
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

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示出了本公开示例实施方式的解密装置的框图;
图10示出了适于用来实现本公开实施方式的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在一些相关的实施例中,加密方案可以使用协议加密的手段来进行,而一般由于C/S架构(即客户机/服务器模式)的关系,无法每个人都具备自己的数字证书与数字密钥,加上非对称加密的效率问题,大多数项目一般会首选经典的对称加密算法来加密,但加密算法是公开的,密钥保护就成为了一个系统需要关注的问题。
在实际开发中,使用公开算法的经典对称加密方案来完成数据加密,容易存在如下几个问题:
1、密钥更新规则会在开发过程中逐渐被人遗忘,导致迭代很慢,且因团队会有人员迭代,导致加密系统在人为更新这块存在一定漏洞。
2、部分代码处理不当可能导致泄露密钥,比如把密钥简单地设置到全局变量中,窃听者使用反工程破译,或许可以轻松获得加密密钥。结合公开的算法,即可轻松模拟加密数据。
3、一般密文和明文是一一对应的关系,这是因为客户端服务器时间异步的关系,较少使用添加时间戳的方式进行加密,让窃听者可能较容易用暴力破解的方式来尝试破译。
对于实际密码系统而言,至少存在一种破解法或暴力破解法,因此都不能满足无条件安全性,只能达到计算安全性。
密码系统要求达到的实际安全,只要满足以下准则,即可被认为是安全的:
1、破译该密码系统的费用超过被加密信息的本身价值。
2、破译该密码系统的实际计算量巨大,以至于在实际中无法实现。
3、破译该密码系统所需要的计算时间超过被加密信息的生命周期。例如,战争中发起战斗攻击的作战命令需要在战斗打响前保密。
因此,需要符合以上三点,即可解决自定义加密系统的密钥管理的问题,以及需要人为定期维护的问题。
本示例实施方式首先提供了一种加密方法。参考图1所示,上述加密方法可以包括以下步骤:
步骤S110.获取原始明文和原始密钥,并根据预设加密算法和原始密钥对原始明文进行加密处理,生成对应的原始密文。
步骤S120.将原始密文和原始密钥输入预先生成的加密程序中,其中,加密程序是通过由多个混淆规则组成的目标混淆规则生成的。
步骤S130.通过加密程序基于目标混淆规则对原始密文和原始密钥进行混淆处理,得到混淆后的目标密文。
对应于上述加密方法,本示例实施方式还提供了一种解密方法。参考图2所示,上述解密方法可以包括以下步骤:
步骤S210.获取待处理的目标密文,将目标密文输入预先生成的解密程序中,其中,解密程序是通过由多个混淆规则组成的目标混淆规则生成的。
步骤S220.通过解密程序基于目标混淆规则对目标密文进行分离处理,得到原始密文和原始密钥。
步骤S230.根据预设加密算法和原始密钥对原始密文进行解密处理,得到对应的原始明文。
本公开示例实施方式的加密方法和解密方法中,一方面,通过将密钥嵌入到已加密的密文中,作为密文的一部分,以达到在加密的同时隐藏密钥,又能够把密钥传递给接收方的一个效果,仅需要单方面创建密钥,通过密文作为安全信道传递给对方,可以有效避免密钥泄露的问题,实现无需人为定制密钥,即可完成加解密的对称加密,预防了参与者泄密后导致的密文被轻易破译的情况。加解密双方无需提前沟通密钥,因此也避免了密钥的存储与传输的问题,节省了管理成本,也提高了安全性,同时,由于该嵌入的密钥可以是随机生成的,因此最终的密文也会发生随机的变化,还可以将同一段明文内容生成出多个不同版本的密文,用以混淆视听。另一方面,由于最终加密的混淆规则不公开,由设计者来拟定嵌入的规则,第三方不知道最终的混淆规则,所以无法从密文中破解出密钥,达到破译难,易维护的效果。
本示例实施方式中的加密方法和解密方法,可以应用于预防游戏外挂的自动化操作中,比如抽奖、使用道具、每日任务、每日签到、自动完成活动等等操作,从而简单有效地打击游戏作弊行为。另外,由于其加解密速度较快,也可以在图像、影音等方面进行扩展,比如在线流媒体、数字高清图片的防盗链、防下载功能(比如下载后的文件无法用通用的播放器播放),还可以在数字版权方面较为有效的进行保护。对于游戏开发而言,不仅可以对其在游戏交互的数值上进行保护,连同游戏客户端内的图片,影音都可以进行版权保护。
下面,结合图2和图3对本示例实施方式的上述步骤进行更加详细的说明。
在步骤S110中,获取原始明文和原始密钥,并根据预设加密算法和原始密钥对原始明文进行加密处理,生成对应的原始密文。
本示例实施方式中,原始明文是指没有加密的原始文字,例如文本、位图、数字化的语音或者数字化的视频图像等。密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。原始明文通过原始密钥进行加密后,可以得到原始密文。原始密钥存在于黑盒的加密函数内,是由黑盒自己随机生成的固定长度的密钥,在每次加密操作的过程中都会发生变化,无需用户输入和介入。
本示例实施方式中,可以寻找一个合适的加密算法,用于给原始明文进行加解密。加密算法是加解密两端统一的,且属于发布程序的一部分,即可执行程序或代码。加密算法可以自定义,比如经典的AES(Advanced Encryption Standard,高级加密标准),或者简单的异或等等。原始明文结合原始密钥,通过预设加密算法,可以生成对应的原始密文。
由于原始密文创建的范围是根据随机原始密钥确定的,如果将时间戳作为原始密钥的一部分,可以在一定程度上避免破解者重放攻击。若使用时间戳或随机数混淆,可实现一段明文对应N种密文的情况,使破译者更难理解密文。因明文和密文属于一对多的关系,故明文范围无法被窃听者了解,增加暴力破解难度。
在步骤S120中,将原始密文和原始密钥输入预先生成的加密程序中,其中,加密程序是通过由多个混淆规则组成的目标混淆规则生成的。
本示例实施方式中,加密程序是通过目标混淆规则生成的程序,可以结合原始密文和原始密钥输出最终的密文,此程序由黑盒产生。将原始密文和原始密钥输入预先生成的加密程序中,通过加密程序进行混淆,混淆的规则使用的是目标混淆规则。其中,目标混淆规则是由多个混淆规则组成的。
混淆规则即参与者将一些信息通过一定规则插入到密文中的规则。信息可以是通过如日期的值或整数0~100,转化为的ASCII码(信息互换标准代码),也可以是密文本身的位移操作,或者其他规则。
本示例实施方式中,可以使这些通过混淆规则得到的值出现在目标密文的概率,与加密后的原始密文所产生的密文字符出现的概率相接近。这样能增加破解者通过分析密文字符出现的次数来分析出混淆规则的难度。
在步骤S130中,通过加密程序基于目标混淆规则对原始密文和原始密钥进行混淆处理,得到混淆后的目标密文。
本示例实施方式中,加密程序可以基于目标混淆规则对原始密文和原始密钥进行混淆处理,得到混淆后最终的目标密文。由于密钥混淆在密文中,破解者在不知道密钥的长度以及目标混淆规则的前提下,使用枚举等方法尝试是很困难的,因此增加了破解者试错的难度。
同时,由于混淆明文的数值范围难以确定,比如明文为一个字节,仅存在0,1,2这三种可能的数值,那密文可以是N种不同的结果,而到了接收方,这N种不同的结果依旧可以解密为仅有三种可能的正确的明文结果。因此,使得破解者很难从密文中获得明文的变量范围,由此可以预防窃听。
在步骤S210中,获取待处理的目标密文,将目标密文输入预先生成的解密程序中,其中,解密程序是通过由多个混淆规则组成的目标混淆规则生成的。
本示例实施方式中,获得目标密文后,解密端需要用解密程序,对目标密文进行分离。解密程序与加密程序相同,都是通过目标混淆规则生成的程序,由黑盒产生。可以根据目标混淆规则对目标密文进行分离和解密。
在步骤S220中,通过解密程序基于目标混淆规则对目标密文进行分离处理,得到原始密文和原始密钥。
本示例实施方式中,解密程序可以基于目标混淆规则对目标密文进行分离处理,得到分离后的原始密文和原始密钥。
在步骤S230中,根据预设加密算法和原始密钥对原始密文进行解密处理,得到对应的原始明文。
最后,再根据之前约定好的加密算法,通过原始密钥对原始密文进行解密处理,得到对应的原始明文。
由于破解者没有密钥和混淆规则,因此无法伪造密文,或者即便伪造错误数据,也无法得到正确的明文,从而也就防止了假冒和篡改。而由于加解密规则是加解密双方事先设计好的,如果明文中包含发送方的数字证书,则可以做到防止抵赖。
本示例实施方式中,如图3所示,加密程序的生成方法,具体可以包括以下几个步骤:
步骤S310.获取黑盒中预先定义的混淆规则集合,混淆规则集合中包含至少一个候选混淆规则。
本示例实施方式中,黑盒是一个用于产生随机数和含有加解密函数的程序。黑盒生成的程序即用来做加解密操作使用。黑盒可以作为密钥规则的输出工具,而非最终产品程序的组成部分。
在黑盒中可以预先定义包含1~N个混淆规则的混淆规则集合,混淆规则集合中的各个候选混淆规则之间互相独立。候选混淆规则可以由一个参与者全程定制规则,也可以由两个或两个以上的参与者来制定组合规则,所有参与者定制的混淆规则都是独立的,应该做到互不相干也互不知情。参与定制混淆规则的参与者可以包括程序、AI(ArtificialIntelligence,人工智能)等等。
步骤S320.通过黑盒生成随机数,并将随机数输入黑盒的排序程序中生成对应的排序规则。
本示例实施方式中,可以通过运行黑盒,产生随机数。随机数可用于影响排序规则的输出,也可以影响部分或全部的混淆规则的输出。而这些随机数(注意,不一定用同一个),需要由黑盒在运行时独立产生,即无人知道这些随机数是多少,也无需知道。随机数的意义仅仅为了防止排序规则和混淆规则的泄密。
排序程序属于黑盒的一部分,用于结合随机数生成排序规则。排序规则是指对多个混淆规则按照特定顺序执行的规则。
步骤S330.根据排序规则对混淆规则集合中的候选混淆规则进行筛选和排序,得到目标混淆规则。
将混淆规则合集作为输入,结合排序规则进行筛选和排序,可以生成最终的目标混淆规则。目标混淆规则通过一个排序规则将筛选出的混淆规则组合到一起(如有A和B两个参与者,A的规则先执行,再执行B的规则),形成一个将原始密钥混淆到原始密文中的最终规则。
由于候选混淆规则可由多人定制加密规则,而目标混淆规则是根据随机数配合候选混淆规则生成的,因此可预防人为泄密的风险。
步骤S340.通过黑盒基于目标混淆规则输出加密程序和对应的解密程序。
根据最终的目标混淆规则,黑盒可输出加密程序与解密程序,这两个程序属于发布程序的一部分。加密程序与解密程序的加密强度由开发者来保证,使用者无需再频繁地更换密码以及思考如何制定强密码。
本示例实施方式中,混淆规则是可以分模块实现的,如需迭代可对每一个模块进行独立迭代,即可完成对整个目标混淆规则的迭代。举例而言,可通过用AI来生成混淆规则的分块,如通过大语言模型的问答方式得到某一种混淆规则,并添加到总的混淆规则集合中去。除此之外,还可以定制自动化规则更换,使用存储算法而非存储单一密钥的方式,加大对反工程破译难度。
本示例实施方式中,如图4所示,解密程序的生成方法,具体可以包括以下几个步骤:
步骤S410.获取黑盒中预先定义的混淆规则集合,混淆规则集合中包含至少一个候选混淆规则。
步骤S420.通过黑盒生成随机数,并将随机数输入黑盒的排序程序中生成对应的排序规则。
步骤S430.根据排序规则对混淆规则集合中的候选混淆规则进行筛选和排序,得到目标混淆规则。
步骤S440.通过黑盒基于目标混淆规则输出解密程序和对应的加密程序。
解密程序的生成方法与加密程序的生成方法相同,此处不再赘述。
本示例实施方式中,还可以根据预设时间间隔重新运行黑盒,更新目标混淆规则,并根据更新后的目标混淆规则重新输出加密程序和解密程序。
定制好加密程序和解密程序后,可以设定一个合理的时间(比如周版本日),根据之前拟定的条件,自动更新加密算法,然后对发布程序进行迭代,即可完成加解密函数的更新换代。还可以重新执行黑盒输出加解密程序,无需人为记录,只需要跟随程序一起编译即可,达到无需人力管理密钥的效果。
如图5所示是本公开的一个具体实施方式中生成加解密程序的完整流程图,也是黑盒主要结构图,是对本示例实施方式中的上述步骤的举例说明,该流程图的具体步骤如下:
步骤S510.定义混淆规则集合。
在黑盒中预先定义包含1~N个混淆规则的混淆规则集合。
步骤S520.生成随机数。
运行黑盒,产生随机数。
步骤S530.通过排序程序输出排序规则。
通过随机数和排序程序输出排序规则。
步骤S540.生成最终混淆规则。
把混淆规则合集作为输入,结合排序规则,生成最终混淆规则。
步骤S550.输出加密程序与解密程序。
根据最终混淆规则,黑盒可输出加密程序Encoder与解密程序Decoder,这两个程序属于发布程序的一部分。
如图6所示是本公开的一个具体实施方式中的加密方法的完整流程图,该流程图的具体步骤如下:
步骤S610.获取加密算法。
寻找一个合适的加密算法,用于给原始明文进行加解密用,加密算法是加解密两端统一的,且属于发布程序的一部分。
步骤S620.生成原始密文。
原始明文结合原始密钥,经过加密算法,生成原始密文。
步骤S630.通过加密程序进行混淆。
将原始密文和原始密钥,通过加密程序进行混淆,混淆的规则使用的是最终混淆规则。
步骤S640.输出最终密文。
加密端输出混淆后的最终密文。
如图7所示是本公开的一个具体实施方式中的解密方法的完整流程图,该流程图的具体步骤如下:
步骤S710.通过解密程序进行分离。
获得最终密文后,解密端需要用解密程序,对最终密文进行分离,输出原始密文和原始密钥。
步骤S720.通过加密算法进行解密。
原始密文和原始密钥再经过之前已约定好的加密算法,进行解密,得到原始明文。
这种对称加密系统,可以称之为密钥混淆对称加密系统(即Key ObfuscationSystem,也称之为KOS)。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本公开还提供了一种加密装置。参考图8所示,该加密装置可以包括原始密文生成模块810、加密程序处理模块820以及目标密文生成模块830。其中:
原始密文生成模块810可以用于获取原始明文和原始密钥,并根据预设加密算法和原始密钥对原始明文进行加密处理,生成对应的原始密文;
加密程序处理模块820可以用于将原始密文和原始密钥输入预先生成的加密程序中,其中,加密程序是通过由多个混淆规则组成的目标混淆规则生成的;
目标密文生成模块830可以用于通过加密程序基于目标混淆规则对原始密文和原始密钥进行混淆处理,得到混淆后的目标密文。
在本公开的一些示例性实施例中,本公开提供的一种加密装置还可以包括加密程序生成模块,该加密程序生成模块可以包括规则集合获取单元、排序规则生成单元、混淆规则排序单元以及加密程序生成单元。其中:
规则集合获取单元可以用于获取黑盒中预先定义的混淆规则集合,混淆规则集合中包含至少一个候选混淆规则;
排序规则生成单元可以用于通过黑盒生成随机数,并将随机数输入黑盒的排序程序中生成对应的排序规则;
混淆规则排序单元可以用于根据排序规则对混淆规则集合中的候选混淆规则进行筛选和排序,得到目标混淆规则;
加密程序生成单元可以用于通过黑盒基于目标混淆规则输出加密程序和对应的解密程序。
在本公开的一些示例性实施例中,混淆规则集合中的各个候选混淆规则之间互相独立。
在本公开的一些示例性实施例中,加密程序生成模块还可以包括混淆规则更新单元,可以用于根据预设时间间隔重新运行黑盒,更新目标混淆规则,并根据更新后的目标混淆规则重新输出加密程序和解密程序。
进一步的,本公开还提供了一种解密装置。参考图9所示,该解密装置可以包括目标密文获取模块910、解密程序处理模块920以及原始明文生成模块930。其中:
目标密文获取模块910可以用于获取待处理的目标密文,将目标密文输入预先生成的解密程序中,其中,解密程序是通过由多个混淆规则组成的目标混淆规则生成的;
解密程序处理模块920可以用于通过解密程序基于目标混淆规则对目标密文进行分离处理,得到原始密文和原始密钥;
原始明文生成模块930可以用于根据预设加密算法和原始密钥对原始密文进行解密处理,得到对应的原始明文。
在本公开的一些示例性实施例中,本公开提供的一种解密装置还可以包括解密程序生成模块,该解密程序生成模块可以包括规则集合获取单元、排序规则生成单元、混淆规则排序单元以及解密程序生成单元。其中:
规则集合获取单元可以用于获取黑盒中预先定义的混淆规则集合,混淆规则集合中包含至少一个候选混淆规则;
排序规则生成单元可以用于通过黑盒生成随机数,并将随机数输入黑盒的排序程序中生成对应的排序规则;
混淆规则排序单元可以用于根据排序规则对混淆规则集合中的候选混淆规则进行筛选和排序,得到目标混淆规则;
解密程序生成单元可以用于通过黑盒基于目标混淆规则输出解密程序和对应的加密程序。
上述加密装置和解密装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种加密方法,其特征在于,包括:
获取原始明文和原始密钥,并根据预设加密算法和所述原始密钥对所述原始明文进行加密处理,生成对应的原始密文;
将所述原始密文和所述原始密钥输入预先生成的加密程序中,其中,所述加密程序是通过由多个混淆规则组成的目标混淆规则生成的;
通过所述加密程序基于所述目标混淆规则对所述原始密文和所述原始密钥进行混淆处理,得到混淆后的目标密文。
2.根据权利要求1所述的加密方法,其特征在于,所述方法还包括所述加密程序的生成方法,所述加密程序的生成方法包括:
获取黑盒中预先定义的混淆规则集合,所述混淆规则集合中包含至少一个候选混淆规则;
通过所述黑盒生成随机数,并将所述随机数输入所述黑盒的排序程序中生成对应的排序规则;
根据所述排序规则对所述混淆规则集合中的候选混淆规则进行筛选和排序,得到所述目标混淆规则;
通过所述黑盒基于所述目标混淆规则输出所述加密程序和对应的解密程序。
3.根据权利要求2所述的加密方法,其特征在于,所述混淆规则集合中的各个所述候选混淆规则之间互相独立。
4.根据权利要求2所述的加密方法,其特征在于,所述方法还包括:
根据预设时间间隔重新运行所述黑盒,更新所述目标混淆规则,并根据更新后的所述目标混淆规则重新输出所述加密程序和解密程序。
5.一种解密方法,其特征在于,包括:
获取待处理的目标密文,将所述目标密文输入预先生成的解密程序中,其中,所述解密程序是通过由多个混淆规则组成的目标混淆规则生成的;
通过所述解密程序基于所述目标混淆规则对所述目标密文进行分离处理,得到原始密文和原始密钥;
根据预设加密算法和所述原始密钥对所述原始密文进行解密处理,得到对应的原始明文。
6.根据权利要求5所述的解密方法,其特征在于,所述方法还包括所述解密程序的生成方法,所述解密程序的生成方法包括:
获取黑盒中预先定义的混淆规则集合,所述混淆规则集合中包含至少一个候选混淆规则;
通过所述黑盒生成随机数,并将所述随机数输入所述黑盒的排序程序中生成对应的排序规则;
根据所述排序规则对所述混淆规则集合中的候选混淆规则进行筛选和排序,得到所述目标混淆规则;
通过所述黑盒基于所述目标混淆规则输出所述解密程序和对应的加密程序。
7.一种加密装置,其特征在于,包括:
原始密文生成模块,用于获取原始明文和原始密钥,并根据预设加密算法和所述原始密钥对所述原始明文进行加密处理,生成对应的原始密文;
加密程序处理模块,用于将所述原始密文和所述原始密钥输入预先生成的加密程序中,其中,所述加密程序是通过由多个混淆规则组成的目标混淆规则生成的;
目标密文生成模块,用于通过所述加密程序基于所述目标混淆规则对所述原始密文和所述原始密钥进行混淆处理,得到混淆后的目标密文。
8.一种解密装置,其特征在于,包括:
目标密文获取模块,用于获取待处理的目标密文,将所述目标密文输入预先生成的解密程序中,其中,所述解密程序是通过由多个混淆规则组成的目标混淆规则生成的;
解密程序处理模块,用于通过所述解密程序基于所述目标混淆规则对所述目标密文进行分离处理,得到原始密文和原始密钥;
原始明文生成模块,用于根据预设加密算法和所述原始密钥对所述原始密文进行解密处理,得到对应的原始明文。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述处理器实现如权利要求1至4中任一项所述的加密方法或者权利要求5或6所述的解密方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任一项所述的加密方法或者权利要求5或6所述的解密方法。
CN202311237784.5A 2023-09-22 2023-09-22 加密方法、解密方法、装置、电子设备及计算机可读介质 Pending CN117294430A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311237784.5A CN117294430A (zh) 2023-09-22 2023-09-22 加密方法、解密方法、装置、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311237784.5A CN117294430A (zh) 2023-09-22 2023-09-22 加密方法、解密方法、装置、电子设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN117294430A true CN117294430A (zh) 2023-12-26

Family

ID=89251241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311237784.5A Pending CN117294430A (zh) 2023-09-22 2023-09-22 加密方法、解密方法、装置、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN117294430A (zh)

Similar Documents

Publication Publication Date Title
CN109981641B (zh) 一种基于区块链技术的安全发布订阅系统及发布订阅方法
CN111510281B (zh) 一种同态加密方法及装置
JP2552061B2 (ja) 公開キー暗号システムにおいてネットワーク安全保証ポリシーが狂わないようにする方法及び装置
CN113162752B (zh) 基于混合同态加密的数据处理方法和装置
CN107135408A (zh) 一种视频流地址的鉴权方法及装置
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
CN110474908A (zh) 交易监管方法与装置、存储介质及计算机设备
CN102668445A (zh) 嵌入式sfe:使用硬件令牌的卸载服务器和网络
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN114785524A (zh) 电子印章生成方法、装置、设备和介质
CN112380404B (zh) 数据过滤方法、装置及系统
JP2009187140A (ja) アクセス制御装置、アクセス制御方法およびプログラム
CN115085983B (zh) 数据处理方法、装置、计算机可读存储介质和电子设备
CN116204903A (zh) 一种财务数据安全管理方法、装置、电子设备及存储介质
CN117294430A (zh) 加密方法、解密方法、装置、电子设备及计算机可读介质
KR20230148200A (ko) 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체
CN106487509A (zh) 一种生成密钥的方法及宿主设备
Sulaiman et al. RC4 algorithm and steganography to double secure messages in digital image
Prihandoko et al. Stream-keys generation based on graph labeling for strengthening Vigenere encryption.
Bojanova et al. Cryptography classes in bugs framework (BF): Encryption bugs (ENC), verification bugs (VRF), and key management bugs (KMN)
JP2002232410A (ja) 暗号化データの通信装置および通信方法
CN114793220B (zh) 即时消息通信方法、装置、程序、介质及设备
Popoola Data Integrity Using Caesar Cipher and Residue Number System
WO2022133923A1 (zh) 一种许可认证的方法、装置、电子设备、系统及存储介质
JP2007053449A (ja) 復号装置、暗号化装置、通信システム及び通信方法

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