利索能及
我要发布
收藏
专利号: 2023117249504
申请人: 莱芜职业技术学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于DES算法的软件开发数据安全加密方法,其特征在于,该方法包括以下步骤:

获取软件开发数据的二进制序列;

根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥;

对密钥进行密钥扩展得到派生子密钥,包括:随机选取两个密钥,分别记为第零密钥和第一密钥,将第零密钥和第一密钥中的二进制数据进行异或逻辑运算得到第一派生子密钥,从未进行随机选取的密钥中随机选取一个密钥,记为第二密钥,将第一派生子密钥和第二密钥进行异或逻辑运算得到第二派生子密钥,继续从未进行随机选取的密钥中随机选取一个密钥,记为第三密钥,将第三密钥和第二派生子密钥进行异或逻辑运算得到第三派生子密钥,以此类推,直至所有密钥都进行了随机选取并进行了异或逻辑运算,得到所有派生子密钥;

根据密钥的选取顺序和派生子密钥的生成顺序得到软件开发数据进行加密时的密钥加密顺序;

根据密钥加密顺序对软件开发数据的加密数据进行加密。

2.根据权利要求1所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥,包括的具体步骤如下:根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,根据软件开发数据的二进制序列的数据组得到初始数据序列,根据初始数据序列得到软件开发数据进行加密时的加密数据;

根据加密数据得到加密数据分组,根据加密数据分组得到初始密钥,根据初始密钥得到软件开发数据进行加密时的密钥。

3.根据权利要求2所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,包括的具体步骤如下:对二进制序列每n位进行一次划分,可以得到若干个软件开发数据的二进制序列分块,将二进制序列分块按照划分顺序按列进行排列,排列完成后每n个二进制序列分块分为一个数据组,最终得到若干个软件开发数据的二进制序列的数据组,n为预设数值。

4.根据权利要求3所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据软件开发数据的二进制序列的数据组得到初始数据序列,包括的具体步骤如下:将数据组置于矩阵中,可以得到一个n×n大小的数据组矩阵,数据组矩阵的每一行代表数据组中的每一个二进制序列分块,将数据组矩阵每一列作为一个数据组矩阵分块,得到n个数据组矩阵分块,将数据组矩阵分块按照划分顺序进行数据拼接得到初始数据序列。

5.根据权利要求4所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据初始数据序列得到软件开发数据进行加密时的加密数据,包括的具体步骤如下:将所有初始数据序列依次进行拼接得到软件开发数据进行加密时的加密数据。

6.根据权利要求5所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据加密数据得到加密数据分组,包括的具体步骤如下:预设分组组数基数B,对加密数据按照分组组数基数B进行第一次分组,第一次分组结束后得到加密数据的B个加密数据第一分组,若加密数据第一分组中数据位数小于A,A为预设数量,则对不足A的加密数据第一分组中的数据位数进行补零操作,将加密数据第一分组中数据位数小于A的补充到A,若加密数据第一分组中数据位数等于A,则不进行处理,若加密数据第一分组中数据位数大于A,则对数据位数大于A的加密数据第一分组进行第二次分组,将数据位数大于A的加密数据第一分组记为目标数据,同样对目标数据按照分组组数基数进行第二次分组,第二次分组结束后得到目标数据的若干个目标数据第二分组,同样判断目标数据第二分组中数据位数是否大于A,若目标数据第二分组中数据位数大于A,则继续进行分组,直至分组结束后分组中数据位数都小于等于A,最终得到加密数据的若干个加密数据分组。

7.根据权利要求6所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述对加密数据按照分组组数基数B进行第一次分组,包括的具体步骤如下:将加密数据等分B组,如果不够等分,则将加密数据最后依次补0直至恰好可以等分。

8.根据权利要求6所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据加密数据分组得到初始密钥,包括的具体步骤如下:按照分组顺序依次从每个第一分组中随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,按照分组顺序依次从每个第二分组中也按照分组顺序随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,以此类推,得到若干个初始密钥。

9.根据权利要求8所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述根据初始密钥得到软件开发数据进行加密时的密钥,包括的具体步骤如下:将若干个初始密钥置于二维矩阵中,将二维矩阵进行行列互换,按照从左到右从上到下的顺序每取出A位二进制数据作为一个参考密钥,从而得到若干个参考密钥,在每一个参考密钥中每7位二进制数据中统计1的个数,当1的个数为奇数时在第8位加一位校验位0,当

1的个数为偶数时在第8位加一位校验位1,得到一个密钥,最终获得若干个软件开发数据进行加密时的密钥。

10.根据权利要求9所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述将若干个初始密钥置于二维矩阵中,包括的具体步骤如下:将初始密钥的个数作为二维矩阵行的大小,初始密钥的位数作为二维矩阵列的大小,将若干个初始密钥按照从上到下的顺序置于二维矩阵中,二维矩阵中的每一列是一个初始密钥。