CN114928437A - 加密方法、装置、设备及存储介质 - Google Patents
加密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114928437A CN114928437A CN202210537244.8A CN202210537244A CN114928437A CN 114928437 A CN114928437 A CN 114928437A CN 202210537244 A CN202210537244 A CN 202210537244A CN 114928437 A CN114928437 A CN 114928437A
- Authority
- CN
- China
- Prior art keywords
- encryption
- turntables
- characters
- ring
- target 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012163 sequencing technique Methods 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 101
- 230000006870 function Effects 0.000 claims description 25
- 238000010276 construction Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect 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/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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种加密方法、装置、设备及存储介质,属于信息安全技术领域。该方法包括构建多个加密转盘;基于预设加密顺序规则,对所述多个加密转盘进行排序;基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。也就是说,在本申请中,排序后的多个加密转盘相当于本申请加密方法中的加密密钥,本申请通过对目标数据中的字符逐个进行加密,提高了加密过程的复杂度,进而提高了加密安全性。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种加密方法、装置、设备及存储介质。
背景技术
目前的加密算法主要是RSA加密算法等,如RSA加密算法通过大素数和幂运算得到加密密钥,再使用加密密钥对明文进行加密。但是随着量子计算技术的发展,提高了通过大素数和幂运算得到的加密密钥的破解效率,进而导致加密算法的安全性降低。
发明内容
本申请的主要目的在于提供一种加密方法、装置、设备及存储介质,旨在解决现有加密算法安全性低的技术问题。
为实现上述目的,本申请提供一种加密方法,包括以下步骤:
构建多个加密转盘;
基于预设加密顺序规则,对所述多个加密转盘进行排序;
基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
可选地,所述构建多个加密转盘的步骤,包括:
基于字符所对应的映射对数和待构建加密转盘的个数,从第一密钥数据集中提取密钥字符串作为待构建加密转盘的第一环,其中,从所述第一密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第一密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
基于字符所对应的映射对数和待构建加密转盘的个数,从第二密钥数据集中提取密钥字符串作为待构建加密转盘的第二环,其中,从所述第二密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第二密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
基于预设的环排列顺序规则,对所述第一环和第二环分别进行排序,得到第一环序列和第二环序列;
基于排序序号,将所述第一环序列中的第一环与所述第二环序列中的第二环对应组合,得到多个加密转盘,其中,所述加密转盘的第一环与所述加密转盘的第二环相映射生成所述加密转盘所对应的加密映射关系。
可选地,所述构建多个加密转盘的步骤,还包括:
根据转盘中间环函数确定所述多个加密转盘的中间环,其中,所述加密转盘的中间环与所述加密转盘的第一环/第二环相映射生成所述加密转盘所对应的干扰映射关系。
可选地,所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤,包括:
基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文;
对所述多个加密转盘所对应的加密映射关系进行更新;
判断所述目标数据中是否存在未加密字符;
若所述目标数据中不存在未加密字符,则将所述字符的密文依据所述字符在所述目标数据中的顺序进行排序,得到所述目标数据的密文;
若所述目标数据中存在未加密字符,则返回基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤。
可选地,所述对所述多个加密转盘所对应的加密映射关系进行更新的步骤,包括:
根据转盘初始化函数,确定所述多个加密转盘各自对应的转动起始位置;
根据转盘旋转函数,确定所述多个加密转盘各自对应的转动特征数据;
基于所述转动起始位置和所述转动特征数据,对所述多个加密转盘所对应的加密映射关系进行更新。
可选地,所述基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤之后,还包括:
基于排序后的多个加密转盘中的末端加密转盘所对应的干扰映射关系,确定所述字符对应的干扰密文,并将所述干扰密文组合至所述字符的密文。
可选地,所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤之前,还包括:
对目标数据进行预处理,得到预处理数据,其中,所述预处理数据由Base64编码所对应的64个字符进行表征;
所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤,包括:
基于排序后的多个加密转盘,对所述预处理数据中的字符逐个进行加密,得到所述目标数据的密文。
此外,为实现上述目的,本申请还提供一种加密装置,所述加密装置包括:
构建模块,用于构建多个加密转盘;
排序模块,用于基于预设加密顺序规则,对所述多个加密转盘进行排序;
加密模块,用于基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
此外,为实现上述目的,本申请还提供一种加密设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的加密程序,所述加密程序配置为实现如上所述的加密方法的步骤。
此外,为实现上述目的,本申请还提供一种存储介质,所述存储介质上存储有加密程序,所述加密程序被处理器执行时实现如上所述的加密方法的步骤。
本申请公开了一种加密方法、装置、设备及存储介质,与现有技术中,加密算法安全性低相比,本申请通过构建多个加密转盘;基于预设加密顺序规则,对所述多个加密转盘进行排序;基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。也就是说,在本申请中,排序后的多个加密转盘相当于本申请加密方法中的加密密钥,本申请通过对目标数据中的字符逐个进行加密,提高了加密过程的复杂度,进而提高了加密安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例方案涉及的硬件运行环境的加密设备的结构示意图;
图2为本申请加密方法第一实施例的流程示意图;
图3为本申请加密装置第一实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的加密设备结构示意图。
如图1所示,该加密设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对加密设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及加密程序。
在图1所示的加密设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请加密设备中的处理器1001、存储器1005可以设置在加密设备中,所述加密设备通过处理器1001调用存储器1005中存储的加密程序,并执行本申请实施例提供的加密方法。
本申请实施例提供了一种加密方法,参照图2,图2为本申请加密方法第一实施例的流程示意图。
在本实施例中,所述加密方法包括:
步骤S10、构建多个加密转盘;
步骤S20、基于预设加密顺序规则,对所述多个加密转盘进行排序;
步骤S30、基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
在本实施例中,与现有技术中,加密算法安全性低相比。本实施例通过构建多个加密转盘;基于预设加密顺序规则,对所述多个加密转盘进行排序;基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。也就是说,在本实施例中,排序后的多个加密转盘相当于本申请加密方法中的加密密钥,本申请通过对目标数据中的字符逐个进行加密,提高了加密过程的复杂度,进而提高了加密安全性。
具体步骤如下:
步骤S10、构建多个加密转盘。
具体地,构建多个加密转盘,包括:
步骤S11、基于字符所对应的映射对数和待构建加密转盘的个数,从第一密钥数据集中提取密钥字符串作为待构建加密转盘的第一环,其中,从所述第一密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第一密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同。
在本实施例中,将Base64编码(基于64个可打印字符来表示二进制数据)所对应的64个字符进行排列组合,可以生成64!条密钥字符串,每一条密钥字符串包括Base64编码所对应的64个字符。第一密钥数据集中的密钥字符串即为64!条密钥字符串中的一部分,且第一密钥数据集中的密钥字符串都有其对应的编号,同时第一密钥数据集中的密钥字符串可以定期更新。
在本实施例中,基于字符所对应的映射对数和待构建加密转盘的个数,从第一密钥数据集中提取密钥字符串作为待构建加密转盘的第一环有两种方式。
方式一、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则从第一密钥数据集中随机提取字符长度为64的N个密钥字符串。
方式二、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则对第一密钥数据集中编号为奇数/偶数的密钥字符串进行筛选,从筛选得到的密钥字符串中随机提取字符长度为64的N个密钥字符串。
步骤S12、基于字符所对应的映射对数和待构建加密转盘的个数,从第二密钥数据集中提取密钥字符串作为待构建加密转盘的第二环,其中,从所述第二密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第二密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同。
在本实施例中,将Base64编码(基于64个可打印字符来表示二进制数据)所对应的64个字符进行排列组合,可以生成64!条密钥字符串,每一条密钥字符串包括Base64编码所对应的64个字符。第二密钥数据集中的密钥字符串即为64!条密钥字符串中的一部分,且第二密钥数据集中的密钥字符串都有其对应的编号,同时第二密钥数据集中的密钥字符串可以定期更新。
需要说明的是,第二密钥数据集中的密钥字符串与第一密钥数据集中的密钥字符串不相同。
在本实施例中,基于字符所对应的映射对数和待构建加密转盘的个数,从第二密钥数据集中提取密钥字符串作为待构建加密转盘的第二环有两种方式。
方式一、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则从第二密钥数据集中随机提取字符长度为64的N个密钥字符串。
方式二、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则对第二密钥数据集中编号为奇数/偶数的密钥字符串进行筛选,从筛选得到的密钥字符串中随机提取字符长度为64的N个密钥字符串。
步骤S13、基于预设的环排列顺序规则,对所述第一环和第二环分别进行排序,得到第一环序列和第二环序列。
在本实施例中,预设的环排列顺序规则有两种。其中,规则一包括:将环按照提取的顺序进行第一轮排序,在第一轮排序的基础上,基于奇偶位数互换的规则,进行第二轮排序;规则二包括:将环按照提取的顺序进行第一轮排序,在第一轮排序的基础上,将第一轮排序的环序列均分成第一分序列和第二分序列,基于奇偶位数互换的规则,对第一分序列进行第二轮排序,基于位次依次递进的规则(例如,排序第一的环放到末尾,排序第二的环放到首位,排序第三的环放到第二位,…,排序最后的环放到倒数第二位),对第二分序列进行第二轮排序。
步骤S14、基于排序序号,将所述第一环序列中的第一环与所述第二环序列中的第二环对应组合,得到多个加密转盘,其中,所述加密转盘的第一环与所述加密转盘的第二环相映射生成所述加密转盘所对应的加密映射关系。
例如,将第一环序列中排序在第一位的第一环与第二环序列中排序在第一位的第二环对应组合,生成一个加密转盘。由于第一环和第二环为密钥字符串,故加密转盘的第一环的字符与加密转盘的第二环的字符相映射生成加密转盘所对应的加密映射关系。
进一步地,构建多个加密转盘的,还包括:
根据转盘中间环函数确定所述多个加密转盘的中间环,其中,所述加密转盘的中间环与所述加密转盘的第一环/第二环相映射生成所述加密转盘所对应的干扰映射关系。
在本实施例中,转盘中间环函数用于根据字符所对应的映射对数、待构建加密转盘的个数N和字符长度n,从行密钥数据集中确定加密转盘的中间环的字符的排列顺序。
在本实施例中,行密钥数据集的获取过程如下:
对包含多行文字的明文信息数据集中的每行文字进行Base64编码,得到每行文字所对应的编码信息;
从每行文字所对应的编码信息中截取长度大于预设长度值的字符串,并基于奇偶位字符互换规则对字符串重新排列组合,得到每行文字所对应的行密钥,组成行密钥数据集,其中,每行文字所对应的行密钥的长度均不相同。
需要说明的是,预设长度值在本实施例中优选为2048。
具体地,根据转盘中间环函数确定所述多个加密转盘的中间环有两种方式:
方式一、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则从第一密钥数据集中随机提取字符长度大于64×n的N个行密钥,并从每个行密钥中截取字符长度为64×n的字符串。
方式二、已知待构建加密转盘的个数为N,基于字符所对应的映射对数为64对,则对第一密钥数据集中编号为奇数/偶数的密钥字符串进行筛选,从筛选得到的密钥字符串中随机提取字符长度大于64×n的N个行密钥,并从每个行密钥中截取字符长度为64×n的字符串。
步骤S20、基于预设加密顺序规则,对所述多个加密转盘进行排序。
具体地,基于预设加密顺序规则,对所述多个加密转盘进行排序,包括:
步骤S21、基于所述多个加密转盘的第一环在所述第一环序列中的排序,对所述多个加密转盘进行一轮排序;
步骤S22、在所述一轮排序的基础上,基于奇偶位数互换的规则,进行第二轮排序。
步骤S30、基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
具体地,基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文,包括:
步骤S31、基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文。
例如,排序后的多个加密转盘共有5个,分别为第一加密转盘、第二加密转盘、第三加密转盘、第四加密转盘和第五加密转盘。提取目标数据中的一个字符,根据第一加密转盘所对应的加密映射关系得到字符对应的第一映射字符,其次根据第二加密转盘所对应的加密映射关系得到第一映射字符对应的第二映射字符,再根据第三加密转盘所对应的加密映射关系得到第二映射字符对应的第三映射字符,然后根据第四加密转盘所对应的加密映射关系得到第三映射字符对应的第四映射字符,最后根据第五加密转盘所对应的加密映射关系得到第四映射字符对应的第五映射字符,第五映射字符即为字符的密文。
步骤S32、对所述多个加密转盘所对应的加密映射关系进行更新。
具体地,对所述多个加密转盘所对应的加密映射关系进行更新,包括:
步骤S321、根据转盘初始化函数,确定所述多个加密转盘的转动起始位置。
在本实施例中,根据转盘初始化函数,确定所述多个加密转盘的转动起始位置的具体过程如下:
根据加密转盘排序后所对应编号,在行密钥数据集中提取相同编号的行密钥,将行密钥的首字符作为加密转盘的转动起始位置对应的字符。
步骤S322、根据转盘旋转函数,确定所述各加密节点的加密转盘的转动特征数据。
在本实施例中,转盘旋转函数包括转盘转动顺序函数、转盘转动方向函数和转盘转动数量函数;加密转盘的转动特征数据包括转动顺序、转动方向和转动格数。
当加密转盘的中间环与加密转盘的第一环相映射生成加密转盘所对应的干扰映射关系时,根据转盘转动方向函数,确定所述多个加密转盘的转动方向,包括:当加密转盘的排序为奇数时,加密转盘的第一环的旋转方向为顺时针方向,加密转盘的中间环的旋转方向为逆时针方向;当加密转盘的排序为偶数时,加密转盘的第一环的旋转方向为逆时针方向,加密转盘的中间环的旋转方向为顺时针方向。
根据转盘转动数量函数,确定所述多个加密转盘的转动格数,包括:将加密转盘的排序作为加密转盘的第一环和中间环的旋转格数。
根据转盘转动顺序函数,确定所述多个加密转盘的转动顺序,包括:将加密转盘的排序所对应的逆序作为加密转盘的转动顺序。
当加密转盘的中间环与加密转盘的第二环相映射生成加密转盘所对应的干扰映射关系时,根据转盘转动方向函数,确定所述多个加密转盘的转动方向,包括:当加密转盘的排序为奇数时,加密转盘的第一环的旋转方向为逆时针方向,加密转盘的中间环的旋转方向为顺时针方向;当加密转盘的排序为偶数时,加密转盘的第一环的旋转方向为顺时针方向,加密转盘的中间环的旋转方向为逆时针方向。
根据转盘转动数量函数,确定所述多个加密转盘的转动格数,包括:将加密转盘的排序作为加密转盘的第一环和中间环的旋转格数。
根据转盘转动顺序函数,确定所述多个加密转盘的转动顺序,包括:将加密转盘的排序所对应的逆序作为加密转盘的转动顺序。
步骤S323、基于所述转动起始位置和所述转动特征数据,对所述多个加密转盘所对应的加密映射关系进行更新。
步骤S33、判断所述目标数据中是否存在未加密字符。
步骤S34、若所述目标数据中不存在未加密字符,则将所述字符的密文依据所述字符在所述目标数据中的顺序进行排序,得到所述目标数据的密文。
步骤S35、若所述目标数据中存在未加密字符,则返回基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤。
例如,行密钥的首字符为A,加密转盘的中间环与加密转盘的第二环相映射生成加密转盘所对应的干扰映射关系,且加密转盘排序为1,则将该加密转盘的第二环中A字符所在位置作为旋转起始位置,将第二环顺时针方向转动1格,将该加密转盘的中间环中A字符所在位置作为旋转起始位置,将中间环逆时针方向转动1格,且该加密转盘在所有加密转盘进行转动的顺序为最后一位。
在本实施例中,每完成对目标数据中一个字符的加密,就更新一下各加密转盘所对应的加密映射关系和干扰映射关系,进一步提高了加密密钥的复杂度,提高了对密文的破解难度,进而提高了加密安全性。
进一步地,基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文之后,还包括:
基于排序后的多个加密转盘中的末端加密转盘所对应的干扰映射关系,确定所述字符对应的干扰密文,并将所述干扰密文组合至所述字符的密文。
例如,排序后共有5个加密转盘,分别为第一加密转盘、第二加密转盘、第三加密转盘、第四加密转盘和第五加密转盘,则第五加密转盘为末端加密转盘。在根据第五加密转盘所对应的加密映射关系得到第四映射字符对应的第五映射字符的同时,根据第五加密转盘所对应的干扰映射关系得到第四映射字符对应的干扰字符,干扰字符即为字符对应的干扰密文。
在本实施例中,将干扰密文组合至字符的密文可以将干扰密文加入到字符的密文的末端,也可以将干扰密文加入到字符的密文的首端。在字符的密文中加入干扰密文,进一步提高了密文的安全性。
本实施例的解密过程按照加密过程反向映射就可以实现解密。
本申请实施例在加密方法的第一实施例的基础上,还提供了第二实施例。
在本实施例中,所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤之前,还包括:
对目标数据进行预处理,得到预处理数据,其中,所述预处理数据由Base64编码所对应的64个字符进行表征。
在本实施例中,对目标数据进行预处理,得到由Base64编码所对应的64个字符进行表征的预处理数据有两种方式。
方式一、对目标数据进行Base64编码,得到预处理数据。
方式二、对目标数据进行一次加密,得到一次加密密文,对一次加密密文进行Base64编码,得到预处理数据。
其中,方式二中对目标数据进行一次加密的加密算法可以为RSA加密算法、ECC加密算法等。
其中,本实施例方式一和方式二中所使用的Base64编码方法与通用的Base64方法不同,两者之间的区别在于,本实施例中所使用的Base64编码方法可以根据实际应用需求(个性化)设定64个字符在转换表中的顺序,即根据实际应用需求设定转换表中64个字符与数字0~63的映射对应关系,增强本实施例的安全程度。
所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤,包括:
基于排序后的多个加密转盘,对所述预处理数据中的字符逐个进行加密,得到所述目标数据的密文。
需要说明的是,在本实施例中,对预处理数据中的字符进行加密是在Base64编码所对应的64个字符的基础上进行映射替换加密,加密前的原文是Base64编码所对应的64个字,最终输出的密文还是Base64编码所对应的64个字符,因此在破解的时候很难判断原文是什么,提高了原文的隐蔽性。
本申请实施例提供了一种加密装置,参照图3,图3为本申请加密装置第一实施例的功能模块示意图。
在本实施例中,加密装置包括:
构建模块10,用于构建多个加密转盘;
排序模块20,用于基于预设加密顺序规则,对所述多个加密转盘进行排序;
加密模块30,用于基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
可选地,所述构建模块包括:
第一环构建单元,用于基于字符所对应的映射对数和待构建加密转盘的个数,从第一密钥数据集中提取密钥字符串作为待构建加密转盘的第一环,其中,从所述第一密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第一密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
第二环构建单元,用于基于字符所对应的映射对数和待构建加密转盘的个数,从第二密钥数据集中提取密钥字符串作为待构建加密转盘的第二环,其中,从所述第二密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第二密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
排序单元,用于基于预设的环排列顺序规则,对所述第一环和第二环分别进行排序,得到第一环序列和第二环序列;
匹配单元,用于基于排序序号,将所述第一环序列中的第一环与所述第二环序列中的第二环对应组合,得到多个加密转盘,其中,所述加密转盘的第一环与所述加密转盘的第二环相映射生成所述加密转盘所对应的加密映射关系。
可选地,所述构建模块还包括:
中间环构建单元,用于根据转盘中间环函数确定所述多个加密转盘的中间环,其中,所述加密转盘的中间环与所述加密转盘的第一环/第二环相映射生成所述加密转盘所对应的干扰映射关系。
可选地,所述加密模块包括:
字符加密单元,用于基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文;
加密映射关系更新单元,用于对所述多个加密转盘所对应的加密映射关系进行更新;
判断单元,用于实现:
判断所述目标数据中是否存在未加密字符;
若所述目标数据中不存在未加密字符,则将所述字符的密文依据所述字符在所述目标数据中的顺序进行排序,得到所述目标数据的密文;
若所述目标数据中存在未加密字符,则返回基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤。
可选地,所述加密映射关系更新单元用于实现:
根据转盘初始化函数,确定所述多个加密转盘各自对应的转动起始位置;
根据转盘旋转函数,确定所述多个加密转盘各自对应的转动特征数据;
基于所述转动起始位置和所述转动特征数据,对所述多个加密转盘所对应的加密映射关系进行更新。
可选地,所述加密模块还包括:
加密干扰单元,用于基于排序后的多个加密转盘中的末端加密转盘所对应的干扰映射关系,确定所述字符对应的干扰密文,并将所述干扰密文组合至所述字符的密文。
可选地,所述加密装置还包括:
数据预处理模块,用于对目标数据进行预处理,得到预处理数据,其中,所述预处理数据由Base64编码所对应的64个字符进行表征。
本申请加密装置具体实施方式与上述加密方法各实施例基本相同,在此不再赘述。
本申请实施例还提供了一种存储介质,所述存储介质上存储有加密程序,所述加密程序被处理器执行时实现如上所述的加密方法的步骤。
本申请存储介质具体实施方式与上述加密方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种加密方法,其特征在于,所述加密方法包括以下步骤:
构建多个加密转盘;
基于预设加密顺序规则,对所述多个加密转盘进行排序;
基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
2.如权利要求1所述的加密方法,其特征在于,所述构建多个加密转盘的步骤,包括:
基于字符所对应的映射对数和待构建加密转盘的个数,从第一密钥数据集中提取密钥字符串作为待构建加密转盘的第一环,其中,从所述第一密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第一密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
基于字符所对应的映射对数和待构建加密转盘的个数,从第二密钥数据集中提取密钥字符串作为待构建加密转盘的第二环,其中,从所述第二密钥数据集中提取的密钥字符串的个数与所述构建加密转盘的个数相同,从所述第二密钥数据集中提取的密钥字符串的字符长度与所述字符所对应的映射对数相同;
基于预设的环排列顺序规则,对所述第一环和第二环分别进行排序,得到第一环序列和第二环序列;
基于排序序号,将所述第一环序列中的第一环与所述第二环序列中的第二环对应组合,得到多个加密转盘,其中,所述加密转盘的第一环与所述加密转盘的第二环相映射生成所述加密转盘所对应的加密映射关系。
3.如权利要求2所述的加密方法,其特征在于,所述构建多个加密转盘的步骤,还包括:
根据转盘中间环函数确定所述多个加密转盘的中间环,其中,所述加密转盘的中间环与所述加密转盘的第一环/第二环相映射生成所述加密转盘所对应的干扰映射关系。
4.如权利要求1所述的加密方法,其特征在于,所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤,包括:
基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文;
对所述多个加密转盘所对应的加密映射关系进行更新;
判断所述目标数据中是否存在未加密字符;
若所述目标数据中不存在未加密字符,则将所述字符的密文依据所述字符在所述目标数据中的顺序进行排序,得到所述目标数据的密文;
若所述目标数据中存在未加密字符,则返回基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤。
5.如权利要求4所述的加密方法,其特征在于,所述对所述多个加密转盘所对应的加密映射关系进行更新的步骤,包括:
根据转盘初始化函数,确定所述多个加密转盘各自对应的转动起始位置;
根据转盘旋转函数,确定所述多个加密转盘各自对应的转动特征数据;
基于所述转动起始位置和所述转动特征数据,对所述多个加密转盘所对应的加密映射关系进行更新。
6.如权利要求4所述的加密方法,其特征在于,所述基于排序后的多个加密转盘所对应的加密映射关系,对所述字符逐级映射加密,得到所述字符的密文的步骤之后,还包括:
基于排序后的多个加密转盘中的末端加密转盘所对应的干扰映射关系,确定所述字符对应的干扰密文,并将所述干扰密文组合至所述字符的密文。
7.如权利要求1所述的加密方法,其特征在于,所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤之前,还包括:
对目标数据进行预处理,得到预处理数据,其中,所述预处理数据由Base64编码所对应的64个字符进行表征;
所述基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文的步骤,包括:
基于排序后的多个加密转盘,对所述预处理数据中的字符逐个进行加密,得到所述目标数据的密文。
8.一种加密装置,其特征在于,所述加密装置包括:
构建模块,用于构建多个加密转盘;
排序模块,用于基于预设加密顺序规则,对所述多个加密转盘进行排序;
加密模块,用于基于排序后的多个加密转盘,对目标数据中的字符逐个进行加密,得到所述目标数据的密文。
9.一种加密设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的加密程序,所述加密程序配置为实现如权利要求1至7中任一项所述的加密方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有加密程序,所述加密程序被处理器执行时实现如权利要求1至7任一项所述的加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537244.8A CN114928437A (zh) | 2022-05-16 | 2022-05-16 | 加密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537244.8A CN114928437A (zh) | 2022-05-16 | 2022-05-16 | 加密方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114928437A true CN114928437A (zh) | 2022-08-19 |
Family
ID=82808244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537244.8A Pending CN114928437A (zh) | 2022-05-16 | 2022-05-16 | 加密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114928437A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204139A1 (en) * | 2004-03-10 | 2005-09-15 | Helland Patrick J. | Service broker security |
US20070180230A1 (en) * | 2006-01-30 | 2007-08-02 | Kronos Technology Systems Limited Partnership | Bcencryption (BCE) - a public-key based method to encrypt a data stream |
US20120082306A1 (en) * | 2010-10-05 | 2012-04-05 | Andrew William Hulse | Data Encryption and Input System |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
CN113726501A (zh) * | 2021-04-02 | 2021-11-30 | 京东数字科技控股股份有限公司 | 保留格式加密数据的方法、装置、电子设备及存储介质 |
CN114244500A (zh) * | 2021-11-15 | 2022-03-25 | 南京大学 | 一种量子密钥协商方法、系统、量子数字签名方法、系统 |
CN115022373A (zh) * | 2022-06-21 | 2022-09-06 | 浙江浩瀚能源科技有限公司 | 充电桩的数据安全检测方法、系统、设备及存储介质 |
-
2022
- 2022-05-16 CN CN202210537244.8A patent/CN114928437A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204139A1 (en) * | 2004-03-10 | 2005-09-15 | Helland Patrick J. | Service broker security |
US20070180230A1 (en) * | 2006-01-30 | 2007-08-02 | Kronos Technology Systems Limited Partnership | Bcencryption (BCE) - a public-key based method to encrypt a data stream |
US20120082306A1 (en) * | 2010-10-05 | 2012-04-05 | Andrew William Hulse | Data Encryption and Input System |
CN104125055A (zh) * | 2014-06-25 | 2014-10-29 | 小米科技有限责任公司 | 加密、解密方法及电子设备 |
CN113726501A (zh) * | 2021-04-02 | 2021-11-30 | 京东数字科技控股股份有限公司 | 保留格式加密数据的方法、装置、电子设备及存储介质 |
CN114244500A (zh) * | 2021-11-15 | 2022-03-25 | 南京大学 | 一种量子密钥协商方法、系统、量子数字签名方法、系统 |
CN115022373A (zh) * | 2022-06-21 | 2022-09-06 | 浙江浩瀚能源科技有限公司 | 充电桩的数据安全检测方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Enayatifar et al. | Image encryption using a synchronous permutation-diffusion technique | |
Wang et al. | A novel and effective image encryption algorithm based on chaos and DNA encoding | |
US11263416B2 (en) | Two-dimensional code generation and identification | |
US7783046B1 (en) | Probabilistic cryptographic key identification with deterministic result | |
US8180048B2 (en) | Method and system for computational transformation | |
CN112380464A (zh) | 一种短链接生成方法以及相关设备 | |
CN109426731A (zh) | 保护数据的方法 | |
US20170257212A1 (en) | Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata | |
Pashakolaee et al. | Hyper-chaotic Feeded GA (HFGA): a reversible optimization technique for robust and sensitive image encryption | |
Chang et al. | Cryptanalysis of an encryption scheme for binary images | |
CN113765650A (zh) | 数据加密、解密方法、装置、电子设备及存储介质 | |
Durdu | Image transfer with secure communications application using a new reversible chaotic image encryption | |
US20020136400A1 (en) | R-conversion encryption method and system | |
CN114900287A (zh) | 基于路网的加密方法、装置、设备及存储介质 | |
CN115001690A (zh) | 基于魔方的加密方法、装置、设备及存储介质 | |
CN112199730A (zh) | 一种终端上应用数据的处理方法、装置及电子设备 | |
CN114928437A (zh) | 加密方法、装置、设备及存储介质 | |
US9203607B2 (en) | Keyless challenge and response system | |
CN116132065A (zh) | 密钥确定方法、装置、计算机设备和存储介质 | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 | |
CN114928363A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
EP4149045A1 (en) | Device and method for performing statistical calculation on homomorphic ciphertext | |
CN109347640B (zh) | 一种基于区块链动态智能合约的数据处理方法及终端 | |
Freij-Hollanti et al. | Information hiding using matroid theory | |
US8437472B2 (en) | Strengthened key schedule for arcfour |
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 |