CN114666049B - 一种用于加密明文数据的方法及其相关产品 - Google Patents
一种用于加密明文数据的方法及其相关产品 Download PDFInfo
- Publication number
- CN114666049B CN114666049B CN202210306525.2A CN202210306525A CN114666049B CN 114666049 B CN114666049 B CN 114666049B CN 202210306525 A CN202210306525 A CN 202210306525A CN 114666049 B CN114666049 B CN 114666049B
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- encrypting
- plaintext
- plaintext data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000007906 compression Methods 0.000 claims description 25
- 230000006835 compression Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 38
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
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
技术领域
本发明一般地涉及计算机技术领域。更具体地,本发明涉及一种用于加密明文数据的方法及其相关产品。
背景技术
哈希算法是在加解密运算中非常重要的不可逆运算,这种算法的基本内涵是针对长度任意的消息进行特定的运算,并最终将输出一定长度的杂凑值。哈希算法的操作步骤并不需要保密(即其算法公开),原因在于:一旦输入有极其细微的变化,其输出的哈希值的改变也非常彻底。因此,哈希算法在密码学中具有重要的地位,被广泛应用在数字签名及验证、消息认证码生成及验证、随机数生成和数据完整性检测等领域。
目前,常见的哈希算法包括MD5(MD5 Message-Digest Algorithm,信息摘要算法)、SHA(Secure Hash Algorithm,安全散列算法)和SM3(国产哈希算法)算法。其中SM3密码杂凑算法是一种商用密码杂凑标准(也称哈希,或者单向散列),其消息分组为512位,经过填充和迭代压缩,生成256位的杂凑值。基于此,SM3算法为国内商用密码应用中的数字签名和验证、消息验证码的生成和验证,以及随机数的生成提供了强有力支撑。
SM3算法的实现通常需要经过填充、分组、扩展和压缩运算处理过程。然而,这些过程中会有相当多的步骤暴露明文,因此攻击者可以通过动态调试、设置钩子函数等手段获取到明文数据,具有一定的安全隐患。
基于此,如何使得明文数据在数据处理的过程中不被暴露,是目前信息安全研究中的亟需解决的问题。
发明内容
为解决上述一个或多个技术问题,本发明提出通过对加密后的明文数据执行至少一种数据操作,并对数据操作结果进行加密,使得数据操作过程不出现真正的明文数据,有效提高了数据处理过程的安全性。为此,本发明在如下的多个方面中提供方案。
在第一方面中,本发明提供了一种用于加密明文数据的方法,获取明文数据;对所述明文数据进行加密,以得到加密后的明文数据;以及对所述加密后的明文数据执行至少一种数据操作,并对所述至少一种数据操作的结果进行加密。
在一个实施例中,其中在对所述加密后的明文数据按序执行多种数据操作时,将前一数据操作的结果进行加密,以作为下一数据操作的输入。
在一个实施例中,所述数据操作包括填充分组操作、消息扩展操作和迭代压缩操作。
在一个实施例中,其中所述填充分组操作包括:对所述加密后的明文数据进行数据填充操作,以得到填充数据;对所述填充数据进行加密,以得到加密后的填充数据;以及将所述加密后的填充数据进行分组操作,以得到分组数据。
在一个实施例中,其中在执行消息扩展操作时,所述将前一数据操作的结果进行加密以作为下一数据操作的输入包括:对所述填充分组操作的结果进行加密,以得到加密后的分组数据;以及对所述加密后的分组数据进行消息扩展操作,以得到扩展数据。
在一个实施例中,其中在执行所述迭代压缩操作时,所述将前一数据操作的结果进行加密以作为下一数据操作的输入包括:对所述消息扩展操作的结果进行加密,以得到加密后的扩展数据;以及对所述加密后的扩展数据进行迭代压缩操作,以得到压缩后的数据。
在一个实施例中,根据第一随机数对所述明文数据进行加密,根据第二随机数对所述数据操作的结果进行加密,所述第一随机数与所述第二随机数相同或不同。
在一个实施例中,其中根据第一随机数对所述明文数据进行加密包括:响应于所述第一随机数的长度小于明文数据的长度,将所述第一随机数的长度扩展为明文数据的长度;以及将扩展后的第一随机数与所述明文数据进行异或运算,以得到加密后的明文数据。
在第二方面中,本发明还提供了一种电子设备,包括:处理器;以及存储器,其存储有用于加密明文数据的计算机指令,当所述计算机指令由所述处理器运行时,使得所述电子设备执行根据前述第一发明中多个实施例所述的方法。
在第三方面中,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有用于加密明文数据的计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现如前述第一方面中多个实施例所述的方法。
通过本发明的方案,可以先对明文数据进行加密,实现对明文数据的加密过程,保证明文数据的安全性。然后再对加密后的明文数据执行数据操作,并对至少一种数据操作的结果进行加密,使得整个数据操作过程中每个步骤中均不会出现真正的明文数据,有效提升了数据处理过程的安全性。进一步,对明文数据进行加密和对数据操作的结果进行加密所采用的随机数可以不同,使得数据操作过程具有更强的抵抗攻击的能力,从而有效提升了数据操作步骤中数据的安全性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示意性示出根据本发明的实施例的用于加密明文数据的方法的示意图;
图2是示意性示出根据本发明的实施例的用于加密明文数据的另一种方法的示意图;
图3是示意性示出根据本发明的实施例的迭代压缩中间计算过程的示意图;
图4是示意性示出根据本发明的实施例的电子设备的示意图。
具体实施方式
下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施方式的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合附图来详细描述本发明的具体实施方式。
密码杂凑算法是基础密码算法之一,它可以将任意长度的消息压缩成固定长度的摘要。目前,由于在调用SM3等密码杂凑算法对输入的明文数据进行处理时,会计算一系列的中间值,而该中间值的功耗会与密钥存在一定的相关性。鉴于此,攻击者往往可以通过获取中间值的相关信息,并通过对应的分析方法对该中间值的相关信息进行分析,以此来获取对应的密钥,进而对明文数据进行窃取。例如可以通过动态调试、设置钩子函数等手段来窃取明文数据。
针对上述问题,本发明通过设计一种用于对明文数据进行加密的方法,将明文数据进行加密后,在接下来的数据操作中,对数据操作的结果进行加密,使整个运算过程中不出现真正的明文值,降低了原SM3算法运算操作中明文泄露的风险,从而有效提高了数据处理过程的安全性。
图1是示意性示出根据本发明的实施例的用于加密明文数据的方法100的示意图。
如图1所示,首先,在步骤S101处,获取明文数据。接着,在步骤S102处,对明文数据进行加密,以得到加密后的明文数据。在一些实施例中,在进行加密时,可以采用第一随机数对明文数据进行加密。以设定长度(例如长度为32)的随机数R作为第一随机数为例,可以通过随机数R与明文数据进行异或的方式对明文数据进行加密,以得到加密后的明文数据P′。
在利用设定长度的随机数R对明文数据进行加密的过程中,可能会出现该设定长度的随机数与明文数据长度不同的问题。基于此,可以根据随机数的长度的情况采用对应的方式进行加密。在一个应用场景中,当第一随机数的长度小于明文数据的长度时,可以将第一随机数的长度扩展为明文数据的长度,然后将扩展后的第一随机数与明文数据进行异或运算,以得到加密后的明文数据。当第一随机数的长度大于明文数据的长度时,可以按照相应的规则选择对应长度的随机数与明文数据进行异或运算。
在步骤S103处,对加密后的明文数据执行至少一种数据操作,并对至少一种数据操作的结果进行加密。在一些实施例中,以SM3算法的运算过程为例,其可以包括数据的填充分组操作、消息扩展操作和迭代压缩操作等数据操作。在执行填充分组操作后,将该填充分组操作的结果进行加密,以在后续按顺序执行消息扩展操作和迭代压缩时将该再次加密后的数据作为输入,其运算过程保证了明文数据的安全性。同样地,也可以在按顺序执行填充分组操作后和消息扩展操作后,对消息扩展操作的结果进行加密,以用于后续的迭代压缩操作。进一步,还可以在按顺序执行填充分组操作和消息扩展操作后,对填充分组操作和消息扩展操作后的结果均进行加密,使得每个操作步骤的执行均采用加密的数据。基于此,通过对数据操作后的结果进行加密的方式,使得攻击者无法从各数据操作中分析出明文数据,有效提升了数据处理过程的安全性。
在一些实施例中,可以根据第二随机数对数据操作的结果进行加密。可以理解的是该第二随机数可以与前述用于对明文数据进行加密的第一随机数相同,也可以不同。类似地,该至少一种数据操作中,对每个数据操作的结果进行加密时,也可以采用相同或不同的随机数进行加密。因此,本领域技术人员可以根据实际需要选择合适的加密方式。
以上结合图1对本发明的方案进行说明,接下来将结合具体的数据操作对本发明的方案进行详细阐述。
图2是示意性示出根据本发明的实施例的用于加密明文数据的另一种方法200的示意图。需要说明的是,图2中所示出的方法200可以理解为是对前文结合图1所描述的方法100的一个应用示例。因此,前文结合图1对用于对明文数据进行加密的方法的描述同样也适用于下文。
如图3所示,以SM3算法的运算过程为例,其运算过程主要包括填充分组操作、消息扩展操作和迭代压缩操作。如图3中所示出的各步骤中,步骤S201和步骤S203可以是填充分组操作的一种应用示例,步骤S204和步骤S205可以是消息扩展操作的一种应用示例,步骤S206和步骤207可以是迭代压缩操作的一种应用示例。
具体地,如图3所示,在步骤S201处,对加密后的明文数据进行数据填充操作,以得到填充数据。在一些实施例中,可以通过填充0或1的方式对加密后的明文数据进行填充,使得加密后的明文数据达到相应的长度。例如该长度可以是512的倍数。
在步骤S202处,对填充数据进行加密,以得到加密后的填充数据。在一些实施例中,可以利用随机数与填充数据进行异或运算的方式进行加密,从而得到加密后的填充数据。
在步骤S203处,将加密后的填充数据进行分组操作,以得到分组数据。在一个实施例中,可以直接对加密后的填充数据进行分组,从而得到该加密后的填充数据对应的多个消息分组。例如可以将加密后的填充数据分为:B(0)B(1)…B(n-1)这n个消息分组。
接着,在步骤S204处,对填充分组操作的结果进行加密,以得到加密后的分组数据。在一些实施例中,可以通过对填充分组操作后的结果进行加密,以将加密后的数据作为下一个操作的输入,即接下来的消息扩展操作将采用加密后的数据进行,从而有效提升消息扩展操作过程中抵抗外部攻击的能力。
在步骤S205处,对加密后的分组数据进行消息扩展操作,以得到扩展数据。在一些实施例中,消息扩展操作可以将分组数据扩展为更多的字。例如可以将第i个消息分组B(i)扩展为132个字。消息B(i)在扩展过程中,直接拷贝B(i)的16个字给W0W1…W15,并通过循环移位的方式实现W16…W67和W0′…W63′进一步扩展计算的过程。在扩展计算的过程中,可以通过随机数与W0W1…W15进行异或运算的方式进行计算。
然后,在步骤S206处,对消息扩展操作的结果进行加密,以得到加密后的扩展数据。在一些实施例中,对扩展数据进行加密后,就可以利用该扩展的数据进行迭代压缩操作,以将明文数据压缩成设定长度的摘要。
在步骤S207处,对加密后的扩展数据进行迭代压缩操作,以得到压缩后的数据。在一些实施例中,迭代压缩操作过程中的中间变量的计算过程,容易受到攻击者的窃取以用于分析明文数据,因此可以利用加密后的扩展数据参与迭代压缩过程中的中间变量TT1与TT2的计算,从而有效保证数据的安全性。
综合上述过程,在对加密后的明文数据按序执行多种数据操作时,可以将前一数据操作的结果进行加密,以作为下一数据操作的输入,从而有效提升每个数据操作的安全性。
接下来将结合SM3算法的一个具体应用示例对本发明的方案的实现过程进一步阐述。
对长度为l(l<264)比特的明文数据m,利用SM3杂凑算法经过填充、分组、扩展和压缩的过程,可以生成固定长度为256比特的杂凑值。
具体地,首先可以生成一定长度的随机数R,将明文数据m与随机数R进行按位异或处理后,得到加密后的明文数据P′。该随机数R的长度可以根据实际情况选择,例如可以选择32位。当随机数R的长度小于明文数据的长度时,可以通过按位异或的方法扩展随机数R的长度,使其与明文数据的长度相同,然后再将该扩展后的随机数与明文数据进行异或运算。例如,随机数R的扩展方式可以采用以下公式(1)中的循环进行自身拷贝的方式:
R=R0R1…R31 R0R1…R31 R0R1…R31...(1)
即Rj=R(j%32)。基于此,在加密后的明文数据Pi′的计算方法可以为:
对加密后的明文数据P′进行数据填充操作,可以得到填充数据M′。例如该数据填充操作后的填充数据M′的比特长度可以是512的倍数。作为举例,对数据011000010110001001100011,其长度是24,经填充可以得到比特串:0110000101100010011000111 00...00 00…011000。
接下来,对填充数据M′进行分组可以得到分组数据B(0)B(1)…B(n-1)。例如填充数据M′可以按照512比特进行分组:M′=B(0)B(1)…B(n-1),其中n=M′的比特长度/512。
然后,通过块消息扩展的方式可以将分组数据B(i)扩展为132个字,以得到扩展数据Wi及Wj′,其中0≤i≤67,0≤j≤63。分组数据B(i)在扩展过程中,可以直接拷贝B(i)的16个字给W0W1…W15。然后通过相应的计算过程得到W16…W67和W0′…W63′。其中,对于i从16至67,W16…W67的计算方法为:
对于j从0至63,W0′…W63′的计算方法为:其中,<<<表示循环位左移。
上述消息扩展过程可以看出,在计算W16…W67和W0′…W63′的过程中,W0W1…W15存储的都是明文异或(加密)后的数据,参与消息扩展过程的计算,从而有效保证了该消息扩展操作过程的安全性。
接着,对消息扩展操作后得到的扩展数据进行迭代压缩操作,以将该明文数据压缩成一定长度的摘要。如图3中示出了迭代压缩操作的中间计算过程。图3是示意性示出根据本发明的实施例的迭代压缩中间计算过程300的示意图。其中A、B、C、D、E、F、G和H为字寄存器,用于存储计算过程中得到的杂凑值。SS1、SS2、TT1和TT2为中间变量,压缩函数为V(i+1)=CF(V(i),B(i))。由于在中间计算过程中,中间变量TT1和TT1的计算需要用到前述消息扩展后的结果,即该中间变量TT1和TT1的计算过程存在明文泄露的风险。基于此,本发明中对该中间变量的计算过程做出改进,通过采用加密后的扩展数据参与运算,使得该迭代压缩操作过程具有较高的安全性。具体地,中间变量TT1和TT1的计算过程如下:
其中,其中0≤j≤63,FFj(A,B,C)和GGj(E,F,G)为布尔函数,Rj的计算方法可以与上述计算加密后的明文数据Pi′时所采用的方法相同,即Rj=R(j%32)。
由此可以看出,该迭代压缩操作中,可以利用扩展数据Wj和Wj′分别与随机数R j进行异或运算的方式进行加密,然后将加密后的数据用于该中间变量的计算过程,从而有效提升该迭代压缩操作的可靠性。
最后利用图3所示出的计算网络可以输出256比特的杂凑值,即杂凑值y=ABCDEFGH。
以上结合图2和图3对本发明的方案在SM3算法中的应用进行了详细说明。可以理解的是上述以SM3算法步骤进行明文数据的加密过程仅仅是示例性的而非限制性的,本领域技术人员还可以根据实际需要将本发明的方法应用于其他场景的运算操作中。例如,在利用MD5算法进行数据处理时,可以在其数据填充、分组、扩展、非线性函数运算等数据操作中,采用本发明的方法对明文数据和上述数据操作的结果进行加密,从而有效保证每个数据操作过程的安全性。
利用上述本发明的方案,在调用相应的算法模块对明文数据进行处理时,可以对每个操作步骤中参与计算的明文数据进行加密,使得每个操作步骤中的明文数据不易泄露。也就是说,在相同输入的情况下,在操作步骤中对结果进行加密的方式,可以保证每个数据操作中参与运算的数据不被泄露,并可以改变后续数据操作的结果,进一步防止明文数据在处理过程中出现真实的中间值,提高了数据处理过程的安全性。
图4是示出根据本发明实施例的用于加密明文数据的电子设备400的示意框图。该电子设备400可以包括根据本发明实施例的设备401以及其外围设备和外部网络。设备401实现明文加密、数据操作和数据操作的结果的加密等操作,以实现前述结合图1至图3所述的本发明的方案。
如图4中所示,设备401可以包括CPU4011,其可以是通用CPU、专用CPU或者其他信息处理以及程序运行的执行单元。进一步,设备401还可以包括大容量存储器4012和只读存储器ROM 4013,其中大容量存储器4012可以配置用于加密明文数据的各种程序,ROM 4013可以配置成存储对于设备401的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统所需的数据。
进一步,设备401还包括其他的硬件平台或组件,例如示出的TPU(TensorProcessing Unit,张量处理单元)4014、GPU(Graphic Processing Unit,图形处理器)4015、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)4016和MLU(MemoryLogic Unit),存储器逻辑单元)4017。可以理解的是,尽管在设备401中示出了多种硬件平台或组件,但这里仅仅是示例性的而非限制性的,本领域技术人员可以根据实际需要增加或移除相应的硬件。例如,设备401可以仅包括CPU作为公知硬件平台和另一硬件平台作为本发明的测试硬件平台。
本发明的设备401还包括通信接口4018,从而可以通过该通信接口4018连接到局域网/无线局域网(LAN/WLAN)405,进而可以通过LAN/WLAN连接到本地服务器406或连接到因特网(“Internet”)407。替代地或附加地,本发明的设备401还可以通过通信接口4018基于无线通信技术直接连接到因特网或蜂窝网络,例如基于第三代(“3G”)、第四代(“4G”)或第5代(“5G”)的无线通信技术。在一些应用场景中,本发明的设备401还可以根据需要访问外部网络的服务器408以及可能的数据库409。
设备401的外围设备可以包括显示装置402、输入装置403以及数据传输接口404。在一个实施例中,显示装置402可以例如包括一个或多个扬声器和/或一个或多个视觉显示器。输入装置403可以包括例如键盘、鼠标、麦克风、姿势捕捉相机,或其他输入按钮或控件,其配置用于接收数据的输入或用户指令。数据传输接口404可以包括例如串行接口、并行接口或通用串行总线接口(“USB”)、小型计算机系统接口(“SCSI”)、串行ATA、火线(“FireWire”)、PCI Express和高清多媒体接口(“HDMI”)等,其配置用于与其他设备或系统的数据传输和交互。
本发明的设备401的上述CPU 4011、大容量存储器4012、只读存储器ROM 4013、TPU4014、GPU 4015、FPGA 4016、MLU 4017和通信接口4018可以通过总线4019相互连接,并且通过该总线与外围设备实现数据交互。在一个实施例中,通过该总线4019,CPU 4011可以控制设备401中的其他硬件组件及其外围设备。
在工作中,本发明的设备401的处理器CPU 4011可以通过输入装置403或数据传输接口404获取明文数据,并调取存储于存储器4012中的计算机程序指令或代码进行数据处理,以完成加密明文数据的过程。
从上面关于本发明模块化设计的描述可以看出,本发明的系统可以根据应用场景或需求进行灵活地布置而不限于附图所示出的架构。进一步,还应当理解,本发明示例的执行操作的任何模块、单元、组件、服务器、计算机或设备可以包括或以其他方式访问计算机可读介质,诸如存储介质、计算机存储介质或数据存储设备(可移除的)和/或不可移动的)例如磁盘、光盘或磁带。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,例如计算机可读指令、数据结构、程序模块或其他数据。基于此,本发明也公开了一种计算机可读存储介质,其上存储有用于加密明文数据的计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现在前结合附图所描述的方法和操作。
虽然本说明书已经示出和描述了本发明的多个实施方式,但对于本领域技术人员显而易见的是,这样的实施方式是仅以示例的方式提供的。本领域技术人员在不偏离本发明思想和精神的情况下想到许多更改、改变和替代的方式。应当理解在实践本发明的过程中,可以采用本文所描述的本发明实施方式的各种替代方案。所附权利要求书旨在限定本发明的保护范围,并因此覆盖这些权利要求范围内的模块组成、等同或替代方案。
Claims (8)
1.一种用于加密明文数据的方法,其特征在于,包括:
获取明文数据;
对所述明文数据进行加密,以得到加密后的明文数据;以及
对所述加密后的明文数据执行至少一种数据操作,并对所述至少一种数据操作的结果进行加密,其中
在对所述加密后的明文数据按序执行多种数据操作时,将前一数据操作的结果进行加密,以作为下一数据操作的输入;其中,
所述数据操作包括填充分组操作、消息扩展操作和迭代压缩操作。
2.根据权利要求1所述的方法,其特征在于,其中所述填充分组操作包括:
对所述加密后的明文数据进行数据填充操作,以得到填充数据;
对所述填充数据进行加密,以得到加密后的填充数据;以及
将所述加密后的填充数据进行分组操作,以得到分组数据。
3.根据权利要求1所述的方法,其特征在于,其中在执行消息扩展操作时,所述将前一数据操作的结果进行加密以作为下一数据操作的输入包括:
对所述填充分组操作的结果进行加密,以得到加密后的分组数据;以及
对所述加密后的分组数据进行消息扩展操作,以得到扩展数据。
4.根据权利要求1所述的方法,其特征在于,其中在执行所述迭代压缩操作时,所述将前一数据操作的结果进行加密以作为下一数据操作的输入包括:
对所述消息扩展操作的结果进行加密,以得到加密后的扩展数据;以及
对所述加密后的扩展数据进行迭代压缩操作,以得到压缩后的数据。
5.根据权利要求1所述的方法,其特征在于,根据第一随机数对所述明文数据进行加密,根据第二随机数对所述数据操作的结果进行加密,所述第一随机数与所述第二随机数相同或不同。
6.根据权利要求5所述的方法,其特征在于,其中根据第一随机数对所述明文数据进行加密包括:
响应于所述第一随机数的长度小于明文数据的长度,将所述第一随机数的长度扩展为明文数据的长度;以及
将扩展后的第一随机数与所述明文数据进行异或运算,以得到加密后的明文数据。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其存储有用于加密明文数据的计算机指令,当所述计算机指令由所述处理器运行时,使得所述电子设备执行根据权利要求1-6中任意一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用于加密明文数据的计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现如权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210306525.2A CN114666049B (zh) | 2022-03-25 | 2022-03-25 | 一种用于加密明文数据的方法及其相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210306525.2A CN114666049B (zh) | 2022-03-25 | 2022-03-25 | 一种用于加密明文数据的方法及其相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114666049A CN114666049A (zh) | 2022-06-24 |
CN114666049B true CN114666049B (zh) | 2024-02-20 |
Family
ID=82031031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210306525.2A Active CN114666049B (zh) | 2022-03-25 | 2022-03-25 | 一种用于加密明文数据的方法及其相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114666049B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328563A (ja) * | 2003-04-28 | 2004-11-18 | Hitachi Ltd | 暗号通信装置および暗号通信システム |
WO2012011455A1 (ja) * | 2010-07-20 | 2012-01-26 | 日本電気株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム |
CN106357690A (zh) * | 2016-11-08 | 2017-01-25 | 浙江中控技术股份有限公司 | 一种数据传输方法、数据发送装置及数据接收装置 |
CN108768920A (zh) * | 2018-03-26 | 2018-11-06 | 苏州科达科技股份有限公司 | 一种录播数据处理方法及装置 |
CN110011786A (zh) * | 2019-03-20 | 2019-07-12 | 中国电子科技集团公司第三十研究所 | 一种高安全的ip保密通信方法 |
CN110417540A (zh) * | 2019-08-05 | 2019-11-05 | 李春旺 | 一种抗差分功耗分析的信息加密方法 |
CN110493201A (zh) * | 2019-07-29 | 2019-11-22 | 北京多思安全芯片科技有限公司 | 一种数据的处理方法、装置和系统 |
CN110519038A (zh) * | 2019-07-29 | 2019-11-29 | 北京多思安全芯片科技有限公司 | 一种数据的同态处理装置和系统 |
CN110677237A (zh) * | 2019-11-04 | 2020-01-10 | 郑州轻工业学院 | 一种具有似混沌特性的文件加密方法 |
CN111082935A (zh) * | 2019-12-31 | 2020-04-28 | 江苏芯盛智能科技有限公司 | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 |
CN112084534A (zh) * | 2020-08-20 | 2020-12-15 | 郑州信大捷安信息技术股份有限公司 | 一种哈希算法的实现方法及装置 |
CN112769551A (zh) * | 2020-12-29 | 2021-05-07 | 杭州电子科技大学 | 基于fpga的sm4-gcm网络加密传输系统实现方法 |
CN113204771A (zh) * | 2021-04-21 | 2021-08-03 | 北京连山科技股份有限公司 | 一种利用国密sm3改进分组密码cbc模式缺点的高效方法 |
-
2022
- 2022-03-25 CN CN202210306525.2A patent/CN114666049B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328563A (ja) * | 2003-04-28 | 2004-11-18 | Hitachi Ltd | 暗号通信装置および暗号通信システム |
WO2012011455A1 (ja) * | 2010-07-20 | 2012-01-26 | 日本電気株式会社 | 暗号化装置、復号装置、暗号化方法、復号方法、および、コンピュータ・プログラム |
CN106357690A (zh) * | 2016-11-08 | 2017-01-25 | 浙江中控技术股份有限公司 | 一种数据传输方法、数据发送装置及数据接收装置 |
CN108768920A (zh) * | 2018-03-26 | 2018-11-06 | 苏州科达科技股份有限公司 | 一种录播数据处理方法及装置 |
CN110011786A (zh) * | 2019-03-20 | 2019-07-12 | 中国电子科技集团公司第三十研究所 | 一种高安全的ip保密通信方法 |
CN110493201A (zh) * | 2019-07-29 | 2019-11-22 | 北京多思安全芯片科技有限公司 | 一种数据的处理方法、装置和系统 |
CN110519038A (zh) * | 2019-07-29 | 2019-11-29 | 北京多思安全芯片科技有限公司 | 一种数据的同态处理装置和系统 |
CN110417540A (zh) * | 2019-08-05 | 2019-11-05 | 李春旺 | 一种抗差分功耗分析的信息加密方法 |
CN110677237A (zh) * | 2019-11-04 | 2020-01-10 | 郑州轻工业学院 | 一种具有似混沌特性的文件加密方法 |
CN111082935A (zh) * | 2019-12-31 | 2020-04-28 | 江苏芯盛智能科技有限公司 | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 |
CN112084534A (zh) * | 2020-08-20 | 2020-12-15 | 郑州信大捷安信息技术股份有限公司 | 一种哈希算法的实现方法及装置 |
CN112769551A (zh) * | 2020-12-29 | 2021-05-07 | 杭州电子科技大学 | 基于fpga的sm4-gcm网络加密传输系统实现方法 |
CN113204771A (zh) * | 2021-04-21 | 2021-08-03 | 北京连山科技股份有限公司 | 一种利用国密sm3改进分组密码cbc模式缺点的高效方法 |
Non-Patent Citations (3)
Title |
---|
" 级联加密方法的研究与实现";张小平;《中国优秀硕士学位论文全文数据库》(第10期);第23-30页 * |
"基于云计算的大数据安全隐私保护技术研究及实现";吕炜;《中国优秀硕士学位论文全文数据库》(第03期);第17-47页 * |
一种基于混沌和Fibonacci伪随机数列的加密方法;蒋本铁, 刘嘉辉, 徐彬;东北大学学报(自然科学版)(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114666049A (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ye et al. | An efficient symmetric image encryption algorithm based on an intertwining logistic map | |
Ping et al. | Image encryption based on non-affine and balanced cellular automata | |
JP6900176B2 (ja) | ハードウェア支援型の擬似乱数の高速生成 | |
CN110610105B (zh) | 一种云环境下基于秘密共享的三维模型文件的认证方法 | |
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
US9485087B2 (en) | Method and circuit for cryptographic operation | |
Li et al. | A novel plaintext-related chaotic image encryption scheme with no additional plaintext information | |
WO2019114122A1 (zh) | 登录信息的加密方法、装置、电子设备及介质 | |
CN110235409A (zh) | 使用同态加密被保护的rsa签名或解密的方法 | |
Gamido et al. | Modified AES for text and image encryption | |
Aldaya et al. | AES T-Box tampering attack | |
US20210152331A1 (en) | Protecting polynomial hash functions from external monitoring attacks | |
WO2021114850A1 (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN112054896B (zh) | 白盒加密方法、装置、终端及存储介质 | |
US20130259226A1 (en) | Methods and apparatus for correlation protected processing of cryptographic operations | |
Qasaimeh et al. | A novel simplified aes algorithm for lightweight real-time applications: Testing and discussion | |
Priya et al. | FPGA implementation of efficient AES encryption | |
CN114666049B (zh) | 一种用于加密明文数据的方法及其相关产品 | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
Faraoun | Design of fast one-pass authenticated and randomized encryption schema using reversible cellular automata | |
Beckers et al. | Fault analysis of the chacha and salsa families of stream ciphers | |
CN114244517A (zh) | 数据加密及签名方法、装置、计算机设备和存储介质 | |
CN111602367B (zh) | 用于保护在使白盒密码算法安全的对策中使用的熵源的方法 | |
Ge et al. | Efficient Hyperchaotic Image Encryption Algorithm Based on a Fast Key Generation Method and Simultaneous Permutation-Diffusion Structure |
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 |