CN114598470A - 加密方法、解密方法、设备及计算机可读存储介质 - Google Patents
加密方法、解密方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114598470A CN114598470A CN202210267838.1A CN202210267838A CN114598470A CN 114598470 A CN114598470 A CN 114598470A CN 202210267838 A CN202210267838 A CN 202210267838A CN 114598470 A CN114598470 A CN 114598470A
- Authority
- CN
- China
- Prior art keywords
- bit
- bit stream
- seed
- stream
- key
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 14
- 238000004364 calculation method Methods 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 101000888552 Xenopus laevis CLIP-associating protein 1-B Proteins 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种加密方法、解密方法、设备及计算机可读存储介质,加密方法包括:将待加密明文通过第一字典表映射,得到多位第一比特流;根据密钥得到多位第二比特流;将多位所述第一比特流与多位所述第二比特流进行异或运算,得到多位第三比特流;将得到的多位第三比特流,通过第二字典表映射得到加密密文。本公开实施例最终得到的加密密文的长度与原始待加密明文的长度相同,且本公开实施例的加解密过程降低了计算复杂度,具有较高的加解密效率,且不易被破解,保证了信息传输的安全性。
Description
技术领域
本公开实施例涉及但不限于计算机网络技术领域,尤其涉及一种加密方法、解密方法、设备及计算机可读存储介质。
背景技术
目前,在计算机网络中,为了保护手机号码信息不被泄漏,传输手机号时通常需要先进行脱敏加密处理,一种实现方法如下:
发送方和接收方协商产生相同的密钥,发送方将明文的手机号与密钥作为高级加密标准(Advanced Encryption Standard,AES)加密函数的参数输入,得到密文手机号,然后将密文手机号通过网络传输到接收方。接收方将密文的手机号和密钥作为AES解密函数的参数输入,得到明文的手机号,达到在网络中安全传输的目的。
但是,上述方法存在以下缺陷:
1)加密结果长度增加,11个字符的明文手机号,经过AES加密函数之后,得到44个字符的密文手机号,存储时需要增加密文手机号的长度。
2)加密过程计算复杂度较高,需要经过密钥扩展、字节变换、行移位、列混合、轮密钥加等一系列的运算。
发明内容
本公开实施例提供了一种加密方法、解密方法、设备及计算机可读存储介质,能够不增加加密后的手机号长度且降低计算复杂度。
本公开实施例提供了一种加密方法,包括:
将待加密明文通过第一字典表映射,得到多位第一比特流;
根据密钥得到多位第二比特流;
将多位所述第一比特流与多位所述第二比特流进行异或运算,得到多位第三比特流;
将得到的多位第三比特流,通过第二字典表映射得到加密密文。
本公开实施例还提供了一种加密设备,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如以上任一项所述的加密方法的步骤。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如以上任一项所述的加密方法。
本公开实施例还提供了一种解密方法,包括:
将加密密文通过第二字典表映射,得到多位第三比特流;
根据密钥得到多位第二比特流;
将多位所述第三比特流与多位所述第二比特流进行异或运算,得到多位第一比特流;
将得到的多位第一比特流,通过第一字典表映射得到解密后的明文。
本公开实施例还提供了一种解密设备,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如以上任一项所述的解密方法的步骤。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如以上任一项所述的解密方法。
本公开实施例的加密方法、解密方法、设备及计算机可读存储介质,通过将待加密明文转换为第一比特流,根据密钥得到第二比特流,将第一比特流与第二比特流进行异或运算,得到第三比特流,再根据第三比特流得到加密密文,最终得到的加密密文的长度与原始待加密明文的长度相同,且本公开实施例的加解密过程降低了计算复杂度,具有较高的加解密效率,且不易被破解,保证了信息传输的安全性。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开示例性实施例一种加密方法的流程示意图;
图2为本公开示例性实施例一种将随机种子插入到比特流的方法示意图;
图3为本公开示例性实施例一种第二字典表的转换示意图;
图4为本公开示例性实施例一种解密方法的流程示意图;
图5为本公开示例性实施例一种加密设备的结构示意图;
图6为本公开示例性实施例一种解密设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,下文中将结合附图对本公开的实施例进行详细说明。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
除非另外定义,本公开实施例公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出该词前面的元件或物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
如图1所示,本公开实施例提供了一种加密方法,包括:
步骤101:将待加密明文通过第一字典表映射,得到多位第一比特流;
步骤102:根据密钥得到多位第二比特流;
步骤103:将多位第一比特流与多位第二比特流进行异或运算,得到多位第三比特流;
步骤104:将得到的多位第三比特流,通过第二字典表映射得到加密密文。
本公开实施例的加密方法,通过将待加密明文转换为第一比特流,根据密钥得到第二比特流,将第一比特流与第二比特流进行异或运算,得到第三比特流,再根据第三比特流得到加密密文,最终得到的加密密文的长度与原始待加密明文的长度相同,且本公开实施例的加密过程降低了计算复杂度,具有较高的加密效率,且不易被破解,保证了信息传输的安全性。
在一些示例性实施方式中,在步骤101中,待加密明文可以为电话号码,示例性的,该电话号码可以为手机号码。需要说明的是,本公开实施例的加解密方法不仅可以用于对电话号码进行加解密处理,也可以用于对其他任意类型的字符串或数字等明文进行加解密处理,本公开实施例对此不作限制。
示例性的,假设待加密明文为手机号码,手机号码的每个字符范围为0-9共计10个字符,由于4位比特可以表示16个字符(24=16),因此,手机号码的每个字符可以用4位比特流表示,通过转换手机号的11个字符,得到44位的第一比特流。假如,假设手机号为01234567890,转换为44位的第一比特流的结果如表1所示,即得到的第一比特流为00000001001000110100010101100111100010010000。
表1
在另一些示例性实施例中,手机号码的每个字符也可以用5位或5位以上的比特流表示,本公开实施例对此不作限制。
在另一些示例性实施例中,当待加密明文为其他类型时,可以根据需要,将待加密明文的每个字符转化为对应位数的一段比特流,该对应位数可以根据待加密明文的字符取值范围确定,本公开实施例对此不作限制。
在另一些示例性实施例中,可以根据需要,将待加密明文分成多段,对其中的一段或多段待加密明文进行加密,而对剩余段的待加密明文不进行加密,本公开实施例对明文加密的位置和段数不作限制。示例性的,当待加密明文为11位手机号码时,可以只对其中的第四位至第七位进行加密,其他位不进行加密。
需要说明的是,第一字典表可以为自定义的字典表,也可以为其他任意类型的字典表,如ASCII表、进制转换表等,本公开对此不作限制。例如,当待加密明文为手机号码时,可以将手机号码的每个字符按照进制转换表(十进制转换为二进制),转换为对应的多位第一比特流。
在一些示例性实施方式中,在步骤103之前,所述加密方法还包括:
产生随机数,根据随机数得到多位种子;
按照预设方式对多位第一比特流和多位种子分别进行拆分,并将拆分后的多位种子插入到拆分后的多位第一比特流。
本实施例中,通过随机数得到多位种子,按照预设方式计算种子的插入位置,将多位种子分为多段,插入到多位第一比特流。在另一些示例性实施方式中,该步骤也可以省略,如果不加入随机种子,那么每次的加密结果都是一样的。在又一些示例性实施方式中,该步骤也可以分多次将随机种子插入到第一比特流的不同位置。
在一些示例性实施方式中,按照预设方式对多位第一比特流和多位种子分别进行拆分,包括:
根据密钥得到第一中间值;
将多位第一比特流拆分为两段,第一段第一比特流的长度为L1=A%B1,其中A为第一中间值,B1为预设的比特流分段常数,第二段第一比特流的长度为L2=M-L1,其中M为第一比特流的总长度;
将多位种子拆分为三段,第一段种子的长度为P1=A%B2,其中B2为预设的第一种子分段常数,第二段种子的长度为P2=(X-P1)/Y,其中X为多位种子的总长度,Y为预设的第二种子分段常数,第三段种子的长度为P3=X-P1-P2。
需要说明的是,本公开实施例对具体将第一比特流拆分为几段以及如何拆分的方法、具体将种子拆分为几段以及如何拆分的方法都不作限制,用户可以根据需要进行设置。
在一些示例性实施方式中,根据密钥得到第一中间值,具体为:
将密钥的每个字符对应的ASCII值相加,得到第一中间值。
示例性的,假如密钥为6个字符abcxyz,将每个字符进行加法运算的结果为657('a'+'b'+'c'+'x'+'y'+'z'=97+98+99+120+121+122=657),即第一中间值为657。
需要说明的是,本公开实施例对具体如何根据密钥得到第一中间值不作限制,用户可以根据需要设置相应的得到第一中间值的运算方法。应用本公开实施例的加解密方法时,加解密双方需要预先对种子的位数、比特流分段常数B1、第一种子分段常数B2和第二种子分段常数Y进行协商。
在一些示例性实施方式中,假设预先协商的种子位数为22位,比特流分段常数B1为22,第一种子分段常数B2为10,第二种子分段常数Y为2。通过产生随机数,获取随机数的0-21位,得到22位种子。示例性的,假如产生的随机数为126702,使用二进制比特流表示为0000011110111011101110。
根据密钥计算结果,得到第1段第一比特流的长度为19(657%22),第2段第一比特流的长度为25(44-19);
根据密钥计算结果,得到第1段种子的长度为7(657%10),第2段种子的长度为7((22-7)/2),第3段种子的长度为8(22-7-7);
将3段种子插入到2段第一比特流,得到66位第一比特流如表2所示。
表2
如图2所示,将3段种子插入2段第一比特流时,可以将P1长度的种子放到最前面,然后再依次放入L1长度的比特流、P2长度的种子、L2长度的比特流、P3长度的种子,得到N位比特流,即按照第一段种子、第一段比特流、第二段种子、第二段比特流和第三段种子的顺序进行插入,但是,本公开实施例对此不作限制,用户也可以使用其他的排列顺序进行插入,例如,按照第二段种子、第一段比特流、第一段种子、第二段比特流和第三段种子的顺序进行插入等等。
在一些示例性实施方式中,根据密钥得到多位第二比特流,具体可以为:对密钥的每个字符进行算术运算,得到多位第二比特流。
在一些示例性实施方式中,对密钥的每个字符进行算术运算,可以包括:对密钥的每个字符分别进行加法运算和乘法运算,将加法运算结果和乘法运算结果相乘,得到第二比特流。
在一些示例性实施方式中,对密钥的每个字符进行算术运算,可以包括:对密钥的每个字符分别进行加法运算和乘法运算,取预设的第一位数的加法运算结果和预设的第二位数的乘法运算结果组成第二比特流。
例如,仍以密钥abcxyz为例,'a'*'b'*'c'*'x'*'y'*'z'=97*98*99*120*121*122=1667091555360,转化为二进制比特流为0000000000000000000000011000010000100110011001100110010000100000。密钥加法结果为657,其低两位为01,采用密钥乘法结果的64位和密钥加法结果的低2位,得到66位第二比特流,因此,得到的66位第二比特流为0000000000000000000000011000010000100110011001100110010000100000 01。
本公开实施例对具体如何对密钥的每个字符进行算术运算,得到第二比特流的方式并不限制,用户在使用本公开实施例的加解密方法时,可以根据需要,选择相应的算术运算方法,得到第二比特流,或者,也可以根据其他任意的比特流生成方法将密钥变换成第二比特流,本公开对此不作限制。且第二比特流的位数,可以根据进行异或运算的第一比特流的位数来设置,示例性的,当进行异或运算的第一比特流的位数为44位时,则可以将第二比特流也设置为44位;当进行异或运算的第一比特流的位数为66位时,则可以将第二比特流也设置为66位。
在一些示例性实施例中,将多位第一比特流与多位第二比特流进行异或运算,得到多位第三比特流,结果如表3所示。
表3
在一些示例性实施例中,步骤104可以包括:
将66位第三比特流按6位拆分得到11个字符,每个字符是6位比特;
如图3所示,假设第二字典表包含A-Z、a-z、0-9、+、/共计64个可显字符与6位比特二进制值的映射关系,6位比特二进制值可以表示0-63共计64个数字范围,;
通过第二字典表映射得到加密后的结果为BgJHMzP4QBv,如表4所示。
表4
需要说明的是,第二字典表可以为自定义的字典表,也可以为其他任意类型的字典表,本公开对此不作限制。
在另一些示例性实施方式中,根据密钥得到多位第二比特流;将多位第一比特流与多位第二比特流进行异或运算,得到多位第三比特流,可以包括:
根据密钥得到多位第四比特流;
产生随机数,根据随机数得到多位第一种子和多位第二种子;
按照预设方式对多位第一比特流和多位第一种子分别进行拆分,并将拆分后的多位第一种子插入到拆分后的多位第一比特流;
将插入第一种子后的多位第一比特流与多位第四比特流进行异或运算,得到多位第五比特流;
根据密钥得到多位第二比特流;
按照预设方式对多位第五比特流和多位第二种子分别进行拆分,并将拆分后的多位第二种子插入到拆分后的多位第五比特流;
将插入第二种子后的多位第五比特流与多位第二比特流进行异或运算,得到多位第三比特流。
本公开实施例对具体如何根据密钥得到多位第四比特流或第二比特流的方式并不限制,用户在使用本公开实施例的加解密方法时,可以根据需要,选择相应的运算方法,得到第四比特流或第二比特流,或者,也可以根据其他任意的比特流生成方法将密钥变换成第四比特流或第二比特流,本公开对此不作限制。第四比特流的位数,可以根据进行异或运算的第一比特流的位数来设置,示例性的,当进行异或运算的第一比特流的位数为44位时,则可以将第四比特流也设置为44位;当进行异或运算的第一比特流的位数为55位时,则可以将第四比特流也设置为66位。第二比特流的位数,可以根据进行异或运算的第五比特流的位数来设置,示例性的,当进行异或运算的第五比特流的位数为55位时,则可以将第二比特流也设置为44位;当进行异或运算的第五比特流的位数为66位时,则可以将第二比特流也设置为66位。且根据密钥得到多位第四比特流的方法与根据密钥得到多位第二比特流的方法可以相同,也可以不同,本公开实施例对此不作限制。
本公开实施例的加密方法,通过分多次将随机种子插入到第一比特流的不同位置,进一步提高了加密方法的安全性,同时,在性能方面也不会有太多的降低。
示例性的,仍以手机号码01234567890为例,使用本公开实施例的加密方法进行加密时,包括如下步骤:
步骤1、将手机号的字符转换为M位第一比特流,示例性的,M可以为44,同前述实施例,此处不再赘述。
步骤2、通过产生随机数得到X位种子,将随机种子拆分为X1和X2位两部分。
示例性的,本步骤中,产生随机数,通过获取随机数的0-21位,得到22位种子。然后获取随机种子的11-21位,得到种子X1;获取随机种子的0-10位,得到种子X2。假如产生的随机种子为654559(二进制值为0010011111110011011111),得到的种子X1为319(二进制值为00100111111),得到的种子X2为1247(二进制值为10011011111)。
步骤3、根据密钥将种子X1插入到M位第一比特流,得到N1位比特流(即插入第一种子后的第一比特流)。
示例性的,本步骤中,根据密钥将种子X1插入到M位第一比特流的过程如下:
将密钥的每个字符进行加法运算,得到64位密钥加法结果,假如密钥为6个字符abcxyz,将每个字符进行加法运算的结果为657('a'+'b'+'c'+'x'+'y'+'z');
根据密钥计算结果,得到第1段第一比特流的长度为19(657%22),第2段第一比特流的长度为25(44-19);
根据密钥对种子X1的计算结果,得到第1段种子的长度为7(657%10),第2段种子的长度为2((11-7)/2),第3段种子的长度为2(11-7-2);
将种子X1(319)转换为11位比特流结果为00100111111;
将3段11位种子X1插入到2段44位比特流,得到55位比特流如表5所示。
表5
步骤4、根据密钥将N1位比特流进行异或运算,得到N1位异或比特流(即第五比特流)。
示例性的,本步骤中,根据密钥将N1位比特流进行异或运算,得到N1位异或比特流的过程如下:
将密钥的每个字符进行乘法运算,密钥abcxyz得到64位密钥乘法结果为1667091555360('a'*'b'*'c'*'x'*'y'*'z');
假如第四比特流的计算方法为T=(a1*b1),其中a1为密钥加法结果,b1为密钥乘法结果,则第四比特流的计算结果为657*1667091555360=1095279151871520(二进制值为0000011111001000010011010001100110001101111011000100000);
将所述的55位比特流与55位的第四比特流进行异或运算,得到55位的异或比特流,如表6所示。
表6
步骤5、根据密钥将种子X2插入到N1位异或比特流,得到N2位比特流(即插入第二种子后的第五比特流);
示例性的,本步骤中,根据密钥将种子X2插入到N1位异或比特流,得到N2位比特流的过程如下:
根据密钥计算结果,得到第1段55位比特流的长度为19(657%22),第2段55位比特流的长度为36(55-19);
根据密钥对种子X2的计算结果,得到第1段种子的长度为7(657%10),第2段种子的长度为2((11-7)/2),第3段种子的长度为2(11-7-2);
将种子X2(1247)转换为11位比特流结果为10011011111;
将3段11位种子X2插入到2段55位比特流,得到66位比特流如表7所示。
表7
步骤6、根据密钥将N2位比特流进行异或运算,得到N2位异或比特流(即第三比特流)。
示例性的,本步骤中,根据密钥将N2位比特流进行异或运算,得到N2位异或比特流的过程如下:
通过密钥乘法结果的64位和密钥加法结果的低2位,得到66位第二比特流;
将所述的66位比特流与66位第二比特流进行异或运算,得到66位的异或比特流,如表8所示。
表8
步骤7、将所述的N2位异或比特流通过字典表映射得到加密结果。
示例性的,本步骤中,通过字典表映射得到加密结果的过程如下:
将所述的66位异或比特流按6位拆分得到11个字符,每个字符是6位比特;
字典表为A-Z、a-z、0-9、+、/共计64个可显字符,可以表示0-63共计64个数字范围,如图3所示;
通过字典表映射得到加密后的结果为mkOVsfP5cEO,如表9所示。
表9
本公开实施例提供的加密方法,主要使用一种比特流转换的方式,将待加密明文的字符转换为M位比特流,通过产生随机数得到X位种子,根据密钥将随机种子插入到M位比特流,得到N位比特流,通过密钥对N位比特流进行异或运算,得到N位异或比特流,将所述的N位异或比特流通过字典表映射得到加密结果。
从上述实施例可以看出,本公开实施例的加密方法具有如下优点:
1)本公开实施例主要使用比特流转换的方式进行加密处理,因此,本公开实施例的加密方法具有加密过程计算复杂度较低的优点。
2)由于手机号码有11个字符,通过转换、填充比特流,再通过字典表映射得到加密结果也为11个字符,因此,本公开实施例具有加密前后手机号长度不变的优点。
3)通过将随机种子分别插入到比特流,同一个手机号每次加密得到的结果都不同,因此,本公开实施例的加密方法具有网络传输安全性较高的优点。
解密过程是加密过程的逆序,依据前述的加密方法,如图4所示,本公开实施例还提供了一种解密方法,包括:
步骤401:将加密密文通过第二字典表映射,得到多位第三比特流;
步骤402:根据密钥得到多位第二比特流;
步骤403:将多位第三比特流与多位第二比特流进行异或运算,得到多位第一比特流;
步骤404:将得到的多位第一比特流,通过第一字典表映射得到解密后的明文。
在一些示例性实施方式中,解密后的明文可以为电话号码,示例性的,该电话号码可以为手机号码。需要说明的是,本公开实施例的加解密方法不仅可以用于对电话号码进行加解密处理,也可以用于对其他任意类型的字符串或数字等明文进行加解密处理,本公开实施例对此不作限制。
在一些示例性实施例中,步骤401中通过第二字典表映射得到多位第三比特流的过程如下:
按照第二字典表对加密密文逐字符进行转换,每个字符转换为预设位数的比特流,得到多位第三比特流。
示例性的,将加密结果的11个可显字符通过第二字典表转换,第二字典表使用A-Z、a-z、0-9、+、/共计64个可显字符,还原为11个数字字符,每个数字字符使用6位比特流表示,得到66位第三比特流。
本实施例中,假设加密结果包含插入的22位种子,则可将加密结果的11个可显字符映射得到66位第三比特流;当加密结果不包含插入的种子时,则可将加密结果的11个可显字符映射得到44位第三比特流。
在一些示例性实施例中,步骤402和步骤403包括:
将密钥的每个字符进行加法运算,得到64位密钥加法结果;
将密钥的每个字符进行乘法运算,得到64位密钥乘法结果;
通过密钥乘法结果的64位和密钥加法结果的低2位,得到66位第二比特流;
通过66位第二比特流对66位第三比特流进行异或运算,得到66位第一比特流。
在一些示例性实施例中,在步骤403之后,所述解密方法还包括:
按照预设方式对多位第一比特流进行拆分,去除第一比特流中的多位种子。
在一些示例性实施例中,按照预设方式对多位第一比特流进行拆分,去除第一比特流中的多位种子的过程如下:
根据密钥得到第一中间值;
根据第一中间值计算净第一比特流(即去除种子后的第一比特流)的位置和种子的位置,示例性的,第一段净第一比特流的长度为L1=A%B1,其中A为第一中间值,B1为预设的比特流分段常数,第二段净第一比特流的长度为L2=M-L1,其中M为净第一比特流的总长度;第一段种子的长度为P1=A%B2,其中B2为预设的第一种子分段常数,第二段种子的长度为P2=(X-P1)/Y,其中X为多位种子的总长度,Y为预设的第二种子分段常数,第三段种子的长度为P3=X-P1-P2;
去除第一比特流中的多位种子,得到净第一比特流。
需要说明的是,本公开实施例对具体如何根据密钥得到第一中间值不作限制,用户可以根据需要设置相应的得到第一中间值的运算方法。本公开实施例的加解密双方需要预先对种子的位数、比特流分段常数B1、第一种子分段常数B2和第二种子分段常数Y、分段种子与分段净比特流的排列位置进行协商。
在一些示例性实施例中,将得到的多位第一比特流,通过第一字典表映射得到解密后的明文的过程如下:
将净第一比特流按预设位数分成多段,将每段的预设位数的比特流转换为1个字符,得到解密后的明文。
示例性的,将净第一比特流按4位比特拆分为11段,将每段4位比特流转换为1个数字字符,得到加密前的11位手机号。
本公开实施例还提供了一种加密设备,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如前任一项所述的加密方法的步骤。
在一个示例中,如图5所示,该加密设备可包括:第一处理器510、第一存储器520、第一总线系统530和第一收发器540,其中,该第一处理器510、该第一存储器520和该第一收发器540通过该第一总线系统530相连,该第一存储器520用于存储指令,该第一处理器510用于执行该第一存储器520存储的指令,以控制该第一收发器540发送信号。具体地,第一收发器540可在第一处理器510的控制下获取待加密明文,第一处理器510将待加密明文通过第一字典表映射,得到多位第一比特流;根据密钥得到多位第二比特流;将多位第一比特流与多位第二比特流进行异或运算,得到多位第三比特流;将得到的多位第三比特流,通过第二字典表映射得到加密密文。
应理解,第一处理器510可以是中央处理单元(Central Processing Unit,CPU),第一处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该第一处理器510也可以是任何常规的处理器等。
第一存储器520可以包括只读存储器和随机存取存储器,并向第一处理器510提供指令和数据。第一存储器520的一部分还可以包括非易失性随机存取存储器。例如,第一存储器520还可以存储设备类型的信息。
第一总线系统530除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。
在实现过程中,该加密设备所执行的处理可以通过第一处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。即本公开实施例的方法步骤可以体现为硬件处理器执行完成,或者用第一处理器510中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等存储介质中。该存储介质位于第一存储器520,第一处理器510读取第一存储器520中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本公开实施例还提供了一种计算机存储介质,该计算机存储介质存储有可执行指令,该可执行指令被处理器执行时可以实现本公开上述任一实施例提供的加密方法,该加密方法可以将待加密明文通过第一字典表映射,得到多位第一比特流;根据密钥得到多位第二比特流;将多位第一比特流与多位第二比特流进行异或运算,得到多位第三比特流;将得到的多位第三比特流,通过第二字典表映射得到加密密文,从而得到了与原始待加密明文的长度相同的加密密文,且降低了计算复杂度,具有较高的加解密效率,不易被破解,保证了信息传输的安全性。通过执行可执行指令驱动加密的方法与本公开上述实施例提供的加密方法基本相同,在此不做赘述。
本公开实施例还提供了一种解密设备,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如前任一项所述的解密方法的步骤。
在一个示例中,如图6所示,该解密设备可包括:第二处理器610、第二存储器620、第二总线系统630和第二收发器640,其中,该第二处理器610、该第二存储器620和该第二收发器640通过该第二总线系统630相连,该第二存储器620用于存储指令,该第二处理器610用于执行该第二存储器620存储的指令,以控制该第二收发器640发送信号。具体地,第二收发器640可在第二处理器610的控制下获取加密密文,第二处理器610将加密密文通过第二字典表映射,得到多位第三比特流;根据密钥得到多位第二比特流;将多位所述第三比特流与多位所述第二比特流进行异或运算,得到多位第一比特流;将得到的多位第一比特流,通过第一字典表映射得到解密后的明文。
应理解,第二处理器610可以是中央处理单元(Central Processing Unit,CPU),第二处理器610还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该第二处理器610也可以是任何常规的处理器等。
第二存储器620可以包括只读存储器和随机存取存储器,并向第二处理器610提供指令和数据。第二存储器620的一部分还可以包括非易失性随机存取存储器。例如,第二存储器620还可以存储设备类型的信息。
第二总线系统630除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。
在实现过程中,该解密设备所执行的处理可以通过第二处理器610中的硬件的集成逻辑电路或者软件形式的指令完成。即本公开实施例的方法步骤可以体现为硬件处理器执行完成,或者用第二处理器610中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等存储介质中。该存储介质位于第二存储器620,第二处理器610读取第二存储器620中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本公开实施例还提供了一种计算机存储介质,该计算机存储介质存储有可执行指令,该可执行指令被处理器执行时可以实现本公开上述任一实施例提供的解密方法,该解密方法可以将加密密文通过第二字典表映射,得到多位第三比特流;根据密钥得到多位第二比特流;将多位所述第三比特流与多位所述第二比特流进行异或运算,得到多位第一比特流;将得到的多位第一比特流,通过第一字典表映射得到解密后的明文,从而实现了解密过程,且解密后的明文与加密密文的长度相同,降低了计算复杂度,具有较高的加解密效率,不易被破解,保证了信息传输的安全性。通过执行可执行指令驱动加密的方法与本公开上述实施例提供的加密方法基本相同,在此不做赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
虽然本公开所揭露的实施方式如上,但所述的内容仅为便于理解本公开而采用的实施方式,并非用以限定本公开。任何本公开所属领域内的技术人员,在不脱离本公开所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本公开的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种加密方法,其特征在于,包括:
将待加密明文通过第一字典表映射,得到多位第一比特流;
根据密钥得到多位第二比特流;
将多位所述第一比特流与多位所述第二比特流进行异或运算,得到多位第三比特流;
将得到的多位第三比特流,通过第二字典表映射得到加密密文。
2.根据权利要求1所述的加密方法,其特征在于,在所述将多位所述第一比特流与多位所述第二比特流进行异或运算,得到多位第三比特流的步骤之前,所述方法还包括:
产生随机数,根据随机数得到多位种子;
按照预设方式对所述多位第一比特流和多位种子分别进行拆分,并将拆分后的多位种子插入到拆分后的多位第一比特流。
3.根据权利要求2所述的加密方法,其特征在于,所述按照预设方式对所述多位第一比特流和多位种子分别进行拆分,包括:
根据所述密钥得到第一中间值;
将所述多位第一比特流拆分为两段,第一段第一比特流的长度为L1=A%B1,其中A为所述第一中间值,B1为预设的比特流分段常数,第二段第一比特流的长度为L2=M-L1,其中M为所述第一比特流的总长度;
将所述多位种子拆分为三段,第一段种子的长度为P1=A%B2,其中B2为预设的第一种子分段常数,第二段种子的长度为P2=(X-P1)/Y,其中X为所述多位种子的总长度,Y为预设的第二种子分段常数,第三段种子的长度为P3=X-P1-P2。
4.根据权利要求1所述的加密方法,其特征在于,所述根据密钥得到多位第二比特流;将多位所述第一比特流与多位所述第二比特流进行异或运算,得到多位第三比特流,包括:
根据所述密钥得到多位第四比特流;
产生随机数,根据随机数得到多位第一种子和多位第二种子;
按照预设方式对所述多位第一比特流和多位第一种子分别进行拆分,并将拆分后的多位第一种子插入到拆分后的多位第一比特流;
将插入所述第一种子后的多位第一比特流与所述多位第四比特流进行异或运算,得到多位第五比特流;
根据所述密钥得到多位所述第二比特流;
按照预设方式对多位所述第五比特流和多位第二种子分别进行拆分,并将拆分后的多位第二种子插入到拆分后的多位所述第五比特流;
将插入所述第二种子后的多位第五比特流与所述多位第二比特流进行异或运算,得到多位所述第三比特流。
5.根据权利要求1所述的加密方法,其特征在于,所述根据密钥得到多位第二比特流,包括以下至少之一:
对所述密钥的每个字符分别进行加法运算和乘法运算,将加法运算结果和乘法运算结果相乘,得到所述第二比特流;
对所述密钥的每个字符分别进行加法运算和乘法运算,取预设的第一位数的加法运算结果和预设的第二位数的乘法运算结果组成所述第二比特流。
6.一种加密设备,其特征在于,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至5中任一项所述的加密方法的步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至5中任一项所述的加密方法。
8.一种解密方法,其特征在于,包括:
将加密密文通过第二字典表映射,得到多位第三比特流;
根据密钥得到多位第二比特流;
将多位所述第三比特流与多位所述第二比特流进行异或运算,得到多位第一比特流;
将得到的多位第一比特流,通过第一字典表映射得到解密后的明文。
9.一种解密设备,其特征在于,包括存储器;和连接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求8所述的解密方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求8所述的解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210267838.1A CN114598470B (zh) | 2022-03-17 | 2022-03-17 | 加密方法、解密方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210267838.1A CN114598470B (zh) | 2022-03-17 | 2022-03-17 | 加密方法、解密方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598470A true CN114598470A (zh) | 2022-06-07 |
CN114598470B CN114598470B (zh) | 2023-12-19 |
Family
ID=81810245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210267838.1A Active CN114598470B (zh) | 2022-03-17 | 2022-03-17 | 加密方法、解密方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598470B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169881A1 (en) * | 2013-09-13 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Method And Apparatus For Providing String Encryption And Decryption In Program Files |
CN106656471A (zh) * | 2016-12-22 | 2017-05-10 | 武汉信安珞珈科技有限公司 | 一种用户敏感信息的保护方法和系统 |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
CN109617680A (zh) * | 2018-12-06 | 2019-04-12 | 中国移动通信集团福建有限公司 | 加密方法、装置、设备及介质 |
CN110795762A (zh) * | 2019-10-30 | 2020-02-14 | 贵州大学 | 基于流密码的保留格式加密方法 |
CN110995411A (zh) * | 2019-11-13 | 2020-04-10 | 京东数字科技控股有限公司 | 加密、解密方法、装置、电子设备及存储介质 |
CN111865591A (zh) * | 2020-09-21 | 2020-10-30 | 北京华云安信息技术有限公司 | 一种对称加密方法、装置、设备和存储介质 |
CN112202547A (zh) * | 2020-11-11 | 2021-01-08 | 衡阳师范学院 | 一种轻量级分组密码gfcs实现方法、装置及可读存储介质 |
CN112714112A (zh) * | 2020-12-22 | 2021-04-27 | 四川云申至诚科技有限公司 | 一种用于服务器数据存储的数据加解密方法 |
US20210234841A1 (en) * | 2020-01-24 | 2021-07-29 | International Business Machines Corporation | Securing data compression |
CN113946847A (zh) * | 2021-10-18 | 2022-01-18 | 北京沃东天骏信息技术有限公司 | 一种数字加解密方法、装置、终端设备及存储介质 |
-
2022
- 2022-03-17 CN CN202210267838.1A patent/CN114598470B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150169881A1 (en) * | 2013-09-13 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Method And Apparatus For Providing String Encryption And Decryption In Program Files |
US10075288B1 (en) * | 2014-02-28 | 2018-09-11 | The Governing Council Of The University Of Toronto | Systems, devices, and processes for homomorphic encryption |
CN106656471A (zh) * | 2016-12-22 | 2017-05-10 | 武汉信安珞珈科技有限公司 | 一种用户敏感信息的保护方法和系统 |
CN109617680A (zh) * | 2018-12-06 | 2019-04-12 | 中国移动通信集团福建有限公司 | 加密方法、装置、设备及介质 |
CN110795762A (zh) * | 2019-10-30 | 2020-02-14 | 贵州大学 | 基于流密码的保留格式加密方法 |
CN110995411A (zh) * | 2019-11-13 | 2020-04-10 | 京东数字科技控股有限公司 | 加密、解密方法、装置、电子设备及存储介质 |
US20210234841A1 (en) * | 2020-01-24 | 2021-07-29 | International Business Machines Corporation | Securing data compression |
CN111865591A (zh) * | 2020-09-21 | 2020-10-30 | 北京华云安信息技术有限公司 | 一种对称加密方法、装置、设备和存储介质 |
CN112202547A (zh) * | 2020-11-11 | 2021-01-08 | 衡阳师范学院 | 一种轻量级分组密码gfcs实现方法、装置及可读存储介质 |
CN112714112A (zh) * | 2020-12-22 | 2021-04-27 | 四川云申至诚科技有限公司 | 一种用于服务器数据存储的数据加解密方法 |
CN113946847A (zh) * | 2021-10-18 | 2022-01-18 | 北京沃东天骏信息技术有限公司 | 一种数字加解密方法、装置、终端设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
R. ALIMI, ED.;GOOGLE;R. PENNO, ED.;CISCO SYSTEMS, INC.;Y. YANG, ED.; YALE UNIVERSITY; S. KIESEL; UNIVERSITY OF STUTTGART;S. PREVID: "Application-Layer Traffic Optimization (ALTO) Protocol", IETF RFC7285 * |
林克正;范波;杨微;: "基于分块字典的可视密码改进方法", 计算机工程与应用, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN114598470B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159305B2 (en) | Homomorphic data decryption method and apparatus for implementing privacy protection | |
CN110737908B (zh) | 加密方法和装置、解密方法和装置、电子设备和介质 | |
US8422668B1 (en) | Table lookup operation on masked data | |
US7801307B2 (en) | Method of symmetric key data encryption | |
CN107276744B (zh) | 一种文件存储加密方法及系统 | |
US20140233727A1 (en) | Method for secure substring search | |
US9886597B2 (en) | Method for encoding data on a chip card by means of constant-weight codes | |
MX2011001228A (es) | Metodo para generar un codigo de autenticacion de mensajes basados en el cifrado. | |
Zhdanov et al. | Block symmetric cryptographic algorithm based on principles of variable block length and many-valued logic | |
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
US20190065759A1 (en) | Method for protecting data | |
US20180139051A1 (en) | Technologies for ccm encryption with 64-bit block ciphers | |
US20200160755A1 (en) | Encryption device, encryption method, decryption device, and decryption method | |
CN114444140A (zh) | 存储器中的不可复制函数应用 | |
WO2019043921A1 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム | |
US6128387A (en) | Method and system for using a non-inversible transform and dynamic keys to protect firmware | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
US20210111873A1 (en) | Repeated modulo method and apparatus for size-limitation of interim calculation results | |
US7103180B1 (en) | Method of implementing the data encryption standard with reduced computation | |
CN114598470B (zh) | 加密方法、解密方法、设备及计算机可读存储介质 | |
Deepthi et al. | Cryptanalysis for reduced round Salsa and ChaCha: revisited | |
CN110071927B (zh) | 一种信息加密方法、系统及相关组件 | |
US11101824B2 (en) | Encryption device and decryption device, and operation method thereof | |
RU2503135C1 (ru) | Способ криптографического преобразования информации и устройство для его реализации | |
CN112910626A (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 |