数据加密方法、设备及存储介质

摘要: 本申请涉及数据加密,具体为一种数据加密方法、设备及存储介质。背景技术:1、密码系统作为信息安全的核心基础,其核心评价标准为计算上的安全性,即需满足两个核心条件:...
数据加密方法、设备及存储介质

本申请涉及数据加密,具体为一种数据加密方法、设备及存储介质。

背景技术:

1、密码系统作为信息安全的核心基础,其核心评价标准为计算上的安全性,即需满足两个核心条件:一是破解密文的花费远远大于所加密信息的价值;二是破解密文所花费的时间远远多于该信息的有效时间。其中,加密与解密算法的计算复杂度,是决定密码系统安全性与实用性的核心指标。

2、目前主流的对称加密算法如 aes 系列算法、国密 sm4 算法等,均已广泛应用于各类加密场景,但此类算法存在如下局限:

3、一、密钥空间规模有限,例如 aes-256 的密钥空间为 2256,sm4 的密钥空间为2128,面对算力持续提升的暴力破解攻击,其安全边界持续受到挑战;

4、二、算法执行步骤复杂,需经过多轮轮替变换、字节替换、行移位、列混合等复杂操作,计算开销大,难以适配物联网终端、轻量级嵌入式设备等低算力场景;

5、三、密钥管理成本高,需传输、存储长位数的固定密钥,随着通信节点数量增加,密钥分发、存储与维护的复杂度与安全风险显著提升。

技术实现思路

1、针对现有技术中存在的缺陷,本申请解决的技术问题为:如何在提高加密强度的同时,提高密钥空间规模,降低执行复杂度,并降低密钥管理成本。

2、为实现以上目的,第一方面,本申请实施例提供一种数据加密方法,该方法步骤包括:

3、确定正整数x、e,获取x的e次方展开后的十进制大整数;

4、将十进制大整数的每一位十进制数按奇偶性映射为二进制序列;

5、将二进制序列按固定位数分组,并将每个分组转换为十进制整数,获取候选数组;

6、确定长度n后,删除候选数组中的重复整数,并补充缺失整数,生成长度为n的位置置换码;

7、将待加密明文按长度n分组后,以位置置换码为位置索引,对每组待加密明文执行全局位置替换,获取密文。

8、结合第一方面,在一实施方式中,所述将十进制大整数的每一位十进制数按奇偶性映射为二进制序列时,偶数替换为0,奇数替换为1。

9、结合第一方面,在一实施方式中,所述将二进制序列按固定位数分组时,将二进制序列从首位开始,每固定位数分为一组,丢弃末尾不足固定位数的剩余字符。

10、结合第一方面,在一实施方式中,所述长度n=2i,且i为≥4的正整数。

11、结合第一方面,在一实施方式中,所述生成长度为n的位置置换码的方式包括:

12、剔除候选数组中的重复整数,根据长度n确定缺失整数;

13、将缺失整数从小到大依次补充在候选数组的末端;

14、获取长度为n的位置置换码。

15、结合第一方面,在一实施方式中,所述将待加密明文按长度n分组后,判定一组加密明文的长度小于n时,在该组加密明文末端添加字符补足长度至n。

16、结合第一方面,在一实施方式中,所述每组待加密明文执行全局位置替换时,每组待加密明文使用同一位置置换码。

17、结合第一方面,在一实施方式中,所述每组待加密明文执行全局位置替换时,每组待加密明文使用独立位置置换码。

18、第二方面,本申请实施例提供了一种数据加密设备,所述数据加密设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的数据加密程序,其中所述数据加密程序被所述处理器执行时,实现第一方面提供的方法。

19、第三方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有数据加密程序,所述数据加密程序被执行时实现第一方面提供的方法。

20、与现有技术相比,本申请的优点在于:

21、(1)以 64位为基础替换单位,单段 64 位明文加密即可实现 64! 级别的密码空间,显著提升密码系统的安全等级,具备极强的抗暴力破解能力,通过多段扩展后,异位置置换码模式可实现 (64!)n 级别的指数级密码空间扩展,满足密码系统计算安全要求的同时,破解密文的花费与时间成本远超加密信息的价值与有效时间,能够从根本上抵御暴力破解攻击。

22、(2)通过生成 n!级别的排列组合,实现明文的全局位置替换,排列组合数量充足,且仅需通过大指数整数场型生成位置置换码,再基于位置置换码完成明文位置替换,步骤简单,计算复杂度低,无需复杂的多轮变换操作,可适配低算力的轻量级设备。

23、(3)核心密钥仅为两个正整数,通信双方仅需交换这两个参数即可完成密钥同步与加解密操作,传递参数极少,降低了密钥分发、存储与管理的成本,同时显著降低了密钥传输过程中的泄露风险,即便发生少量参数泄露,攻击者可利用的有效破解信息也极为有限。

1.一种数据加密方法,其特征在于,该方法步骤包括:

2.根据权利要求1所述的一种数据加密方法,其特征在于,所述将十进制大整数的每一位十进制数按奇偶性映射为二进制序列时,偶数替换为0,奇数替换为1。

3.根据权利要求1所述的一种数据加密方法,其特征在于,所述将二进制序列按固定位数分组时,将二进制序列从首位开始,每固定位数分为一组,丢弃末尾不足固定位数的剩余字符。

4.根据权利要求1所述的一种数据加密方法,其特征在于,所述长度n=2i,且i为≥4的正整数。

5.根据权利要求1所述的一种数据加密方法,其特征在于,所述生成长度为n的位置置换码的方式包括:

6.根据权利要求1所述的一种数据加密方法,其特征在于,所述将待加密明文按长度n分组后,判定一组加密明文的长度小于n时,在该组加密明文末端添加字符补足长度至n。

7.根据权利要求1所述的一种数据加密方法,其特征在于,所述每组待加密明文执行全局位置替换时,每组待加密明文使用同一位置置换码。

8.根据权利要求1所述的一种数据加密方法,其特征在于,所述每组待加密明文执行全局位置替换时,每组待加密明文使用独立位置置换码。

9.一种数据加密设备,其特征在于,所述数据加密设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的数据加密程序,其中所述数据加密程序被所述处理器执行时,实现如权利要求1至8中任一项所述的数据加密方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据加密程序,其中所述数据加密程序被执行时,实现如权利要求1至8中任一项所述的数据加密方法的步骤。