CN118138218A - 数据加密及解密方法、装置、电子设备及存储介质 - Google Patents
数据加密及解密方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118138218A CN118138218A CN202211538821.1A CN202211538821A CN118138218A CN 118138218 A CN118138218 A CN 118138218A CN 202211538821 A CN202211538821 A CN 202211538821A CN 118138218 A CN118138218 A CN 118138218A
- Authority
- CN
- China
- Prior art keywords
- value
- data
- prime number
- preset prime
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000006243 chemical reaction Methods 0.000 claims abstract description 93
- 239000013589 supplement Substances 0.000 claims abstract description 15
- 230000001502 supplementing effect Effects 0.000 claims abstract description 11
- 230000000295 complement effect Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000153 supplemental effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本公开关于一种数据加密及解密方法、装置、电子设备及存储介质,包括:获取明文数据,并对明文数据进行数值转换,得到初始值;将初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;根据预设素数及对应的参考值,确定最小目标值,并确定初始值及最小目标值之间的偏移量;最小目标值为目标值中的最小值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值;将参考值的长度补充至与参考值对应的预设素数的长度相等,得到补充值,并按照预设素数的排列顺序,拼接偏移量及补充值,得到加密值;对加密值进行字符转换,得到明文数据对应的密文数据。因此,极大的增加了数据解密的难度,提高了数据安全性。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据加密及解密方法、装置、电子设备及存储介质。
背景技术
在一些场景中,对数据传输的安全性具有较高的需求,除了预先约定的接收方,用户并不希望其他第三方能够获取数据中的信息,因此,在进行数据传输的过程中,通常需要利用密钥对数据进行加密。
相关技术中,可以采用对称加密的方式,基于密钥对明文数据进行加密后,得到密文数据,进而,对密文数据进行传输,接收方在接收到密文数据后,可以采用相同的密钥,对密文数据进行解密,得到明文数据。这样,即使密文数据被第三方截获,在没有密钥的情况下,第三方也无法对密文数据进行解密,从而有效防止信息泄露。
但是,上述数据加密及解密方式较为单一,如果密钥被泄露,则密文数据存在很大的被破解风险,导致数据传输的安全性难以得到保障。
发明内容
本公开提供一种数据加密及解密方法、装置、电子设备及存储介质,以至少解决相关技术中数据加密及解密方式较为单一,如果密钥被泄露,则密文数据存在很大的被破解风险,导致数据传输的安全性难以得到保障的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据加密方法,包括:
获取明文数据,并对所述明文数据进行数值转换,得到初始值;
将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
可选地,所述对所述明文数据进行数值转换,得到初始值,包括:
将所述明文数据转换为字节流信息;
对所述字节流信息依次进行十六进制转换及二进制转换,得到初始值;
所述对所述加密值进行字符转换,得到所述明文数据对应的密文数据,包括:
对所述加密值依次进行十六进制转换、字节流转换以及字符转换,得到所述明文数据对应的密文数据。
可选地,所述将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,包括:
调用预设函数,分别计算所述参考值及对应的预设素数的长度;
在所述参考值的长度小于所述预设素数的长度的情况下,在所述参考值的第一位之前补充预设数量个0,得到补充值;所述预设数量等于所述预设素数的长度与所述参考值的长度之差;
在所述参考值的长度等于所述预设素数的长度的情况下,将所述参考值作为补充值。
可选地,所述根据所述预设素数及对应的所述参考值,确定最小目标值,包括:
基于剩余定理,根据所述预设素数及对应的所述参考值确定最小解,作为最小目标值。
可选地,所述确定所述初始值及所述最小目标值之间的偏移量,包括:
对所述初始值及所述最小目标值进行异或运算,得到偏移量。
可选地,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
根据本公开实施例的第二方面,提供一种数据解密方法,包括:
获取密文数据,并对所述密文数据进行数值转换,得到加密值;
按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
根据所述偏移量及所述最小目标值,确定初始值;
对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
可选地,所述对所述密文数据进行数值转换,得到加密值,包括:
将所述密文数据转换为字节流信息;
对所述字节流信息依次进行十六进制转换及二进制转换,得到加密值;
所述对所述初始值进行字符转换,得到所述密文数据对应的明文数据,包括:
对所述初始值依次进行十六进制转换、字节流转换以及字符转换,得到,得到所述密文数据对应的明文数据。
可选地,所述根据所述预设素数及对应的所述补充值,确定最小目标值,包括:
基于剩余定理,根据所述预设素数及对应的所述补充值确定最小解,作为最小目标值。
可选地,所述根据所述偏移量及所述最小目标值,确定初始值,包括:
对所述偏移量及所述最小目标值进行异或运算,得到初始值。
可选地,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
根据本公开实施例的第三方面,提供一种数据加密装置,包括:
获取模块,用于获取明文数据,并对所述明文数据进行数值转换,得到初始值;
取余模块,用于将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
确定模块,用于根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
拼接模块,用于将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
转换模块,用于对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
根据本公开实施例的第四方面,提供一种数据解密装置,包括:
获取模块,用于获取密文数据,并对所述密文数据进行数值转换,得到加密值;
截取模块,用于按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
计算模块,用于根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
确定模块,用于根据所述偏移量及所述最小目标值,确定初始值;
转换模块,用于对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
根据本公开实施例的第五方面,提供一种数据加密电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述任一项所述的数据加密方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由数据加密电子设备的处理器执行时,使得数据加密电子设备能够执行所述任一项所述的数据加密方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现所述任一项所述的数据加密方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
获取明文数据,并对明文数据进行数值转换,得到初始值;将初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;根据预设素数及对应的参考值,确定最小目标值,并确定初始值及最小目标值之间的偏移量;最小目标值为目标值中的最小值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值;将参考值的长度补充至与参考值对应的预设素数的长度相等,得到补充值,并按照预设素数的排列顺序,拼接偏移量及补充值,得到加密值;对加密值进行字符转换,得到明文数据对应的密文数据。
这样,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据加密方法的流程图。
图2是根据一示例性实施例示出的一种数据加密方法的具体实施方式的流程图。
图3是根据一示例性实施例示出的一种数据解密方法的流程图。
图4是根据一示例性实施例示出的一种数据解密方法的具体实施方式的流程图。
图5是根据一示例性实施例示出的一种数据加密装置的框图。
图6是根据一示例性实施例示出的一种数据解密装置的框图。
图7是根据一示例性实施例示出的一种用于数据加密的电子设备的框图。
图8是根据一示例性实施例示出的一种用于数据加密的装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,对本申请中涉及的名词进行解释:
加密:加密是将明文数据改变为难以读取的密文数据,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文数据还原为正常可读的内容,理想情况下,只有经授权的人员能够读取加密文数据。加密本身并不能防止信息传输被截取,但加密能防止截取者理解其内容。其中,数据加密可以采用单钥密码系统的加解密方法,也叫做对称加密,即同一个秘钥可以同时用作信息的加密和解密,其特点是加解密速度快,通常应用在需要传输大量数据的场景。
剩余定理:又称孙子定理或中国余数定理,是数论中的一个关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。用现代数学的语言来说明的话,剩余定理给出了以下的一元线性同余方程组:
其中,“≡”表示同余符号,比如,对于两个整数e和a1,若它们除以整数m1所得的余数相等,则称e,a1对于模m1同余,即e≡a1(mod m1)。
假设整数m1,m2,...,mn其中任两数互素,即两个数之间除了1之外没有更多的公约数,则对任意的整数:a1,a2,...,an,方程组(S)有解,并且通解可以用如下方式构造得到:
设即M是整数m1,m2,...,mn的乘积;
设即Mi是除了mi以外的n-1个整数的乘积;
设ti=Mi -1为Mi模mi的模论倒数:Mi*ti≡1(mod mi),即Mi和ti互为基于mi的逆元;
那么,M1*t1=m2*…*mn*t1能够被m2,m3...mn整除,得t1,而t1除以m1正好余1,所以,a1t1M1能够被m2,m3...mn整除,得a1t1,而a1t1除以m1正好余a1,依次类推,antnMn能够被m1,m2...mn-1整除,得antn,而antn除以mn正好余an;
a1t1M1+a2t2M2+…+antnMn除以m1时,a1t1M1余a1,a2t2M2…antnMn都余0,则余a1,依次类推,除以mn时余a n,故满足剩余定理要求,则通解为最小通解为
因此,方程组(S)的通解形式为:
其中,k∈Z。
图1是根据一示例性实施例示出的一种数据加密方法的流程图,如图1所示,该数据加密方法包括:
在步骤S11中,获取明文数据,并对明文数据进行数值转换,得到初始值。
在一些场景中,对数据传输的安全性具有较高的需求,为了防止信息泄露,需要对数据进行加密。相关技术中,可以采用对称加密的方式,基于密钥对明文数据进行加密后,得到密文数据,对应的,可以采用相同的密钥,对密文数据进行解密,得到明文数据。这样,即使密文数据被第三方截获,在没有密钥的情况下,第三方也无法对密文数据进行解密,从而有效防止信息泄露。
在本申请中,明文数据即为未被加密的数据,在进行数据传输或存储之前,需要对明文数据进行加密,以提高数据安全性。其中,明文数据可以是图像、文档、视频等任一种数据,具体不做限定。
在本步骤中,获取明文数据之后,需要对明文数据进行数值转换,得到初始值,也就是说,将明文数据转换为对应的数值,比如,可以采用二进制转换,即采用二进制的初始值对明文数据进行表达。二进制数据是用0和1两个数码来表示的数,它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,二进制数据的实现逻辑及运算较为简单,抗干扰能力强,处理过程较为简单,有利于高效实现对数据的处理。
或者,也可以采用十六进制、八进制或十进制转换,也可以多种转换方式结合,等等,具体不做限定。
具体来说,一种实现方式中,对明文数据进行数值转换,得到初始值,包括:将明文数据转换为字节流信息;对字节流信息依次进行十六进制转换及二进制转换,得到初始值。
也就是说,需要先把明文数据转换为字节流信息,即以字节为单位,对明文数据进行表达;然后,将字节流信息转换为十六进制数据,与二进制对应的,十六进制的进位规则是“逢十六进一”;进而,再将十六进制数据转换为二进制数据。可以理解,如果直接将明文数据或字节流数据转换为二进制数据,可能导致位数过长,处理起来较为复杂不便,因此,可以通过十六进制进行转换,一方面缩短二进制数据的位数,另一方面可以保留二进制数据的表达特点。
在步骤S12中,将初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值。
在本步骤中,得到初始值之后,可以将初始值与预设素数依次进行取余运算,即将初始值与预设素数相除,取得到的余数作为预设素数对应的参考值。素数也就是质数,指的是大于1的整数中,只能被1和这个数本身整除的数。其中,预设素数也采用二进制的形式表达,得到的参考值也是二进制数据。
在本申请中,预设素数即为对明文数据进行加密所需的密钥。其中,预设素数至少包括两个,并且预设素数是具有固定的排列顺序的,比如,可以由小到大排序,也可以由大到小排序,或者,也可以基于某种预设的随机顺序,具体不做限定。而且,预设素数均大于预设值,也就是说,预设素数的取值较大,这样,参考值的取值也会比较大,在后续的处理过程中,重复的概率比较低,因此破解难度较大,有利于提高数据的安全性。
在步骤S13中,根据预设素数及对应的参考值,确定最小目标值,并确定初始值及最小目标值之间的偏移量;最小目标值为目标值中的最小值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值。
在本步骤中,根据预设素数及对应的参考值,确定目标值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值。由于预设素数及参考值均为二进制表达,因此,最小目标值也是二进制数据。
可以理解,参考值是将初始值与预设素数依次进行取余运算得到的,换句话说,初始值也是一个目标值,但目标值可能存在多个,进行数据解密时,根据预设素数及对应的参考值,并不能进一步确定初始值,也就无法还原出明文数据。而最小目标值是唯一确定的,那么,可以初始值及最小目标值之间的偏移量,这样,得到最小目标值及偏移量之后,就可以确定初始值,进而得到明文数据。
其中,一种实现方式中,根据预设素数及对应的参考值,确定最小目标值,包括:基于剩余定理,根据预设素数及对应的参考值确定最小解,作为最小目标值。也就是说,可以基于剩余定理,对预设素数及对应的参考值进行方程组运算,并确定其中的最小解,作为最小目标值。剩余定理的计算过程在前述名词解释部分有描述,这里不再赘述。另外,也可以采用其他算法确定最小目标值,具体不做限定。
另外,一种实现方式中,确定初始值及最小目标值之间的偏移量,包括:对初始值及最小目标值进行异或运算,得到偏移量。其中,异或运算是指参加运算的两个对象,按照二进制位进行异或运算,相同则运算结果为0,不同则运算结果为1,比如,若同一数位上,初始值为1,最小目标值为0,两者不同,则偏移量为1;若同一数位上,初始值为1,最小目标值为1,两者相同,则偏移量为0;若同一数位上,初始值为0,最小目标值为0,两者相同,则偏移量为0。
另外,还可以采用其他算法确定初始值及最小目标值之间的偏移量,比如,可以直接计算初始值及最小目标值之间的差,或分别计算初始值及最小目标值在每个数位的差,等等,具体不做限定。
在步骤S14中,将参考值的长度补充至与参考值对应的预设素数的长度相等,得到补充值,并按照预设素数的排列顺序,拼接偏移量及补充值,得到加密值。
在本步骤中,先将参考值的长度补充至与参考值对应的预设素数的长度相等,得到补充值,其中,补充至与参考值的取值是相等的,也就是说,通过在参考值的头部补0,增加参考值的长度,得到补充值,比如,如果预设素数为10001,参考值为1,那么,补充值为00001。
然后,可以按照预设素数的排列顺序,拼接偏移量及补充值,得到加密值,可以理解,按照预设素数的排列顺序进行拼接,在解密时才能从加密值中依次截取并取得每个预设素数对应的补充值。
一种实现方式中,将参考值的长度补充至与参考值对应的预设素数的长度相等,得到补充值,包括:调用预设函数,分别计算参考值及对应的预设素数的长度;在参考值的长度小于预设素数的长度的情况下,在参考值的第一位之前补充预设数量个0,得到补充值;预设数量等于预设素数的长度与参考值的长度之差;在参考值的长度等于预设素数的长度的情况下,将参考值作为补充值。
其中,预设函数可以是len()函数,len()函数的功能是返回字符串中的字符个数,因此可以用于确定参考值及对应的预设素数的长度,另外,也可以采用其他函数,具体不做限定。
在步骤S15中,对加密值进行字符转换,得到明文数据对应的密文数据。
在本步骤中,得到加密值之后,通过对加密值进行字符转换,可以将二进制的加密值重新转换为字符信息,得到明文数据对应的密文数据。密文数据是对明文数据进行加密后得到的,在未获取到预设素数及其排列顺序的情况下,将无法对密文数据进行解密,即无法得到明文数据。
具体来说,一种实现方式中,对加密值进行字符转换,得到明文数据对应的密文数据,包括:对加密值依次进行十六进制转换、字节流转换以及字符转换,得到明文数据对应的密文数据。
其中,字符转换可以采用Base64编码算法,将字节流信息转换成可打印的字符,或者,也可以采用其他编码算法,具体不做限定。具体的转换过程与步骤S11中,把明文数据转换为字节流信息的过程相对应,这里不再赘述。
举例来说,如图2所示,一种实现方式中,本申请提供的数据加密方法包括如下步骤:
首先,约定秘钥为有序排列的预设素数,可以表示为集合M,M所包括的预设素数的数量为大于等于2的自然数,记作n,且M中的素数两两互素,按升序排列记为m1,m2…mn。
然后,将明文数据转换为字节流信息,再对字节流信息依次进行十六进制转换及二进制转换,得到初始值,记为e;
e分别对m1,m2…mn取余,依次得到参考值a1,a2…an,将a1,a2…an代入剩余定理,根据通解公式求得基于m1,m2…mn的最小特解,作为最小目标值,记为x;
将x和e进行异或运算,得到偏移量,记为v;
对于任意的an和所对应的mn,调用len()函数确定其长度,由于an是mn整除e的余数,可知len(an)<=len(mn),其中,若len(an)<len(mn),则将an前缀补0直到和mn长度相同,即cn=0*(len(mn)-len(an))+an,若len(an)==len(mn),则cn=an,以此类推,得到c1,c2…cn;
将v和c1,c2…cn拼装起来,并删除v前缀的0,得到加密值c=v+c1+c2+...+cn;
将加密值由二进制数转换为十六进制数据,再转换为字节流数据,再转换为base64字符,得到明文数据对应的密文数据。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
与图1所示的数据加密方法相对应的,本申请还提供了一种数据解密方法,如图3所示,包括:
在步骤S21中,获取密文数据,并对密文数据进行数值转换,得到加密值。
在一些场景中,对数据传输的安全性具有较高的需求,为了防止信息泄露,对明文数据进行了加密,那么,在获取到加密后的密文数据后,需要对密文数据进行解密,才能获取到明文数据中的信息。相关技术中,可以采用对称加密的方式,基于密钥对明文数据进行加密后,得到密文数据,对应的,可以采用相同的密钥,对密文数据进行解密,得到明文数据。
在本申请中,密文数据即为加密后的数据,需要对密文数据进行解密,以获取到明文数据中的信息。获取密文数据之后,需要对密文数据进行数值转换,得到加密值,也就是说,采用数值对密文数据进行表达。
具体来说,一种实现方式中,对密文数据进行数值转换,得到加密值,包括:将密文数据转换为字节流信息;对字节流信息依次进行十六进制转换及二进制转换,得到加密值。
也就是说,需要先把密文数据转换为字节流信息,即以字节为单位,对密文数据进行表达;然后,将字节流信息转换为十六进制数据,与二进制对应的,十六进制的进位规则是“逢十六进一”;进而,再将十六进制数据转换为二进制数据。可以理解,如果直接将明文数据或字节流数据转换为二进制数据,可能导致位数过长,处理起来较为复杂不便,因此,可以通过十六进制进行转换,一方面缩短二进制数据的位数,另一方面可以保留二进制数据的表达特点。
在步骤S22中,按照预设素数的排列倒序及长度,从加密值的尾部依次截取与预设素数对应的补充值,并将加密值中未被截取的剩余部分作为偏移量。
在本步骤中,从加密值的尾部截取与预设素数的长度相等的数字,作为与预设素数对应的补充值,截取顺序按照预设素数的排列倒序,剩余部分作为偏移量。举例而言,如果加密值为10001010000,预设素数及其排序为m1,m2,其中,m1长度为2,m2长度为5,则加密值的最后五位为m2对应的补充值10000,最后五位之前的两位为m1对应的补充值10,剩余部分1000则为偏移量。
在步骤S23中,根据预设素数及对应的补充值,确定最小目标值;最小目标值为目标值中的最小值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的补充值。
在本步骤中,根据预设素数及对应的补充值,确定目标值,目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值。由于预设素数及补充值均为二进制表达,因此,最小目标值也是二进制数据。
其中,有些情况下,补充值的头部几位数可能取值为0,在这种情况下,可以删除这些前缀0,得到参考值,再根据预设素数及对应的参考值,确定最小目标值,或者,即使在不删除的情况下进行运算,得到的目标值也是一样的,具体不做限定。
一种实现方式中,根据预设素数及对应的补充值,确定最小目标值,包括:基于剩余定理,根据预设素数及对应的补充值确定最小解,作为最小目标值。也就是说,可以基于剩余定理,对预设素数及对应的补充值进行方程组运算,并确定其中的最小解,作为最小目标值。剩余定理的计算过程在前述名词解释部分有描述,这里不再赘述。另外,也可以采用其他算法确定最小目标值,具体不做限定。
在步骤S24中,根据偏移量及最小目标值,确定初始值。
在本申请中,偏移量表示初始值及最小目标值之间的差异,那么,获取根据偏移量及最小目标值之后,根据偏移量及最小目标值就可以计算初始值。
一种实现方式中,根据偏移量及最小目标值,确定初始值,包括:对偏移量及最小目标值进行异或运算,得到初始值。其中,异或运算是指参加运算的两个对象,按照二进制位进行异或运算,相同则运算结果为0,不同则运算结果为1,比如,若同一数位上,偏移量为1,最小目标值为0,两者不同,则初始值为1;若同一数位上,偏移量为1,最小目标值为1,两者相同,则初始值为0;若同一数位上,偏移量为0,最小目标值为0,两者相同,则初始值为0。
两位,也可以直接将偏移量与最小目标值相加,将得到初始值,具体可以根据偏移量的确定过程对应确定初始值的确定方式,具体不做限定。
在步骤S25中,对初始值进行字符转换,得到密文数据对应的明文数据。
一种实现方式中,对初始值进行字符转换,得到密文数据对应的明文数据,包括:对初始值依次进行十六进制转换、字节流转换以及字符转换,得到,得到密文数据对应的明文数据。
其中,字符转换可以采用Base64编码算法,将字节流信息转换成可打印的字符,或者,也可以采用其他编码算法,具体不做限定。具体的转换过程与步骤S21中,把密文数据转换为字节流信息的过程相对应,这里不再赘述。
举例来说,如图4所示,一种实现方式中,本申请提供的数据解密方法包括如下步骤:
首先,约定秘钥为有序排列的预设素数,可以表示为集合M,M所包括的预设素数的数量为大于等于2的自然数,记作n,且M中的素数两两互素,按升序排列记为m1,m2…mn。
然后,将密文数据base64解码,再转换为字节流信息,再转16进制,再对字节流信息依次进行十六进制转换及二进制转换,得到加密值,记为c;
从后往前截取c,截取长度依次为len(mn)、len(mn-1)…len(m1),依次作为补充值,记为c1,c2…cn,并将c中剩余部分作为偏移量,记为v;进一步地,可以将c1,c2…cn去除前缀0,得到参考值,记为a1,a2…an;
将a1,a2…an代入剩余定理,根据通解公式求得基于m1,m2…mn的最小特解,作为最小目标值,记为x;
将x和v进行异或运算,得到初始值,记为e;
将二进制的初始值转换为十六进制数据,再转换为字节流数据,得到密文数据对应的明文数据。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
下面以一个具体实施例,以字符串“123456”为例,对本申请提供的数据加密方法进行说明:
首先,可以使用2个互素的预设素数作为秘钥,比如,预设素数可以分别为11和163;
将明文数据“123456”转换为字节流信息,再对字节流信息依次进行十六进制转换及十进制转换,得到初始值54091677185334;
分别用秘钥11和163对初始值54091677185334整除,得到2个余数8和20,作为参考值;
将余数和秘钥代入剩余定理,求得最小特解998,作为最小目标值;
将最小目标值998和初始值54091677185334进行异或运算,得到偏移量54091677185744;
参考值8对应秘钥素数11,前缀补0得到分组密文08,参考值20对应秘钥素数163,前缀补0得到补充值020,偏移量和补充值拼装,得到加密值5409167718574408020;
将加密值5409167718574408020转换为字节流数据,再转换为base64字符,得到明文数据对应的密文数据SxE5YYwjQVQ=。
可以理解,传统的数据加密算法一般都是固定分组,例如以16个字节分组,秘钥长度和分组无关,而本发明实施例基于剩余定理进行数据加密,分组大小取决于初始化的预设素数的集合,各组长度可以不一致,且组间密文不存在因果关系,密文还引入了偏移量,这极大的增加了破解的难度。
而且,在本申请中,加密时根据初始值和预设素数,并行取余得到参考值,再将参考值和预设素数代入剩余定理,执行一次解一元线性方程运算,得到最小特解,作为最小目标值,再将最小目标值和初始值异或得到偏移量,最后将偏移量和补充值拼装为加密值。解密时根据加密值和预设素数,并行截取得到补充值和偏移量,再将补充值和预设素数代入剩余定理,执行一次解一元线性方程运算,得到最小特解,作为最小目标值,再将最小目标值和偏移量异或得到初始值。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
图5是根据一示例性实施例示出的一种数据加密装置框图,包括:
获取模块301,用于明文数据,并对所述明文数据进行数值转换,得到初始值;
取余模块302,用于将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
确定模块303,用于根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
拼接模块304,用于将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
转换模块305,用于对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
与图5所示的数据加密装置相对应的,本申请还提供了一种数据解密装置,如图6所示,包括:
获取模块401,用于获取密文数据,并对所述密文数据进行数值转换,得到加密值;
截取模块402,用于按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
计算模块403,用于根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
确定模块404,用于根据所述偏移量及所述最小目标值,确定初始值;
转换模块405,用于对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
图7是根据一示例性实施例示出的一种用于数据加密的电子设备的框图。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,所述指令可由电子设备的处理器执行以完成所述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,当其在计算机上运行时,使得计算机实现所述数据加密的方法。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
图8是根据一示例性实施例示出的一种用于数据加密的装置800的框图。
例如,装置800可以是移动电话,计算机,数字广播电子设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成所述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件807为装置800的各种组件提供电力。电源组件807可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和账户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自账户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,所述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,账户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行第一方面和第二方面所述的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,所述指令可由装置800的处理器820执行以完成所述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性非临时性计算机可读存储介质计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行所述实施例中任一所述的数据加密方法。
由以上可见,本公开的实施例提供的技术方案,以有序的预设素数作为密钥,其中,参考值是将初始值与预设素数依次进行取余运算得到的,而目标值与任一预设素数相除,得到的余数为任一预设素数对应的参考值,换句话说,初始值是目标值中的一个,而最小目标值也是目标值中的一个,那么,通过进一步确定初始值及最小目标值之间的偏移量,并基于偏移量和参考值拼装得到密文数据,就可以实现对明文数据的加密,对应的,根据有序的预设素数可以实现解密。在加密过程中,多个预设素数的存在实现了对明文数据的分组,而且,分组的大小依据预设素数的长度而定,并不固定,是一种非固定分组的加密方法,因此,极大的增加了数据解密的难度,提高了数据安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种数据加密方法,其特征在于,包括:
获取明文数据,并对所述明文数据进行数值转换,得到初始值;
将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
2.根据权利要求1所述的数据加密方法,其特征在于,所述对所述明文数据进行数值转换,得到初始值,包括:
将所述明文数据转换为字节流信息;
对所述字节流信息依次进行十六进制转换及二进制转换,得到初始值;
所述对所述加密值进行字符转换,得到所述明文数据对应的密文数据,包括:
对所述加密值依次进行十六进制转换、字节流转换以及字符转换,得到所述明文数据对应的密文数据。
3.根据权利要求1所述的数据加密方法,其特征在于,所述将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,包括:
调用预设函数,分别计算所述参考值及对应的预设素数的长度;
在所述参考值的长度小于所述预设素数的长度的情况下,在所述参考值的第一位之前补充预设数量个0,得到补充值;所述预设数量等于所述预设素数的长度与所述参考值的长度之差;
在所述参考值的长度等于所述预设素数的长度的情况下,将所述参考值作为补充值。
4.根据权利要求1所述的数据加密方法,其特征在于,所述根据所述预设素数及对应的所述参考值,确定最小目标值,包括:
基于剩余定理,根据所述预设素数及对应的所述参考值确定最小解,作为最小目标值。
5.根据权利要求1所述的数据加密方法,其特征在于,所述确定所述初始值及所述最小目标值之间的偏移量,包括:
对所述初始值及所述最小目标值进行异或运算,得到偏移量。
6.根据权利要求1所述的数据加密方法,其特征在于,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
7.一种数据解密方法,其特征在于,包括:
获取密文数据,并对所述密文数据进行数值转换,得到加密值;
按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
根据所述偏移量及所述最小目标值,确定初始值;
对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
8.根据权利要求7所述的数据解密方法,其特征在于,所述对所述密文数据进行数值转换,得到加密值,包括:
将所述密文数据转换为字节流信息;
对所述字节流信息依次进行十六进制转换及二进制转换,得到加密值;
所述对所述初始值进行字符转换,得到所述密文数据对应的明文数据,包括:
对所述初始值依次进行十六进制转换、字节流转换以及字符转换,得到,得到所述密文数据对应的明文数据。
9.根据权利要求7所述的数据解密方法,其特征在于,所述根据所述预设素数及对应的所述补充值,确定最小目标值,包括:
基于剩余定理,根据所述预设素数及对应的所述补充值确定最小解,作为最小目标值。
10.根据权利要求7所述的数据解密方法,其特征在于,所述根据所述偏移量及所述最小目标值,确定初始值,包括:
对所述偏移量及所述最小目标值进行异或运算,得到初始值。
11.根据权利要求7所述的数据解密方法,其特征在于,所述预设素数的排列顺序为由小到大排序,且所述预设素数均大于预设值。
12.一种数据加密装置,其特征在于,包括:
获取模块,用于获取明文数据,并对所述明文数据进行数值转换,得到初始值;
取余模块,用于将所述初始值与预设素数依次进行取余运算,分别得到每个预设素数对应的参考值;
确定模块,用于根据所述预设素数及对应的所述参考值,确定最小目标值,并确定所述初始值及所述最小目标值之间的偏移量;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述参考值;
拼接模块,用于将所述参考值的长度补充至与所述参考值对应的预设素数的长度相等,得到补充值,并按照所述预设素数的排列顺序,拼接所述偏移量及所述补充值,得到加密值;
转换模块,用于对所述加密值进行字符转换,得到所述明文数据对应的密文数据。
13.一种数据解密装置,其特征在于,包括:
获取模块,用于获取密文数据,并对所述密文数据进行数值转换,得到加密值;
截取模块,用于按照预设素数的排列倒序及长度,从所述加密值的尾部依次截取与所述预设素数对应的补充值,并将所述加密值中未被截取的剩余部分作为偏移量;
计算模块,用于根据所述预设素数及对应的所述补充值,确定最小目标值;所述最小目标值为目标值中的最小值,所述目标值与任一预设素数相除,得到的余数为所述任一预设素数对应的所述补充值;
确定模块,用于根据所述偏移量及所述最小目标值,确定初始值;
转换模块,用于对所述初始值进行字符转换,得到所述密文数据对应的明文数据。
14.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6或7至11中任一项所述的数据加密或解密方法。
15.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由数据加密电子设备的处理器执行时,使得数据加密电子设备能够执行如权利要求1至6或7至11中任一项所述的数据加密或解密方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7至11任一项所述的数据加密或解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538821.1A CN118138218A (zh) | 2022-12-02 | 2022-12-02 | 数据加密及解密方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538821.1A CN118138218A (zh) | 2022-12-02 | 2022-12-02 | 数据加密及解密方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118138218A true CN118138218A (zh) | 2024-06-04 |
Family
ID=91238752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211538821.1A Pending CN118138218A (zh) | 2022-12-02 | 2022-12-02 | 数据加密及解密方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118138218A (zh) |
-
2022
- 2022-12-02 CN CN202211538821.1A patent/CN118138218A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114756886B (zh) | 一种匿踪查询方法、装置和用于匿踪查询的装置 | |
CN111832067B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112861175B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
US10791124B2 (en) | Method and terminal device for encrypting message | |
CN110543481B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114301594B (zh) | 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置 | |
CN115967491B (zh) | 一种隐私求交方法、系统和可读存储介质 | |
CN109246110B (zh) | 数据共享方法、装置及计算机可读存储介质 | |
CN110365806B (zh) | 网址转换方法及装置 | |
CN113868505A (zh) | 数据处理方法、装置、电子设备、服务器及存储介质 | |
CN115941181B (zh) | 一种乱序秘密分享方法、系统和可读存储介质 | |
CN114885038B (zh) | 一种加密协议转换方法、结果获取节点和隐私计算节点 | |
CN113239389B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN118138218A (zh) | 数据加密及解密方法、装置、电子设备及存储介质 | |
CN114880691B (zh) | 一种字符编码解码方法、装置和用于字符编码解码的装置 | |
CN114553552A (zh) | 数据加密方法和装置、数据解密方法和装置及存储介质 | |
CN113591120A (zh) | 信息发布方法及装置、电子设备和存储介质 | |
EP3683706B1 (en) | Method and apparatus for encrypting data | |
Gundaram et al. | Rainbow tables for cryptanalysis of A5/1 stream cipher | |
CN116502253B (zh) | 电子病历字符加密方法及装置 | |
CN112906904B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114760367B (zh) | 一种加密协议转换方法、第一节点和第二节点 | |
CN116938453B (zh) | 密钥管理方法、装置、设备及存储介质 | |
CN112818363A (zh) | 基于相变随机存储器pcram的加解密方法及系统 | |
CN118312990A (zh) | 隐私集合求交方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |