CN114285609B - 加密方法、装置、设备及存储介质 - Google Patents
加密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114285609B CN114285609B CN202111508874.4A CN202111508874A CN114285609B CN 114285609 B CN114285609 B CN 114285609B CN 202111508874 A CN202111508874 A CN 202111508874A CN 114285609 B CN114285609 B CN 114285609B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- sub
- ith
- ciphertext
- 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 90
- 238000010586 diagram Methods 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Abstract
本申请提供一种加密方法、装置、设备及存储介质,该方法包括:获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据。提高了加密的安全性。
Description
技术领域
本申请涉及数据加密技术领域,尤其涉及一种加密方法、装置、设备及存储介质。
背景技术
在移动互联网的数据传输过程中,为了保证数据的安全,需要对数据进行加密之后再进行传输。
相关技术中,常采用DES加密算法对数据进行加密。DES加密算法是用64位的密钥,对以64位为单位的块数据进行加密,密钥需要保密,只有掌握了相同密钥才能解读出加密的密文数据。因此,破译DES加密算法实际上是搜索密钥的编码。随着计算机计算能力的发展,64位的密钥是比较容易破解的,导致现有DES加密算法的安全性较低。
发明内容
本申请提供一种加密方法、装置、设备及存储介质,可以提高加密的安全性。
第一方面,本申请提供一种加密方法,包括:
获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;
确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;
根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;
对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据。
在一种可能的实施方式中,根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据,包括:
执行第i次加密处理,所述第i次加密处理包括:
根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;
通过所述第i个第一密钥对所述第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过所述第i个第二密钥对所述第i个第二加密对象进行加密处理得到第i个第二加密结果;
其中,所述i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为所述第一密文数据,以及将第M个第二加密结果确定为第二密文数据。
在一种可能的实施方式中,若所述i为1;根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象,包括:
将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据;
确定第1个第一加密对象包括所述第一子数据和所述第二子数据,以及确定第1个第二加密对象包括所述第三子数据和所述第四子数据。
在一种可能的实施方式中,若所述i大于1;根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象,包括:
根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
其中,所述第i-1个第一加密结果中包括两个子密文,所述第i-1个第二加密结果中包括两个子密文。
在一种可能的实施方式中,根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象,包括:
若所述i为奇数,则将所述第i-1个第一加密结果中的第一个子密文与所述第i-1个第二加密结果中的第一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
若所述i为偶数,则将所述第i-1个第一加密结果中的第二个子密文与所述第i-1个第二加密结果中的第二个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象。
在一种可能的实施方式中,将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据,包括:
根据所述第一明文数据的位数,将所述第一明文数据平均拆分为所述第一子数据和所述第二子数据;以及,
根据所述第二明文数据的位数,将所述第二明文数据平均拆分为所述第三子数据和所述第四子数据。
在一种可能的实施方式中,获取待加密数据,包括:
获取初始数据;
在所述初始数据中获取128位明文数据;
将所述128明文数据拆分为所述第三明文数据和所述第四明文数据,所述第三明文数据和所述第四明文数据分别为64位;
对所述第三明文数据进行置换处理,得到所述第一明文数据,以及对所述第四明文数据进行置换处理,得到所述第二明文数据。
第二方面,本申请提供一种加密装置,包括获取模块、确定模块、加密模块和合并模块,其中,
所述获取模块用于,获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;
所述确定模块用于,确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;
所述加密模块用于,根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;
所述合并模块用于,对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据。
在一种可能的实施方式中,所述加密模块具体用于:
执行第i次加密处理,所述第i次加密处理包括:
根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;
通过所述第i个第一密钥对所述第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过所述第i个第二密钥对所述第i个第二加密对象进行加密处理得到第i个第二加密结果;
其中,所述i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为所述第一密文数据,以及将第M个第二加密结果确定为第二密文数据。
在一种可能的实施方式中,若所述i为1,所述加密模块具体用于:
将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据;
确定第1个第一加密对象包括所述第一子数据和所述第二子数据,以及确定第1个第二加密对象包括所述第三子数据和所述第四子数据。
在一种可能的实施方式中,若所述i大于1,所述加密模块具体用于:
根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
其中,所述第i-1个第一加密结果中包括两个子密文,所述第i-1个第二加密结果中包括两个子密文。
在一种可能的实施方式中,所述加密模块具体用于:
若所述i为奇数,则将所述第i-1个第一加密结果中的第一个子密文与所述第i-1个第二加密结果中的第一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
若所述i为偶数,则将所述第i-1个第一加密结果中的第二个子密文与所述第i-1个第二加密结果中的第二个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象。
在一种可能的实施方式中,所述加密模块具体用于:
根据所述第一明文数据的位数,将所述第一明文数据平均拆分为所述第一子数据和所述第二子数据;以及,
根据所述第二明文数据的位数,将所述第二明文数据平均拆分为所述第三子数据和所述第四子数据。
在一种可能的实施方式中,所述获取模块具体用于:
获取初始数据;
在所述初始数据中获取128位明文数据;
将所述128明文数据拆分为所述第三明文数据和所述第四明文数据,所述第三明文数据和所述第四明文数据分别为64位;
对所述第三明文数据进行置换处理,得到所述第一明文数据,以及对所述第四明文数据进行置换处理,得到所述第二明文数据。
第三方面,本申请提供一种加密设备,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行命令,使得所述处理器执行如第一方面任一项所述的加密方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的加密方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现第一方面任一项所述的加密方法。
本申请提供一种加密方法、装置、设备及存储介质,先获取待加密的数据,待加密的数据中包括第一明文数据和第二明文数据;确定第一明文数据对应的M个第一密钥,以及第二明文数据对应的M个第二密钥,M为大于1的整数;根据M个第一密钥、M个第二密钥、第一明文数据和第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;对第一密文数据和第二密文数据进行合并处理,得到待加密数据对应的密文数据。在上述加密过程中,采用多个密钥对明文进行加密,变向扩展了密钥的长度,提高了加密的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种加密方法的流程示意图;
图3为本申请实施例提供的另一种加密方法的流程示意图;
图4为本申请实施例提供的加密过程中的交换处理示意图;
图5为本申请实施例提供的加密过程中的另一种交换处理示意图;
图6为本申请实施例提供的加密处理的流程示意图;
图7为本申请实施例提供的再一种加密方法的流程示意图;
图8为本申请实施例提供的一种加密装置的结构示意图;
图9为本申请实施例提供的一种加密设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,下面结合图1,对本申请实施例所适用的应用场景进行说明。
图1为本申请实施例提供的应用场景示意图。请参见图1,终端设备中可以设置有加密装置。当终端设备需要对明文数据进行加密的时候,将待加密的明文数据输入加密装置中进行加密处理,得到与待加密的明文数据对应的密文数据。
在相关技术中,加密处理常采用DES加密算法进行处理,DES加密算法是先将待加密的明文数据拆分为64位的数据块,再利用64位的密钥对64位的数据块进行加密处理,得到密文。解密时,只需掌握加密密钥即可解读密文数据。DES加密算法所采用的密钥的长度为64位,随着计算机计算能力的发展,破译64位长度密钥的编码比较容易,导致现有DES加密算法的安全性较低。
为了解决上述技术问题,在本申请中,加密时,采用多个密钥对明文进行加密,并且在加密的过程中,反复对数据的位置进行变换。通过对密钥长度以及加密过程的改变,提高了加密的安全性。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以独立存在,也可以相互结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请实施例提供的一种加密方法的流程示意图。请参见图2,该方法包括:
S201、获取待加密数据。
本申请实施例的执行主体可以为终端设备,也可以为设置在终端设备中的加密装置,该加密装置可以通过软件实现,也可以通过软件和硬件的结合实现。
待加密数据可以包括第一明文数据和第二明文数据。
待加密数据可以是128比特的数据。
可以通过以下方式获取待加密数据:获取初始数据,在初始数据中获取128位明文数据;将128位明文数据拆分为第三明文数据和第四明文数据,第三明文数据和第四明文数据分别为64位;对第三明文数据进行置换处理,得到第一明文数据,以及对第四明文数据进行置换处理,得到第二明文数据。
置换处理是指可以对明文数据中数据的位置进行变换,变换时可以采用置换表。
例如,针对64位的明文M=0000 0001 0010 0011 0100 0101 0110 0111 10001001 1010 1011 1100 1101 1110 1111。
通过表1的置换表转换位置后得到:
IP=1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 11110000 1010 1010
表1中的数字表示将M中相应位置数字的位置变换至表1中数字的位置,例如,表1中58表示将M中第58位数字的位置变换至第1位;表1中60表示将M中第60位数字的位置变换至第9位。
表1
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
60 | 52 | 44 | 36 | 28 | 20 | 12 | 4 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
64 | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 |
63 | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
S202、确定第一明文数据对应的M个第一密钥,以及第二明文数据对应的M个第二密钥。
M为大于1的整数,例如M可以为16。
可以通过以下方式确定明文数据对应的M个密钥:获取与明文数据长度相同的初始密钥,对初始密钥中数据的位置进行变换,将变换位置后的初始密钥进行M次循环位移,得到M个密钥。
初始密钥可以由参与加密运算的数据和奇偶校验位数据组成。例如,64位的初始密钥:00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001,是由56位参与加密运算的数据和8位奇偶校验位的数据组成,其中,8位奇偶校验位可以为第8、16、24、32、40、48、56、64位数据。
为了便于理解,下面,以M为16为例,说明本申请实施例是如何确定明文数据对应的M个密钥。
(1)获取64位初始密钥K0=00010011 00110100 01010111 01111001 1001101110111100 11011111 11110001。
(2)对K0按照表2的置换表进行位置变换,然后去除8个奇偶校验位,得到56位的K0’=1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111。
表2
57 | 49 | 41 | 33 | 25 | 17 | 9 |
1 | 58 | 50 | 42 | 34 | 26 | 18 |
10 | 2 | 59 | 51 | 43 | 35 | 27 |
19 | 11 | 3 | 60 | 52 | 44 | 36 |
63 | 55 | 47 | 39 | 31 | 23 | 15 |
7 | 62 | 54 | 46 | 38 | 30 | 22 |
14 | 6 | 61 | 53 | 45 | 37 | 29 |
21 | 13 | 5 | 28 | 20 | 12 | 4 |
(3)按照表3的循环位移表对K0’进行16次循环位移,得到16个56位的密钥K1、K2、……、K16,再将K1、K2、……、K16按照表4的置换表进行压缩置换,得到16个48位的密钥K1’、K2’、……、K16’。
循环位移第一轮是指将K0’中的数据向前移一位得到K1,第二轮将K1中的数据向前移一位得到K2,以此类推,直至得到K16。
表3
轮数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
位数 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
表4
14 | 17 | 11 | 24 | 1 | 5 |
3 | 28 | 15 | 6 | 21 | 10 |
23 | 19 | 12 | 4 | 26 | 8 |
16 | 7 | 27 | 20 | 13 | 2 |
41 | 52 | 31 | 37 | 47 | 55 |
30 | 40 | 51 | 45 | 33 | 48 |
44 | 49 | 39 | 56 | 34 | 53 |
46 | 42 | 50 | 36 | 29 | 32 |
S203、根据M个第一密钥、M个第二密钥、第一明文数据和第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据。
第一明文数据的长度与第一密文数据的长度可以相同;第二明文数据的长度与第二密文数据的长度可以相同。例如,第一明文数据的长度和第一密文数据的长度均可以为64比特。
可以通过以下方式对第i次加密进行处理:
根据第一明文数据和第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;通过第i个第一密钥对第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过第i个第二密钥对第i个第二加密对象进行加密处理得到第i个第二加密结果;其中,i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为第一密文数据,以及将第M个第二加密结果确定为第二密文数据。
S204、对第一密文数据和第二密文数据进行合并处理,得到待加密数据对应的密文数据。
合并处理指的是位数上的合并。例如,1111和1010合并,即为1111 1010。
在图2所示的实施例中,先获取待加密的数据,待加密的数据中包括第一明文数据和第二明文数据;确定第一明文数据对应的M个第一密钥,以及第二明文数据对应的M个第二密钥,M为大于1的整数;根据M个第一密钥、M个第二密钥、第一明文数据和第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;对第一密文数据和第二密文数据进行合并处理,得到待加密数据对应的密文数据。在上述加密过程中,采用多个密钥对明文进行加密,变向扩展了密钥的长度,提高了加密的安全性。
在上述任意实施例的基础上,下面,结合图3所示的实施例,对上述加密方法进行详细说明。
图3为本申请实施例提供的另一种加密方法的流程示意图。请参见图3,该方法可以包括:
S301、获取待加密数据。
需要说明的是,S301的执行过程可以参见S201的执行过程,此处不再进行赘述。
S302、确定第一明文数据对应的M个第一密钥,以及第二明文数据对应的M个第二密钥。
需要说明的是,S302的执行过程可以参见S202的执行过程,此处不再进行赘述。
S303、执行第i次加密处理,若i为1,则将第一明文数据拆分为第一子数据和第二子数据,以及将第二明文数据拆分为第三子数据和第四子数据;确定第1个第一加密对象包括第一子数据和第二子数据,以及确定第1个第二加密对象包括第三子数据和第四子数据。
i可以依次取1、2、……、M。
可以通过以下方式将第一明文数据拆分为第一子数据和第二子数据,以及将第二明文数据拆分为第三子数据和第四子数据:根据第一明文数据的位数,将第一明文数据平均拆分为第一子数据和第二子数据;以及,根据第二明文数据的位数,将第二明文数据平均拆分为第三子数据和第四子数据。
例如,若第一明文数据的位数为64位,可以将第一明文数据平均拆分为32位的第一子数据和第二子数据;以及,若第二明文数据的位数为64位,可以将第二明文数据平均拆分为32位的第三子数据和第四子数据。
S304、若i大于1,则根据i的取值,将第i-1个第一加密结果中的一个子密文与第i-1个第二加密结果中的一个子密文进行交换处理,得到第i个第一加密对象和所述第i个第二加密对象。
i可以依次取1、2、……、M。
第i-1个第一加密结果中包括两个子密文,第i-1个第二加密结果中包括两个子密文。
加密处理可以是将两个加密结果中位于同侧的两个子密文进行交换。为了便于理解,下面,针对i为奇数和偶数两种情况对交换处理进行详细说明。
情况一、i为奇数,将第i-1个第一加密结果中的第一个子密文与第i-1个第二加密结果中的第一个子密文进行交换处理,得到第i个第一加密对象和第i个第二加密对象。
为了便于理解,下面结合图4,对i为奇数时的交换处理进行详细说明。
图4为本申请实施例提供的加密过程中的交换处理示意图。请参见图4,以i=3为例,交换处理可以是将第2个第一加密结果中的第一个子密文A与第二个第二加密结果中的第一个子密文C进行交换处理,得到第3个第一加密对象和第3个第二加密对象,第3个第一加密对象中包括第一个子密文C和第二个子密文B,第3个第二加密对象中包括第一子密文A和第二个子密文D。
情况二、i为偶数,将第i-1个第一加密结果中的第二个子密文与第i-1个第二加密结果中的第二个子密文进行交换处理,得到第i个第一加密对象和第i个第二加密对象。
为了便于理解,下面结合图5,对i为偶数时的交换处理进行信息说明。
图5为本申请实施例提供的加密过程中的另一种交换处理示意图。请参见图5,以i=4为例,交换处理可以是将第3个第一加密结果中的第二个子密文B与第二个第二加密结果中的第二个子密文D进行交换处理,得到第4个第一加密对象和第4个第二加密对象,第4个第一加密对象中包括第一个子密文A和第二个子密文D,第4个第二加密对象中包括第一子密文C和第二个子密文B。
S305、通过第i个第一密钥对第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过第i个第二密钥对第i个第二加密对象进行加密处理得到第i个第二加密结果。
为了便于理解,下面结合图6,对任意一次加密处理进行详细说明。
图6为本申请实施例提供的加密处理的流程示意图。请参见图6,第i个加密对象包括第一个子密文A和第二个子密文B,加密过程可以是对第二个子密文B进行扩展置换,得到第二个子密文B’,再将第二个子密文B’与第i个密钥Ki做异或运算,得到第二个子密文B”,对第二个子密文B”进行S盒转换、P盒置换,得到第二个子密文B”’,将第二个子密文B”’与第一个子密文A做异或运算,得到第二个子密文B””,第i个加密结果包括第一个子密文A和第二个子密文B””。
其中,扩展置换、异或运算、S盒转换和P盒置换可以参考相关技术。
S306、执行完成第M次加密处理之后,将第M个第一加密结果确定为第一密文数据,以及将第M个第二加密结果确定为第二密文数据。
例如,若M为16,则将第16个第一加密结果确定为第一密文数据,以及将第16个第二加密结果确定为第二密文数据。
S307、对第一密文数据和第二密文数据进行合并处理,得到待加密数据对应的密文数据。
需要说明的是,S307的执行过程可以参见S204的执行过程,此处不再进行赘述。
在图3所示的实施例中,先获取待加密的数据,待加密的数据中包括第一明文数据和第二明文数据;确定第一明文数据对应的M个第一密钥,以及第二明文数据对应的M个第二密钥,M为大于1的整数;通过M个第一密钥和M个第二密钥对第一明文数据和第二明文数据进行M次加密处理,在加密的过程中,若i为1,则将第一明文数据拆分为第一子数据和第二子数据,以及将第二明文数据拆分为第三子数据和第四子数据;确定第1个第一加密对象包括第一子数据和第二子数据,以及确定第1个第二加密对象包括第三子数据和第四子数据;若i大于1,将第i-1个第一加密结果中的一个子密文与第i-1个第二加密结果中的一个子密文进行交换处理,得到第i个第一加密对象和第i个第二加密对象;通过第i个第一密钥对第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过第i个第二密钥对第i个第二加密对象进行加密处理得到第i个第二加密结果;执行完成第M次加密处理之后,将第M个第一加密结果确定为第一密文数据,以及将第M个第二加密结果确定为第二密文数据;对第一密文数据和第二密文数据进行合并处理,得到待加密数据对应的密文数据。在上述加密过程中,采用多个密钥对明文进行加密,变向扩展了密钥的长度,提高了加密的安全性;同时,在加密的过程中,通过增加变换方式,也提高了加密的安全性。
在上述任意实施例的基础上,下面,结合图7所示的实施例,对上述加密方法进行详细说明。
图7为本申请实施例提供的再一种加密方法的流程示意图。请参见图7,加密方法可以包括:先获取需要加密的初始数据,将初始数据拆分为128位的明文数据块,再将128位的明文数据块平均拆分为64位的第三明文数据和64位的第四明文数据。对第三明文数据进行置换处理,得到64位的第一明文数据,对第四明文数据进行置换处理,得到64位的第二明文数据。
获取与第一明文数据长度相同的第一初始密钥,对初始密钥中数据的位置进行变换,将变换位置后的初始密钥进行M次循环位移,得到第一明文数据对应的M个第一密钥;获取与第二明文数据长度相同的第二初始密钥,对初始密钥中数据的位置进行变换,将变换位置后的初始密钥进行M次循环位移,得到第二明文数据对应的M个第二密钥。
将第一明文数据平均拆分为32位的第一子数据和32位的第二子数据,以及将第二明文数据平均拆分为32位的第三子数据和32位的第四子数据。利用第1个第一密钥Kl1对第一子数据和第二子数据进行加密处理得到第一子数据1和第二子数据1;利用第1个第二密钥Kr1对第三子数据和第四子数据进行加密处理得到第三子数据1和第四子数据1;将第一子数据1和第三子数据1的位置进行左侧交换。利用第2个Kl2对第三子数据1和第二子数据进行加密处理得到第三子数据2和第二子数据2;利用第2个第二密钥Kr2对第一子数据1和第四子数据1进行加密处理得到第一子数据2和第四子数据2;将第二子数据2和第四子数据2的位置进行右侧交换。利用Kli和Kri进行加密处理,每次加密完成依次进行左侧交换和右侧交换,直至执行完第M次加密,得到第一子数据M、第二子数据M、第三子数据M和第四子数据M。将第一子数据M和第二子数据M合并,得到64位的第一密文数据;将第三子数据M和第四子数据M合并,得到64位的第一密文数据;将第一密文数据和第一密文数据合并,得到128位的密文数据块,将所有的128位的密文数据块合并得到密文数据。
在上述加密过程中,采用多个密钥对明文进行加密,变向扩展了密钥的长度,提高了加密的安全性;同时,在加密的过程中,通过增加变换方式,也提高了加密的安全性。
图8为本申请实施例提供的一种加密装置的结构示意图。请参见图8,加密装置10包括获取模块11、确定模块12、加密模块13和合并模块14,其中,
所述获取模块11用于,获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;
所述确定模块12用于,确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;
所述加密模块13用于,根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;
所述合并模块14用于,对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据。
在一种可能的实施方式中,所述加密模块13具体用于:
执行第i次加密处理,所述第i次加密处理包括:
根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;
通过所述第i个第一密钥对所述第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过所述第i个第二密钥对所述第i个第二加密对象进行加密处理得到第i个第二加密结果;
其中,所述i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为所述第一密文数据,以及将第M个第二加密结果确定为第二密文数据。
在一种可能的实施方式中,若所述i为1,所述加密模块13具体用于:
将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据;
确定第1个第一加密对象包括所述第一子数据和所述第二子数据,以及确定第1个第二加密对象包括所述第三子数据和所述第四子数据。
在一种可能的实施方式中,若所述i大于1,所述加密模块13具体用于:
根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
其中,所述第i-1个第一加密结果中包括两个子密文,所述第i-1个第二加密结果中包括两个子密文。
在一种可能的实施方式中,所述加密模块13具体用于:
若所述i为奇数,则将所述第i-1个第一加密结果中的第一个子密文与所述第i-1个第二加密结果中的第一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
若所述i为偶数,则将所述第i-1个第一加密结果中的第二个子密文与所述第i-1个第二加密结果中的第二个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象。
在一种可能的实施方式中,所述加密模块13具体用于:
根据所述第一明文数据的位数,将所述第一明文数据平均拆分为所述第一子数据和所述第二子数据;以及,
根据所述第二明文数据的位数,将所述第二明文数据平均拆分为所述第三子数据和所述第四子数据。
在一种可能的实施方式中,所述获取模块11具体用于:
获取初始数据;
在所述初始数据中获取128位明文数据;
将所述128明文数据拆分为所述第三明文数据和所述第四明文数据,所述第三明文数据和所述第四明文数据分别为64位;
对所述第三明文数据进行置换处理,得到所述第一明文数据,以及对所述第四明文数据进行置换处理,得到所述第二明文数据。
本申请提供的加密装置10可以执行上述加密方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
图9为本申请实施例提供的一种加密设备的结构示意图。请参见图9,加密设备20包括:存储器21、处理器22。示例性地,存储器21、处理器22,各部分之间通过总线23相互连接。
存储器21存储计算机执行指令;
处理器22执行存储器21存储的计算机执行指令,使得处理器22执行上述任一项的加密方法。
图9所示实施例所示的加密设备可以执行上述加密方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算机执行指令被处理器执行时用于实现前述任一项所述的加密方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,可实现上述加密方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (8)
1.一种加密方法,其特征在于,包括:
获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;
确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;
根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;
对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据;
根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据,包括:
执行第i次加密处理,所述第i次加密处理包括:
根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;
通过所述第i个第一密钥对所述第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过所述第i个第二密钥对所述第i个第二加密对象进行加密处理得到第i个第二加密结果;
其中,所述i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为所述第一密文数据,以及将第M个第二加密结果确定为第二密文数据;
若所述i为1;根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象,包括:
将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据;
确定第1个第一加密对象包括所述第一子数据和所述第二子数据,以及确定第1个第二加密对象包括所述第三子数据和所述第四子数据。
2.根据权利要求1所述的方法,其特征在于,若所述i大于1;根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象,包括:
根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
其中,所述第i-1个第一加密结果中包括两个子密文,所述第i-1个第二加密结果中包括两个子密文。
3.根据权利要求2所述的方法,其特征在于,根据所述i的取值,将所述第i-1个第一加密结果中的一个子密文与所述第i-1个第二加密结果中的一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象,包括:
若所述i为奇数,则将所述第i-1个第一加密结果中的第一个子密文与所述第i-1个第二加密结果中的第一个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象;
若所述i为偶数,则将所述第i-1个第一加密结果中的第二个子密文与所述第i-1个第二加密结果中的第二个子密文进行交换处理,得到所述第i个第一加密对象和所述第i个第二加密对象。
4.根据权利要求1所述的方法,其特征在于,将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据,包括:
根据所述第一明文数据的位数,将所述第一明文数据平均拆分为所述第一子数据和所述第二子数据;以及,
根据所述第二明文数据的位数,将所述第二明文数据平均拆分为所述第三子数据和所述第四子数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,获取待加密数据,包括:
获取初始数据;
在所述初始数据中获取128位明文数据;
将所述128位明文数据拆分为所述第三明文数据和所述第四明文数据,所述第三明文数据和所述第四明文数据分别为64位;
对所述第三明文数据进行置换处理,得到所述第一明文数据,以及对所述第四明文数据进行置换处理,得到所述第二明文数据。
6.一种加密装置,其特征在于,包括获取模块、确定模块、加密模块和合并模块,其中,
所述获取模块用于,获取待加密数据,所述待加密数据包括第一明文数据和第二明文数据;
所述确定模块用于,确定所述第一明文数据对应的M个第一密钥,以及所述第二明文数据对应的M个第二密钥,所述M为大于1的整数;
所述加密模块用于,根据所述M个第一密钥、所述M个第二密钥、所述第一明文数据和所述第二明文数据,执行M次加密处理,得到第一密文数据和第二密文数据;
所述合并模块用于,对所述第一密文数据和所述第二密文数据进行合并处理,得到所述待加密数据对应的密文数据;
所述加密模块具体用于:
执行第i次加密处理,所述第i次加密处理包括:
根据所述第一明文数据和所述第二明文数据,确定第i个第一密钥对应的第i个第一加密对象,以及确定第i个第二密钥对应的第i个第二加密对象;
通过所述第i个第一密钥对所述第i个第一加密对象进行加密处理得到第i个第一加密结果,以及通过所述第i个第二密钥对所述第i个第二加密对象进行加密处理得到第i个第二加密结果;
其中,所述i依次取1、2、……、M,直至执行完成第M次加密处理之后,将第M个第一加密结果确定为所述第一密文数据,以及将第M个第二加密结果确定为第二密文数据;
若所述i为1;所述加密模块具体用于:
将所述第一明文数据拆分为第一子数据和第二子数据,以及将所述第二明文数据拆分为第三子数据和第四子数据;
确定第1个第一加密对象包括所述第一子数据和所述第二子数据,以及确定第1个第二加密对象包括所述第三子数据和所述第四子数据。
7.一种加密设备,其特征在于,包括:处理器、存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行命令,使得所述处理器执行如权利要求1-5任一项所述的加密方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现权利要求1-5任一项所述的加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111508874.4A CN114285609B (zh) | 2021-12-10 | 2021-12-10 | 加密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111508874.4A CN114285609B (zh) | 2021-12-10 | 2021-12-10 | 加密方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285609A CN114285609A (zh) | 2022-04-05 |
CN114285609B true CN114285609B (zh) | 2024-02-13 |
Family
ID=80871669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111508874.4A Active CN114285609B (zh) | 2021-12-10 | 2021-12-10 | 加密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285609B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115549893B (zh) * | 2022-08-23 | 2023-05-30 | 北京连山科技股份有限公司 | 一种带有可替换子模块的数据安全处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525388A (zh) * | 2017-09-19 | 2019-03-26 | 中兴通讯股份有限公司 | 一种密钥分离的组合加密方法及系统 |
EP3462668A1 (en) * | 2017-10-02 | 2019-04-03 | Airbus Defence and Space GmbH | Plaintext equivalence proof techniques in communication systems |
CN111654511A (zh) * | 2020-07-13 | 2020-09-11 | 中国银行股份有限公司 | 一种链式数据加密方法、链式数据解密方法及相应的系统 |
CN112994874A (zh) * | 2021-04-19 | 2021-06-18 | 工业信息安全(四川)创新中心有限公司 | 一种基于消息鉴别码算法的保留格式加密方法及解密方法 |
CN113193950A (zh) * | 2021-07-01 | 2021-07-30 | 广东省新一代通信与网络创新研究院 | 数据加密方法、数据解密方法及存储介质 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9276746B2 (en) * | 2011-01-18 | 2016-03-01 | Mitsubishi Electric Corporation | Encryption system, encryption processing method of encryption system, encryption device, decryption device, setup device, key generation device, and key delegation device using a user identifier for a user who belongs to a k-th hierarchy in an organization |
-
2021
- 2021-12-10 CN CN202111508874.4A patent/CN114285609B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525388A (zh) * | 2017-09-19 | 2019-03-26 | 中兴通讯股份有限公司 | 一种密钥分离的组合加密方法及系统 |
EP3462668A1 (en) * | 2017-10-02 | 2019-04-03 | Airbus Defence and Space GmbH | Plaintext equivalence proof techniques in communication systems |
CN111654511A (zh) * | 2020-07-13 | 2020-09-11 | 中国银行股份有限公司 | 一种链式数据加密方法、链式数据解密方法及相应的系统 |
CN112994874A (zh) * | 2021-04-19 | 2021-06-18 | 工业信息安全(四川)创新中心有限公司 | 一种基于消息鉴别码算法的保留格式加密方法及解密方法 |
CN113193950A (zh) * | 2021-07-01 | 2021-07-30 | 广东省新一代通信与网络创新研究院 | 数据加密方法、数据解密方法及存储介质 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
DES和RSA加密算法的特性与机制分析;杜波;;科技信息(第12期);全文 * |
Qualcomm Incorporated.S2-178487 "Distribution of Ciphering Keys for Broadcast of Positioning Assistance Data".3GPP tsg_sa\WG2_Arch.2017,(第TSGS2_124_Reno期),全文. * |
组合数据加密算法的研究与实现;叶红;李素;郝建强;;北京工商大学学报(自然科学版)(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114285609A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Feng et al. | Cryptanalysis and improvement of the hyper-chaotic image encryption scheme based on DNA encoding and scrambling | |
EP2829010B1 (en) | Updating key information | |
RU2598327C2 (ru) | Утройство для криптографической обработки данных, способ криптографической обработки данных и программа | |
US8635452B2 (en) | Method for generating a cipher-based message authentication code | |
US10148427B2 (en) | Information processing apparatus, method for processing information, and medium | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
KR20100005203A (ko) | 간단하고 효율적인 원패스 인증 암호화 방법 | |
CN114285609B (zh) | 加密方法、装置、设备及存储介质 | |
Ojha et al. | An Innovative Approach to Enhance the Security of Data Encryption Scheme | |
Quilala et al. | Modified blowfish algorithm | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20170041133A1 (en) | Encryption method, program, and system | |
JP2009088641A (ja) | 送受信方法、通信システムおよび送信装置 | |
US20140037088A1 (en) | Cryptographic method, cryptographic device, and cryptographic program | |
JP2004004603A (ja) | 拡大鍵生成装置、暗号化装置および暗号化システム | |
JP4763972B2 (ja) | 暗号化情報伝送方法、コンピュータプログラム及び通信システム | |
CN117411618B (zh) | 应用于国际赛事的密钥生成方法、装置及加密方法 | |
Riman et al. | DES Based Educational Encryption System | |
JP2002023624A (ja) | ブロック暗号通信方法とその装置、及びブロック暗号通信プログラムを記録した記録媒体 | |
JP3079032B2 (ja) | データ暗号化装置及びデータ復号化装置 | |
Usman et al. | A data specific comparative study for choosing best cryptographic technique | |
CN116010978A (zh) | 白盒加密方法和装置以及白盒解密方法和装置 | |
CN115412232A (zh) | 一种加密和解密的实现方法 | |
CN116915405A (zh) | 基于隐私保护的数据处理方法、装置、设备及存储介质 | |
CN112333700A (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 |