CN109450617A - 加解密方法及装置、电子设备、计算机可读存储介质 - Google Patents
加解密方法及装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN109450617A CN109450617A CN201811488997.4A CN201811488997A CN109450617A CN 109450617 A CN109450617 A CN 109450617A CN 201811488997 A CN201811488997 A CN 201811488997A CN 109450617 A CN109450617 A CN 109450617A
- Authority
- CN
- China
- Prior art keywords
- information
- processed
- mathematical algorithm
- treatment factors
- algorithm
- 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
Links
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种加解密方法、装置、电子设备及计算机可读存储介质,该方法包括:获取待处理信息;获取处理因子,处理因子包括加密因子或解密因子;基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法;基于运算算法和处理因子,对待处理信息进行运算,得到处理结果。本公开提供的一种加解密方法,使得待处理信息的运算算法与处理因子和待处理信息本身相关,使得基于待处理信息对应的运算算法和处理因子对待处理信息进行运算,得到的处理结果复杂且多样,具有较高的安全性。本公开提供的一种加解密装置、电子设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本公开涉及信息安全技术领域,更具体地说,涉及加解密方法及装置、电子设备、计算机可读存储介质。
背景技术
在日益信息化的科技时代,在信息的传输等过程中,需要采用密码算法来保护信息的安全,分组密码算法是其中一类常用算法。
然而,因密码算法使用环境的多样性,当前采用固定结构的密码算法即使理论上具有极高的安全性,在实际应用中经常会出现一些安全问题。如攻击者可根据算法运行时泄露的时间、电磁等信息恢复密钥,进而攻破密码算法获取数据。
综上所述,设计安全强度更高、能适应更多应用场景,并能抵抗各类潜在攻击的密码算法是极其有必要的。
发明内容
本公开的目的是提供一种加解密方法,其能在一定程度上解决如何提高信息的安全性的技术问题。本公开还提供了一种加解密装置、电子设备及计算机可读存储介质。
一方面,本公开提供一种加解密方法,包括:
获取待处理信息;
获取处理因子,所述处理因子包括加密因子或解密因子;
基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法;
基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果。
优选的,所述对所述待处理信息进行运算,得到目标处理结果之后,还包括:
迭代执行所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法、及,所述基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;
其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。
优选的,所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法,包括:
获取所述待处理信息中预设的m比特值;
计算所述m比特值对应的数值;
在预设的算法集合中,选取所述数值对应的算法作为所述运算算法。
优选的,所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法,包括:
获取所述待处理信息中的目标比特信息;
基于所述目标比特信息判断所述待处理信息所属的目标类别;
基于预设的类别与运算算法间的对应关系,在预设的一系列运算算法中选取所述目标类别对应的所述运算算法为所述待处理信息对应的运算算法。
优选的,所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法,包括:
将所述待处理信息或所述处理因子转换为伪随机数,根据转化得到的所述伪随机数计算来得到所述待处理信息对应的所述运算算法。
优选的,所述基于所述待处理信息及所述待处理信息对应的所述处理因子,计算得到所述待处理信息对应的运算算法,包括:
当所述处理因子为所述加密因子时,采用加密因子运算算法基于所述待处理信息及所述待处理信息对应的所述加密因子,计算得到所述待处理信息对应的运算算法;
当所述处理因子为所述解密因子时,采用解密因子运算算法基于所述待处理信息及所述待处理信息对应的所述解密因子,计算得到所述待处理信息对应的运算算法;
其中,所述加密因子运算算法和所述解密因子运算算法满足预设转换关系。
根据本公开实施例的第二方面,提供一种加解密装置,包括:
第一获取模块,用于获取待处理信息;
第二获取模块,用于获取处理因子,所述处理因子包括加密因子或解密因子;
第一确定模块,用于基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法;
第一运算模块,用于基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果。
优选的,还包括:
第一循环模块,用于所述第一运算模块对所述待处理信息进行运算,得到目标处理结果之后,迭代执行所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法、及,所述基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;
其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。
优选的,所述第一确定模块包括:
第一获取单元,用于获取所述待处理信息中预设的m比特值;
第一计算单元,用于计算所述m比特值对应的数值;
第一选取单元,用于在预设的算法集合中,选取所述数值对应的算法作为所述运算算法。
根据本公开实施例的第三方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现如上任一所述方法的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
本公开提供一种加解密方法,获取待处理信息;获取处理因子,处理因子包括加密因子或解密因子;基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法;基于运算算法和处理因子,对待处理信息进行运算,得到处理结果。本公开提供的一种加解密方法,基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法,从而使得待处理信息的运算算法与处理因子和待处理信息本身相关,这样在待处理信息变化时,其所对应的运算算法也会相应发生变化;使得基于待处理信息对应的运算算法和处理因子对待处理信息进行运算,得到的处理结果复杂且多样,使得不法分子难以根据该处理结果解密出处理因子或待处理信息,具有较高的安全性。本公开提供的一种加解密装置、电子设备及计算机可读存储介质也解决了相应技术问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为根据一示例性实施例示出的一种加解密方法的第一流程图;
图2为根据一示例性实施例示出的一种加解密方法的第二流程图;
图3为本公开示出的一种加解密方法的加解密运算逻辑图;
图4为根据一示例性实施例示出的一种加解密装置的第一结构示意图;
图5为根据一示例性实施例示出的一种加解密装置的第二结构示意图;
图6为第一计算模块的第一结构示意图;
图7为根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
请参阅图1,图1为根据一示例性实施例示出的一种加解密方法的第一流程图。
本公开涉及的一种加解密方法,可以包括以下步骤:
步骤S101:获取待处理信息。
可以理解的是,待处理信息的信息内容可以根据实际应用场景确定,比如在音频传输过程中,待处理信息可以为传输的音频数据等。
步骤S102:获取处理因子,处理因子包括加密因子或解密因子。
可以理解的是,本公开提供的一种加解密方法是加密方法还是解密方法,取决于处理因子的类型,当处理因子为加密因子时,本公开提供的一种加解密方法便为加密方法,待处理信息便可以为待加密的明文信息;处理因子为解密因子时,本公开提供的一种加解密方法便为解密方法,待处理信息便可以为待解密的密文信息,此时,待处理信息一般为采用本公开提供的加密方法得到的加密信息。处理因子的类型和数量可以根据实际应用场景确定。
步骤S103:基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法。
可以理解的是,可以在待处理信息不变的情况下,根据处理因子的变化来改变待处理信息对应的运算算法;也可以在处理因子不变的情况下,根据待处理信息的变化改变待处理信息对应的运算算法。也即在待处理信息对应的处理因子不变的情况下,基于待处理信息的变化计算得到待处理信息对应的运算算法,或者在待处理信息不变的情况下,基于待处理信息对应的处理因子的变化计算得到待处理信息对应的运算算法。此外,还可以将待处理信息或处理因子转换为伪随机数,根据转化得到的伪随机数计算得到待处理信息对应的运算算法。
可以理解的是,在待处理信息对应的处理因子不变的情况下,可以预设一系列的运算算法,仅仅基于待处理信息中的部分比特信息来确定待处理信息对应的运算算法,则基于待处理信息及待处理信息对应的处理因子,计算得到待处理信息对应的运算算法的步骤可以为:获取待处理信息中预设的m比特值;计算m比特值对应的数值,数值的类型可以为十进制、十六进制等;在预设的算法集合中,选取数值对应的算法为待处理信息对应的运算算法。假设预设的算法集合为比特值对应的数值的类型为十进制,计算得到待处理信息的m比特值对应的目标十进制值为a,则可以选取Fa所对应的算法为待处理信息的运算算法。
可以理解的是,在待处理信息对应的处理因子不变的情况下,可以预设一系列的运算算法,仅仅基于待处理信息中的部分比特信息来确定待处理信息对应的运算算法,则基于待处理信息及待处理信息对应的处理因子,计算得到待处理信息对应的运算算法的步骤可以为:获取待处理信息中的目标比特信息;基于目标比特信息判断待处理信息所属的目标类别;基于预设的类别与运算算法间的对应关系,在预设的一系列运算算法中选取目标类别对应的运算算法为待处理信息对应的运算算法。为了便于理解,以一系列运算算法为两个,分别以S1、S2表示,假设待处理信息中的目标比特信息为a,采用公式y=(1-a)*S1+a*S2计算a所对应的输出值,若a对应的输出值为S1,则将S1所代表的运算算法确定为待处理信息对应的运算算法,若a对应的输出值为S2,则将S2所代表的运算算法确定为待处理信息对应的运算算法。
可以理解的是,待处理信息对应的运算算法需基于待处理信息本身和待处理信息对应的处理因子来确定,这样,即使运算时所用的处理因子相同,当待处理信息不同时,各个待处理信息对应的运算算法也不同,也即可以基于相同处理因子实现对不同待处理信息进行不同过程的处理,比如采用同一个加密因子实现对不同待处理信息的不同加密过程,使得不法分子即使获得该加密因子后,也难以确定出加密算法。可以理解的是,可以为加密方法和解密方法设定各自的运算算法,则基于待处理信息及待处理信息对应的处理因子,计算得到待处理信息对应的运算算法的过程可以为:当处理因子为加密因子时,采用加密因子运算算法基于待处理信息及待处理信息对应的加密因子,计算得到待处理信息对应的运算算法;当处理因子为解密因子时,采用解密因子运算算法基于待处理信息及待处理信息对应的解密因子,计算得到待处理信息对应的运算算法;此外,为了能够应用本公开提供的解密算法对本公开提供的加密算法进行解密,加密因子运算算法和解密因子运算算法还可以满足预设转换关系。
步骤S104:基于运算算法和处理因子,对待处理信息进行运算,得到处理结果。
本公开提供一种加解密方法,获取待处理信息;获取处理因子,处理因子包括加密因子或解密因子;基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法;基于运算算法和处理因子,对待处理信息进行运算,得到处理结果。本公开提供的一种加解密方法,基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法,从而使得待处理信息的运算算法与处理因子和待处理信息本身相关,这样在待处理信息变化时,其所对应的运算算法也会相应发生变化;使得基于待处理信息对应的运算算法和处理因子对待处理信息进行运算,得到的处理结果复杂且多样,使得不法分子难以根据该处理结果解密出处理因子或待处理信息,具有较高的安全性。
请参阅图2,图2为根据一示例性实施例示出的一种加解密方法的第二流程图。
可以理解的是,为了进一步增强整个方法的复杂度,进而增强本公开提供的一种加解密方法的安全性,可以按照本公开的原理对一个待处理信息进行多次处理,直至得到最终的目标处理结果,也即在对待处理信息进行运算,得到目标处理结果之后,还可以迭代执行基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法、及,基于运算算法和处理因子,对待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。可以理解的是,可以借助循环逻辑来实现本公开提供的方法,则本公开提供的一种加解密方法可以包括以下步骤:
步骤S201:获取待处理信息。
步骤S202:获取处理因子,处理因子包括加密因子或解密因子。
步骤S203:将待处理信息作为当前处理信息。
可以理解的是,当前处理信息指的是当前正在被处理的信息,当前不被处理的信息便不为当前处理信息。
步骤S204:基于当前处理信息及当前处理信息对应的处理因子,计算得到当前处理信息对应的运算算法。
可以理解的是,在整个循环过程中,基于当前处理信息及当前处理信息对应的处理因子,计算得到待处理信息对应的运算算法的计算函数可以为同一个函数,也即整个循环过程中使用同一个函数计算得到当前待处理信息对应的运算算法,还可以为不同时刻下的当前待处理信息设定专属的函数,也即不同的当前待处理信息采用自己专属的函数计算得到运算算法;当然还可以有其他关于计算运算算法的函数的设定,本公开在此不做具体限定。
可以理解的是,各个当前处理信息所对应的处理因子可以为同一个,此时可以获取一个处理因子,基于该处理因子计算得到运算算法,这样可以节省运算时间,提高效率;各个当前处理信息对应的处理因子还可以为多个,比如跟预设次数的值相同,则各个当前处理信息对应的处理因子可以为各自专属的处理因子,相应的,需获取数量值与预设次数的数值相同的处理因子,且处理因子与当前处理信息间满足一一对应关系。
步骤S205:基于当前处理信息对应的运算算法和处理因子,对当前处理信息进行运算,得到当前处理结果,将当前处理结果作为当前处理信息。
步骤S206:判断计算得到运算算法的实时次数是否达到预设次数,若否,则返回步骤S204,若是,则执行步骤S207。
可以理解的是,可以通过调整预设次数的值,来控制本公开对待处理信息进行处理的次数,进而可以控制待处理信息对应的目标处理结果的复杂度。
步骤S207:将当前处理信息作为目标处理结果。
为了便于理解,以待处理信息为A,初始处理因子为a1,待处理信息对应的运算算法的计算函数为fx,y,其中,x表示待处理信息,y表示处理因子,循环次数,也即预设次数为2为例,对本实施例进行说明。执行步骤S204,得到A对应的运算算法为fA,a1;执行步骤S205,得到当前处理结果为fA,a1(A,a1),记为B,当前处理信息也更新为B,此时,计算得到运算算法的实时次数为1,小于预设次数的值2,返回步骤S204;此时B对应的运算算法为fB,a1;执行步骤S205,得到当前处理结果为fB,a1(B,a1),记为C,当前处理信息也更新为C;此时更新处理因子的实时次数为2,等于预设次数的值2,将最近的当前处理信息也即C输出作为A的最终的目标处理结果。
为了进一步对本公开提供的一种报文加解密方法进行描述,现结合具体运算逻辑图和算法对本实施例进行描述。
可以理解的是,本公开提供的加密方法和解密方法的流程基本相同,只是加密方法和解密方法所应用的处理因子以及其所用的算法不同,所用本公开涉及的加密方法和解密方法可以共用一套参数完全相同的逻辑装置,只需在实现加密方法或解密方法时调整数据的输入方向即可,比如加密时采用正序处理方式,将明文从输入门输入至装置;解密时采用逆序处理方式,将密文从输出门输入至装置等。请参阅图3,图3为本公开示出的一种加解密方法的加解密运算逻辑图,P表示明文;C表示密文;Xr表示当前轮循环过程中的当前待处理信息;r表示预设次数;Kt表示相应的轮密钥;F表示加密方法中待处理信息对应的轮函数,也即加密方法中待处理信息的运算算法,F满足:对任意的K,设Y=F(X,K)=F(X',X”,K),存在公开可计算的可逆函数h满足X′=h-1(Y),其中X'为X中部分位置的比特信息,并记X′=Ch(X),即当前状态X根据密钥K使用轮函数变换后,X中部分比特保持不变或只是使用公开函数h变换成Y中的部分比特;FXr-1,Kt表示当前待处理信息对应的F的结构由当前待处理信息Xr-1及处理因子Kt决定;G表示解密方法中待处理信息对应的轮函数,也即解密方法中待处理信息对应的轮函数,G与F满足相同的关系,即对任意的K,设X=G(Y,K)=G(Y′,Y″,K),则Y′=h(X),其中Y'为Y中部分位置的比特信息,并记Y′=Ch'(Y)。
加密运算过程可以为:
输入明文P,令X0=P;运行:
For r=1to t
C=Xt
解密过程如下:
输入密文C,令Xt=C,运行:
For r=t to 1
P=X0。
由上述加密算法和解密算法的运行过程可知,轮函数由当前输入状态信息中的部分比特及当前的轮密钥信息控制。由加解密轮函数的特性,控制加密轮变换的部分比特信息X'r-1由公开可逆函数h映射到下一轮输入之中,与控制解密轮变换生成的部分比特信息Ch'(Xr)之间存在一个公开可逆映射h,使得Ch(Xr-1)=Ch'(Xr),或者存在公开可计算函数g满足Ch(Xr-1)=g(Ch'(Xr)),从而加密轮函数与解密轮函数实质上可看作是由相同的比特信息控制生成。因此,可通过选择合适的加密轮函数F,解密轮函数G使且下面以实施例对此过程进行解释:
设轮函数的输入信息为X,输出信息为Y,当前轮密钥为K,即Y=FX,K(X,K),设轮函数集合为对给定的输入X,根据X中特定的m比特值计算其对应的十进制值a,选择轮函数Fa作为当前的轮函数进行加密运算;
设轮函数集合中的所有轮函数均为以下Feistel结构:
即YL=XR,
其中X=XL||XR,XL,XR分别为X的左右半部分YL,YR分别为Y的左右半部分,所选的m比特信息均为XR及轮密钥K中的特定位置信息,易知解密过程为:
即XR=YL;
因YL=XR,故可以选取YL及轮密钥K中同样的m比特信息使轮函数从而保证加解密正确。
可以理解的是,当处理因子固定时,则轮函数的变换规则由当前输入的待处理信息决定。比如由待处理信息中的m比特信息决定,则每轮轮函数存在2m种选择,算法共计t轮,整个加密装置实质上可有(2m)t=2mt变种,即在处理因子固定时,对每个明文加密所采用的加密装置实质上为上述2mt种加密装置中的某一个。实际应用场景中,轮函数除可按上述示例中采用预先设定2m个轮函数,也可以由待处理信息控制轮函数中特定部分的工作,如采集待处理信息中某一比特信息a,由a的取值来控制轮函数中的部分运算y=(1-a)·S1(x)+a·S2(x),即a=0时使用S1轮函数,a=1时使用S2轮函数。
请参阅图4,图4为根据一示例性实施例示出的一种加解密装置的第一结构示意图。
本公开涉及的一种加解密装置400,可以包括:
第一获取模块410,用于获取待处理信息;
第二获取模块420,用于获取处理因子,处理因子包括加密因子或解密因子;
第一确定模块430,用于基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法;
第一运算模块440,用于基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果。
请参阅图5,图5为根据一示例性实施例示出的一种加解密装置的第二结构示意图。
本公开涉及的一种加解密装置400,还可以包括:
第一循环模块450,用于第一运算模块对待处理信息进行运算,得到目标处理结果之后,迭代执行基于待处理信息及处理因子,确定用于对待处理信息进行加密或解密的运算算法、及,基于运算算法和处理因子,对待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。
请参阅图6,图6为第一确定模块的结构示意图。
本公开提供的一种加解密装置中,第一确定模块430可以包括:
第一获取单元431,用于获取待处理信息中预设的m比特值;
第一计算单元432,用于计算m比特值对应的数值;
第一选取单元433,用于在预设的算法集合中,选取数值对应的算法作为运算算法。
本公开提供的一种加解密装置中,第一确定模块可以包括:
第二获取单元,用于获取待处理信息中的目标比特信息;
第一判断单元,用于基于目标比特信息判断待处理信息所属的目标类别;
第二选取单元,用于基于预设的类别与运算算法间的对应关系,在预设的一系列运算算法中选取目标类别对应的运算算法为待处理信息对应的运算算法。
本公开提供的一种加解密装置中,第一确定模块可以包括:
第一计算单元,用于将待处理信息或处理因子转换为伪随机数,根据转化得到的伪随机数计算来得到待处理信息对应的运算算法。
本公开提供的一种加解密装置中,第一确定模块可以包括:
第二计算单元,用于当处理因子为加密因子时,采用加密因子运算算法基于待处理信息及待处理信息对应的加密因子,计算得到待处理信息对应的运算算法;
第三计算单元,用于当处理因子为解密因子时,采用解密因子运算算法基于待处理信息及待处理信息对应的解密因子,计算得到待处理信息对应的运算算法;
其中,加密因子运算算法和解密因子运算算法满足预设转换关系。
图7为根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的加解密方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的加解密方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的加解密方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的加解密方法。
本公开实施例提供的一种报文加解密装置、电子设备及计算机可读存储介质中相关部分的说明请参见本公开实施例提供的一种报文加解密方法中对应部分的详细说明,在此不再赘述。另外,本公开实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种加解密方法,其特征在于,包括:
获取待处理信息;
获取处理因子,所述处理因子包括加密因子或解密因子;
基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法;
基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理信息进行运算,得到目标处理结果之后,还包括:
迭代执行所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法、及,所述基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;
其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。
3.根据权利要求1或2所述的加解密方法,其特征在于,所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法,包括:
获取所述待处理信息中预设的m比特值;
计算所述m比特值对应的数值;
在预设的算法集合中,选取所述数值对应的算法作为所述运算算法。
4.根据权利要求1或2所述的加解密方法,其特征在于,所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法,包括:
将所述待处理信息或所述处理因子转换为伪随机数,根据转化得到的所述伪随机数计算来得到所述待处理信息对应的所述运算算法。
5.根据权利要求1或2所述的加解密方法,其特征在于,所述基于所述待处理信息及所述待处理信息对应的所述处理因子,计算得到所述待处理信息对应的运算算法,包括:
当所述处理因子为所述加密因子时,采用加密因子运算算法基于所述待处理信息及所述待处理信息对应的所述加密因子,计算得到所述待处理信息对应的运算算法;
当所述处理因子为所述解密因子时,采用解密因子运算算法基于所述待处理信息及所述待处理信息对应的所述解密因子,计算得到所述待处理信息对应的运算算法;
其中,所述加密因子运算算法和所述解密因子运算算法满足预设转换关系。
6.一种加解密装置,其特征在于,包括:
第一获取模块,用于获取待处理信息;
第二获取模块,用于获取处理因子,所述处理因子包括加密因子或解密因子;
第一确定模块,用于基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法;
第一运算模块,用于基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果。
7.根据权利要求6所述的加解密装置,其特征在于,还包括:
第一循环模块,用于所述第一运算模块对所述待处理信息进行运算,得到目标处理结果之后,迭代执行所述基于所述待处理信息及所述处理因子,确定用于对所述待处理信息进行加密或解密的运算算法、及,所述基于所述运算算法和所述处理因子,对所述待处理信息进行运算,得到处理结果的步骤直到预设次数,以获得目标处理结果;
其中,每次迭代步骤使用待处理信息为前一次迭代步骤的处理结果。
8.根据权利要求6或7所述的加解密装置,其特征在于,所述第一确定模块包括:
第一获取单元,用于获取所述待处理信息中预设的m比特值;
第一计算单元,用于计算所述m比特值对应的数值;
第一选取单元,用于在预设的算法集合中,选取所述数值对应的算法作为所述运算算法。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811488997.4A CN109450617A (zh) | 2018-12-06 | 2018-12-06 | 加解密方法及装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811488997.4A CN109450617A (zh) | 2018-12-06 | 2018-12-06 | 加解密方法及装置、电子设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450617A true CN109450617A (zh) | 2019-03-08 |
Family
ID=65556754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811488997.4A Pending CN109450617A (zh) | 2018-12-06 | 2018-12-06 | 加解密方法及装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450617A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966279A (zh) * | 2021-02-08 | 2021-06-15 | 北京金山云网络技术有限公司 | 一种分布式数据处理方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密*** |
CN102571330A (zh) * | 2012-02-01 | 2012-07-11 | 王勇 | 一种基于随机函数的分组加密算法的构造方法 |
CN103516513A (zh) * | 2013-10-22 | 2014-01-15 | 桂林电子科技大学 | 基于随机函数的抗已知明文密文对攻击的分组加密方法 |
CN103607276A (zh) * | 2013-12-05 | 2014-02-26 | 桂林电子科技大学 | 新型基于随机函数的抗已知明文密文对攻击的分组加密方法 |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
-
2018
- 2018-12-06 CN CN201811488997.4A patent/CN109450617A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密*** |
CN102571330A (zh) * | 2012-02-01 | 2012-07-11 | 王勇 | 一种基于随机函数的分组加密算法的构造方法 |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
CN103516513A (zh) * | 2013-10-22 | 2014-01-15 | 桂林电子科技大学 | 基于随机函数的抗已知明文密文对攻击的分组加密方法 |
CN103607276A (zh) * | 2013-12-05 | 2014-02-26 | 桂林电子科技大学 | 新型基于随机函数的抗已知明文密文对攻击的分组加密方法 |
CN105490802A (zh) * | 2015-11-27 | 2016-04-13 | 桂林电子科技大学 | 基于gpu的改进sm4并行加解密通信方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966279A (zh) * | 2021-02-08 | 2021-06-15 | 北京金山云网络技术有限公司 | 一种分布式数据处理方法及*** |
CN112966279B (zh) * | 2021-02-08 | 2023-11-03 | 北京金山云网络技术有限公司 | 一种分布式数据处理方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850221B (zh) | 信息加密、解密方法及装置 | |
JP5835458B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
CN107017981A (zh) | 硬件辅助快速伪随机数生成 | |
CN105207772B (zh) | 安全地交换消息的加密方法及实现该方法的设备和*** | |
CN104486315A (zh) | 一种基于内容属性的可撤销密钥外包解密方法 | |
EP3718250A1 (en) | Cryptography device having secure provision of random number sequences | |
EP2853059A1 (en) | Encryption key generation | |
Naidu et al. | Design and implementation of cryptcloud system for securing files in cloud | |
CN102185694A (zh) | 基于指纹信息的电子文件加密的方法及其*** | |
JP2016505887A (ja) | 乱数生成器及びストリーム暗号 | |
CN107579813A (zh) | 信息加密、解密方法及装置 | |
WO2013129054A1 (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JP2017519457A (ja) | 共有鍵を決定するためのデバイス | |
US8976960B2 (en) | Methods and apparatus for correlation protected processing of cryptographic operations | |
CN105359450A (zh) | 防篡改密码算法实现 | |
CN105723647A (zh) | 用于共享密码密钥的*** | |
Zhang et al. | Hybrid encryption algorithms for medical data storage security in cloud database | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密***及方法 | |
CN109698745A (zh) | 一种密钥管理方法、***及耳机和存储介质 | |
CN109714368A (zh) | 报文加解密方法、装置、电子设备及计算机可读存储介质 | |
Yang et al. | PLCrypto: A symmetric cryptographic library for programmable logic controllers | |
CN109951456A (zh) | 报文加解密方法、装置、电子设备及计算机可读存储介质 | |
CN109450617A (zh) | 加解密方法及装置、电子设备、计算机可读存储介质 | |
Gupta et al. | Enhancement of Cloud Security and removal of anti-patterns using multilevel encryption algorithms. | |
CN109923829A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |