CN117407906B - 一种基于des算法的软件开发数据安全加密方法 - Google Patents
一种基于des算法的软件开发数据安全加密方法 Download PDFInfo
- Publication number
- CN117407906B CN117407906B CN202311724950.4A CN202311724950A CN117407906B CN 117407906 B CN117407906 B CN 117407906B CN 202311724950 A CN202311724950 A CN 202311724950A CN 117407906 B CN117407906 B CN 117407906B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- encrypted
- software development
- sequence
- 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 58
- 238000012545 processing Methods 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 42
- 230000008569 process Effects 0.000 abstract description 20
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 238000004140 cleaning Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据处理技术领域,具体涉及一种基于DES算法的软件开发数据安全加密方法,包括:获取软件开发数据,对数据进行预处理,数据的分块预处理,实现数据的加密等级混合,根据等级混合后的加密数据生成密钥,通过确保密钥生成的安全,进一步确保数据加密的安全,根据密钥进行数据加密。本发明通过数据分块,将数据分为不同加密等级,在加密时使得加密过程有密级高低之分,而不是对所有的数据均进行同样的加密,有效降低加密的时间成本与计算成本。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于DES算法的软件开发数据安全加密方法。
背景技术
在软件开发领域,数据安全加密是保护敏感数据和确保数据机密性的重要措施之一。DES算法采用分组密码的方式,用于对64位的数据块进行加密和解密操作。它通过初始置换、迭代运算和逆置换等步骤,对数据进行混淆和置换,从而保证数据的机密性。但是由于DES算法的密钥长度较短,易受到穷举攻击和现代计算能力的破解,因此在当前环境下,DES算法已被认为不再安全。因此本发明提出一种DES算法的改进,避免数据被暴力破解。
对于可以穷举破解的DES算法,通过改变传统的DES步骤中的密钥生成方法,以及数据加密过程的数据置换过程,实现DES算法的加密安全保障。
发明内容
本发明提供一种基于DES算法的软件开发数据安全加密方法,以解决现有的问题。
本发明的一种基于DES算法的软件开发数据安全加密方法采用如下技术方案:
本发明一个实施例提供了一种基于DES算法的软件开发数据安全加密方法,该方法包括以下步骤:
获取软件开发数据的二进制序列;
根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥;
对密钥进行密钥扩展得到派生子密钥,包括:随机选取两个密钥,分别记为第零密钥和第一密钥,将第零密钥和第一密钥中的二进制数据进行异或逻辑运算得到第一派生子密钥,从未进行随机选取的密钥中随机选取一个密钥,记为第二密钥,将第一派生子密钥和第二密钥进行异或逻辑运算得到第二派生子密钥,继续从未进行随机选取的密钥中随机选取一个密钥,记为第三密钥,将第三密钥和第二派生子密钥进行异或逻辑运算得到第三派生子密钥,以此类推,直至所有密钥都进行了随机选取并进行了异或逻辑运算,得到所有派生子密钥;
根据密钥的选取顺序和派生子密钥的生成顺序得到软件开发数据进行加密时的密钥加密顺序;
根据密钥加密顺序对软件开发数据的加密数据进行加密。
进一步地,所述根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥,包括的具体步骤如下:
根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,根据软件开发数据的二进制序列的数据组得到初始数据序列,根据初始数据序列得到软件开发数据进行加密时的加密数据;
根据加密数据得到加密数据分组,根据加密数据分组得到初始密钥,根据初始密钥得到软件开发数据进行加密时的密钥。
进一步地,所述根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,包括的具体步骤如下:
对二进制序列每n位进行一次划分,可以得到若干个软件开发数据的二进制序列分块,将二进制序列分块按照划分顺序按列进行排列,排列完成后每n个二进制序列分块分为一个数据组,最终得到若干个软件开发数据的二进制序列的数据组,n为预设数值。
进一步地,所述根据软件开发数据的二进制序列的数据组得到初始数据序列,包括的具体步骤如下:
将数据组置于矩阵中,可以得到一个n×n大小的数据组矩阵,数据组矩阵的每一行代表数据组中的每一个二进制序列分块,将数据组矩阵每一列作为一个数据组矩阵分块,得到n个数据组矩阵分块,将数据组矩阵分块按照划分顺序进行数据拼接得到初始数据序列。
进一步地,所述根据初始数据序列得到软件开发数据进行加密时的加密数据,包括的具体步骤如下:
将所有初始数据序列依次进行拼接得到软件开发数据进行加密时的加密数据。
进一步地,所述根据加密数据得到加密数据分组,包括的具体步骤如下:
预设分组组数基数B,对加密数据按照分组组数基数B进行第一次分组,第一次分组结束后得到加密数据的B个加密数据第一分组,若加密数据第一分组中数据位数小于A,A为预设数量,则对不足A的加密数据第一分组中的数据位数进行补零操作,将加密数据第一分组中数据位数小于A的补充到A,若加密数据第一分组中数据位数等于A,则不进行处理,若加密数据第一分组中数据位数大于A,则对数据位数大于A的加密数据第一分组进行第二次分组,将数据位数大于A的加密数据第一分组记为目标数据,同样对目标数据按照分组组数基数进行第二次分组,第二次分组结束后得到目标数据的若干个目标数据第二分组,同样判断目标数据第二分组中数据位数是否大于A,若目标数据第二分组中数据位数大于A,则继续进行分组,直至分组结束后分组中数据位数都小于等于A,最终得到加密数据的若干个加密数据分组。
进一步地,所述对加密数据按照分组组数基数B进行第一次分组,包括的具体步骤如下:
将加密数据等分B组,如果不够等分,则将加密数据最后依次补0直至恰好可以等分。
进一步地,所述根据加密数据分组得到初始密钥,包括的具体步骤如下:
按照分组顺序依次从每个第一分组中随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,按照分组顺序依次从每个第二分组中也按照分组顺序随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,以此类推,得到若干个初始密钥。
进一步地,所述根据初始密钥得到软件开发数据进行加密时的密钥,包括的具体步骤如下:
将若干个初始密钥置于二维矩阵中,将二维矩阵进行行列互换,按照从左到右从上到下的顺序每取出A位二进制数据作为一个参考密钥,从而得到若干个参考密钥,在每一个参考密钥中每7位二进制数据中统计1的个数,当1的个数为奇数时在第8位加一位校验位0,当1的个数为偶数时在第8位加一位校验位1,得到一个密钥,最终获得若干个软件开发数据进行加密时的密钥。
进一步地,所述将若干个初始密钥置于二维矩阵中,包括的具体步骤如下:
将初始密钥的个数作为二维矩阵行的大小,初始密钥的位数作为二维矩阵列的大小,将若干个初始密钥按照从上到下的顺序置于二维矩阵中,二维矩阵中的每一列是一个初始密钥。
本发明的技术方案的有益效果是:通过数据分块,将数据分为不同加密等级,在加密时使得加密过程有密级高低之分,而不是对所有的数据均进行同样的加密,有效降低加密的时间成本与计算成本。密钥生成与加密数据相关,本发明使得加密数据的密钥不同,且不同密钥解密的密文内容不同,最终需要得到所得的密钥才可以获取完整明文数据。密钥传输过程使用较高保密性与安全性方法,使得密钥获取难度提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的一种基于DES算法的软件开发数据安全加密方法的步骤流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于DES算法的软件开发数据安全加密方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一个或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于DES算法的软件开发数据安全加密方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种基于DES算法的软件开发数据安全加密方法的步骤流程图,该方法包括以下步骤:
步骤S001、获取软件开发数据,对数据进行预处理。
需要说明的是,对于软件开发数据进行加密,首先需要对加密数据进行获取,对于软件开发数据而言,其包含的数据具有多样性的特点,即包含文档数据、测试数据、账户密码数据以及核心技术等,而DES数据加密时,如果对于全部数据均进行数据加密,其需要进行数据置换和迭代加密的次数对于整个软件开发数据而言,没有太高的必要性,而且会加大加密的时间成本,因此需要对数据进行预处理。
进一步需要说明的是,而预处理的方向有两个,一种是使得任意数据均满足DES加密算法,且数据不需要进行特殊的按照重要程度的划分,另一种为对数据进行重要程度划分,使其在加密时,通过加密的迭代计算的次数而实现数据加密程度不同,进而体现数据的重要程度,本实施例中采用第一种。
具体的,首先从软件开发数据库中获取软件开发数据,软件开发数据包括:用户需求数据、设计数据、编码数据、测试数据、文档数据、配置数据以及日志数据,其次对软件开发数据进行数据清洗。本实施例中数据清洗利用现有的数据清洗方法,目的是去除软件开发数据中的重复数据,由于软件开发过程中的数据会较大,其中对于重复的工作量或工作内容的记录有较大的冗余,因此这里对软件开发数据进行重复值清洗。本实施例中将经过数据清洗的软件开发数据也记为软件开发数据,后续出现的软件开发数据都代指经过数据清洗的软件开发数据。
进一步地,将软件开发数据进行二进制转换,得到软件开发数据的二进制序列,需要说明的是,对于软件开发数据中的文字,本实施例中将文字转换为二进制通过将字符转换为其对应的ASCII码,然后将ASCII码转换为二进制表示,具体转换为现有方法,本实施例不再赘述。
至此,得到软件开发数据的二进制序列。
步骤S002、数据的分块预处理,实现数据的加密等级混合。
需要说明的是,由于软件开发数据的特殊性,其对于任意数据均有不同程度的重要性,由于软件开发的流程结合需要较为紧密,具备较高耦合性,因此考虑对软件开发数据进行上述步骤S001第一种方案的再处理,即使得任意数据均满足DES加密算法,且数据不需要进行特殊的按照重要程度的划分。从而使得各种类型的数据均直接用于加密,不需要考虑数据加密时的迭代计算的次数以及加密成本等,由此减少工作量。
需要说明的是,对于需要加密的数据即软件开发数据,传统的DES加密方法是对数据直接进行分组,即将数据分为n位的数据块,n为预设数值,本实施例中n=64,由于穷举破解的方法,导致传统的DES算法已经被认为不安全,仅用于较低重要性数据进行加密。因此,本实施例中,在数据分块操作进行进一步优化,具体如下。
具体的,对二进制序列每n位进行一次划分,可以得到若干个软件开发数据的二进制序列分块,将二进制序列分块按照划分顺序按列进行排列,排列完成后每n个二进制序列分块分为一个数据组,对于最后一个数据组可能会出现不足n个二进制序列分块的情况,本实施例中采用补零操作将不足n个二进制序列分块的数据组补充完整,最终得到若干个软件开发数据的二进制序列的数据组。
进一步地,以任意一个软件开发数据的二进制序列的数据组为例,将数据组置于矩阵中,可以得到一个n×n大小的数据组矩阵,矩阵的每一行代表数据组中的每一个二进制序列分块,同理可以获得其他数据组的数据组矩阵,对数据组矩阵按照列进行划分,将数据组矩阵每一列作为一个数据组矩阵分块,得到n个数据组矩阵分块,将数据组矩阵分块按照划分顺序进行数据拼接得到初始数据序列,进一步地获取所有初始数据序列,并依次进行拼接得到软件开发数据进行加密时的加密数据。
至此,得到了加密数据。
步骤S003、根据等级混合后的加密数据生成密钥,通过确保密钥生成的安全,进一步确保数据加密的安全。
需要说明的是,当生成的随机密钥采用穷举方式破解时,由于密钥生成随机,最终的密钥穷举存在较少的穷举次数即可获取正确密钥的风险,此时如果通过数据生成密钥,密钥则不具备随机性,此时的密钥的穷举破解的难度将大大加大,由此避免穷举快速破解的风险。对于DES算法而言,其加密的密钥是随机生成的56位数据,加上8位校验位,组成64位密钥,而对于所有的数据加密与解密均为同一密钥,因此数据加密解密的过程较简单,当密钥被截取后,则可对加密数据进行获取,由此本实施例中对于密钥生成做出优化,具体如下。
具体的,预设分组组数基数B,本实例中以预设分组组数基数B为56进行叙述,对加密数据按照分组组数基数B进行第一次分组,所述对加密数据按照分组组数基数进行第一次分组具体为将加密数据等分为56组,记为56个加密数据第一分组,以任意一个加密数据第一分组为例,如果不够等分,则将加密数据最后依次补0直至恰好可以等分;
若加密数据第一分组中数据位数小于A,A为预设数量,本实施例中以预设数量A=56为例进行叙述,则对不足A的加密数据第一分组中的数据位数进行补零操作,将加密数据第一分组中数据位数小于A的补充到A,若加密数据第一分组中数据位数等于A,则不进行处理,若加密数据第一分组中数据位数大于A,则对数据位数大于A的加密数据第一分组进行第二次分组,将数据位数大于A的加密数据第一分组记为目标数据,同样对目标数据按照分组组数基数进行第二次分组,第二次分组结束后得到目标数据的若干个目标数据第二分组,同样判断目标数据第二分组中数据位数是否大于A,所述判断和加密数据第一分组的判断相同,若目标数据第二分组中数据位数大于A,则继续进行分组,直至分组结束后分组中数据位数都小于等于A,最终得到加密数据的若干个加密数据分组。
需要说明的是,最终得到加密数据的若干个加密数据分组,是对加密数据经过多次分组得到。
进一步地,按照分组顺序依次从每个第一分组中随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥;按照分组顺序依次从每个第二分组中也按照分组顺序随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,以此类推,得到若干个初始密钥,即加密数据有几次分组,则最终就提取几个初始密钥,最终得到若干个初始密钥,当提取二进制位数生成初始密钥的位数不足A时,则进行补零,直至初始密钥的位数达到A,将若干个初始密钥按照从上到下的顺序置于二维矩阵中,初始密钥的个数作为二维矩阵行的大小,初始密钥的位数A作为二维矩阵列的大小,即二维矩阵中的每一列是一个初始密钥,将二维矩阵进行行列互换,即进行转置,按照从左到右从上到下的顺序每取出A位二进制数据作为一个参考密钥,从而得到若干个参考密钥,在每一个参考密钥中每7位二进制数据中统计1的个数,当1的个数为奇数时在第8位加一位校验位0,当1的个数为偶数时在第8位加一位校验位1,得到一个64位的密钥,最终获得若干个软件开发数据进行加密时的密钥。
需要说明的是,由于传统的加密算法所用初始加密密钥为一个,而数据量非常大,且数据又很重要时,此时数据加密过程时间较长,且最终被破解的难度较低,因此对数据加密过程生成多个密钥,一方面可以提升数据加密的安全性,另一方面数据的加密速度会提升,因为加密密钥不同,且数据经过了分块处理,一个密钥对应加密相应的数据,此时可以采用多个线程同时加密的方式,提升速度。
至此,得到了密钥。
步骤S004、根据密钥进行数据加密。
需要说明的是,由于最终的数据加密等级不同,因此数据加密的迭代计算次数应该不同,而原始数据加密的迭代计算次数为固定值,其每次加密迭代计算均有一个密钥,在本实施例中的密钥的个数是随数据量的变化而变化的,因此先确定了加密迭代计算的密钥个数,再根据密钥个数进行每个密钥的加密的数据量的确定。由于密钥个数确定,后续迭代计算次数也确定,由此数据的加密等级也确定。
需要说明的是,由于通过数据获取的密钥个数对数据进行平均分配的数据加密过程并不能提升数据加密的过程的安全级别,因此通过数据中生成密钥的位置进行数据分配。在数据加密过程中,要提升数据的加密安全级别,则需要考虑解密过程中的雪崩效应,即对于解密过程中,如果出现单个字符或数据块的解密错误,后续的所有解密结果应当完全错误,此时需要考虑的因素为加密的过程中的加密顺序在解密过程顺序如果出现混乱的情况下,后续的解密过程是否全部错误。
具体的,对获得的密钥进行密钥扩展,扩展方法为随机选取两个密钥,分别记为第零密钥和第一密钥,将第零密钥和第一密钥中的二进制数据进行异或逻辑运算得到第一派生子密钥,从未进行随机选取的密钥中随机选取一个密钥,记为第二密钥,将第一派生子密钥和第二密钥进行异或逻辑运算得到第二派生子密钥,继续从未进行随机选取的密钥中随机选取一个密钥,记为第三密钥,将第三密钥和第二派生子密钥进行异或逻辑运算得到第三派生子密钥,以此类推,直至所有密钥都进行了随机选取并进行了异或逻辑运算,得到所有派生子密钥,按照密钥的选取顺序和派生子密钥的生成顺序依次进行排列,得到软件开发数据进行加密时的密钥加密顺序。
进一步地,根据密钥加密顺序对软件开发数据的所有二进制序列分块进行加密,需要说明的是,根据密钥加密顺序对软件开发数据的二进制序列分块进行加密和现有DES算法加密过程相同,本实施例不再赘述,在对不同的软件开发数据的二进制序列分块进行加密时,需要从新获取密钥加密顺序,由于密钥加密顺序中密钥是随机选取然后排列的,因此从新获取密钥加密顺序会发生变化。
需要说明的是,对于获取的多个密钥,每一个密钥应该对应加密一部分数据,即每个密钥加密数据个数为个,/>为软件开发数据的二进制序列的总长度,为密钥的总个数,但当同一密钥加密的数据过多时,加密安全会下降,此时加密不安全,且数据的密钥加密顺序,与扩展密钥的操作,可以满足数据解密过程的顺序依赖性加强,提升数据解密难度,变向提升加密安全等级。
需要说明的是,上述步骤相对于现有的DES加密方法的好处在于:首先对于数据而言,是经过数据矩阵转置后的数据,而对密钥而言,其拥有多个密钥,传统的DES加密只有一个密钥,且数据加密的过程中,加密数据以原始数据为基础,当经过上述处理后,在密钥分发过程中,其分发采用分开分发,此时的截取难度提升,且密钥与数据本身存在联系,而不是随机生成。其次,当密钥被全部获取后,进行解密后的数据也为转置后的数据,按照转置数据还原后的数据也是与原始数据不同的,不会轻易获取原始数据,提升了数据加密的安全性。
至此,根据密钥完成了数据加密。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于DES算法的软件开发数据安全加密方法,其特征在于,该方法包括以下步骤:
获取软件开发数据的二进制序列;
根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥;
对密钥进行密钥扩展得到派生子密钥,包括:随机选取两个密钥,分别记为第零密钥和第一密钥,将第零密钥和第一密钥中的二进制数据进行异或逻辑运算得到第一派生子密钥,从未进行随机选取的密钥中随机选取一个密钥,记为第二密钥,将第一派生子密钥和第二密钥进行异或逻辑运算得到第二派生子密钥,继续从未进行随机选取的密钥中随机选取一个密钥,记为第三密钥,将第三密钥和第二派生子密钥进行异或逻辑运算得到第三派生子密钥,以此类推,直至所有密钥都进行了随机选取并进行了异或逻辑运算,得到所有派生子密钥;
根据密钥的选取顺序和派生子密钥的生成顺序得到软件开发数据进行加密时的密钥加密顺序;
根据密钥加密顺序对软件开发数据的加密数据进行加密;
所述根据软件开发数据的二进制序列得到软件开发数据进行加密时的若干密钥,包括的具体步骤如下:
根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,根据软件开发数据的二进制序列的数据组得到初始数据序列,根据初始数据序列得到软件开发数据进行加密时的加密数据;
根据加密数据得到加密数据分组,根据加密数据分组得到初始密钥,根据初始密钥得到软件开发数据进行加密时的密钥;
所述根据软件开发数据的二进制序列得到软件开发数据的二进制序列的数据组,包括的具体步骤如下:
对二进制序列每n位进行一次划分,可以得到若干个软件开发数据的二进制序列分块,将二进制序列分块按照划分顺序按列进行排列,排列完成后每n个二进制序列分块分为一个数据组,最终得到若干个软件开发数据的二进制序列的数据组,n为预设数值;
所述根据软件开发数据的二进制序列的数据组得到初始数据序列,包括的具体步骤如下:
将数据组置于矩阵中,可以得到一个n×n大小的数据组矩阵,数据组矩阵的每一行代表数据组中的每一个二进制序列分块,将数据组矩阵每一列作为一个数据组矩阵分块,得到n个数据组矩阵分块,将数据组矩阵分块按照划分顺序进行数据拼接得到初始数据序列;
所述根据初始数据序列得到软件开发数据进行加密时的加密数据,包括的具体步骤如下:
将所有初始数据序列依次进行拼接得到软件开发数据进行加密时的加密数据;
所述根据加密数据得到加密数据分组,包括的具体步骤如下:
预设分组组数基数B,对加密数据按照分组组数基数B进行第一次分组,第一次分组结束后得到加密数据的B个加密数据第一分组,若加密数据第一分组中数据位数小于A,A为预设数量,则对不足A的加密数据第一分组中的数据位数进行补零操作,将加密数据第一分组中数据位数小于A的补充到A,若加密数据第一分组中数据位数等于A,则不进行处理,若加密数据第一分组中数据位数大于A,则对数据位数大于A的加密数据第一分组进行第二次分组,将数据位数大于A的加密数据第一分组记为目标数据,同样对目标数据按照分组组数基数进行第二次分组,第二次分组结束后得到目标数据的若干个目标数据第二分组,同样判断目标数据第二分组中数据位数是否大于A,若目标数据第二分组中数据位数大于A,则继续进行分组,直至分组结束后分组中数据位数都小于等于A,最终得到加密数据的若干个加密数据分组;
所述根据加密数据分组得到初始密钥,包括的具体步骤如下:
按照分组顺序依次从每个第一分组中随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,按照分组顺序依次从每个第二分组中也按照分组顺序随机提取一位二进制数据,当提取出A位二进制数据后停止得到一个初始密钥,以此类推,得到若干个初始密钥;
所述根据初始密钥得到软件开发数据进行加密时的密钥,包括的具体步骤如下:
将若干个初始密钥置于二维矩阵中,将二维矩阵进行行列互换,按照从左到右从上到下的顺序每取出A位二进制数据作为一个参考密钥,从而得到若干个参考密钥,在每一个参考密钥中每7位二进制数据中统计1的个数,当1的个数为奇数时在第8位加一位校验位0,当1的个数为偶数时在第8位加一位校验位1,得到一个密钥,最终获得若干个软件开发数据进行加密时的密钥。
2.根据权利要求1所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述对加密数据按照分组组数基数B进行第一次分组,包括的具体步骤如下:
将加密数据等分B组,如果不够等分,则将加密数据最后依次补0直至恰好可以等分。
3.根据权利要求1所述一种基于DES算法的软件开发数据安全加密方法,其特征在于,所述将若干个初始密钥置于二维矩阵中,包括的具体步骤如下:
将初始密钥的个数作为二维矩阵行的大小,初始密钥的位数作为二维矩阵列的大小,将若干个初始密钥按照从上到下的顺序置于二维矩阵中,二维矩阵中的每一列是一个初始密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311724950.4A CN117407906B (zh) | 2023-12-15 | 2023-12-15 | 一种基于des算法的软件开发数据安全加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311724950.4A CN117407906B (zh) | 2023-12-15 | 2023-12-15 | 一种基于des算法的软件开发数据安全加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407906A CN117407906A (zh) | 2024-01-16 |
CN117407906B true CN117407906B (zh) | 2024-03-12 |
Family
ID=89487517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311724950.4A Active CN117407906B (zh) | 2023-12-15 | 2023-12-15 | 一种基于des算法的软件开发数据安全加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407906B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109245881A (zh) * | 2018-09-14 | 2019-01-18 | 杭州嘀嗒科技有限公司 | 一种照片视频云端加密存储方法 |
CN112019323A (zh) * | 2019-05-30 | 2020-12-01 | 深圳拓邦股份有限公司 | 数据加密、解密方法及装置、存储介质及电子设备 |
CN116248316A (zh) * | 2022-12-07 | 2023-06-09 | 深圳市快付通金融网络科技服务有限公司 | 文件加密方法、文件解密方法、装置及存储介质 |
-
2023
- 2023-12-15 CN CN202311724950.4A patent/CN117407906B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109245881A (zh) * | 2018-09-14 | 2019-01-18 | 杭州嘀嗒科技有限公司 | 一种照片视频云端加密存储方法 |
CN112019323A (zh) * | 2019-05-30 | 2020-12-01 | 深圳拓邦股份有限公司 | 数据加密、解密方法及装置、存储介质及电子设备 |
CN116248316A (zh) * | 2022-12-07 | 2023-06-09 | 深圳市快付通金融网络科技服务有限公司 | 文件加密方法、文件解密方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117407906A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Patro et al. | An efficient colour image encryption scheme based on 1-D chaotic maps | |
US8284933B2 (en) | Encrypting variable-length passwords to yield fixed-length encrypted passwords | |
CN112714235B (zh) | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 | |
CN108964872B (zh) | 一种基于aes的加密方法及装置 | |
CN113297606A (zh) | 基于多混沌与dna运算的彩色量子图像加密及解密方法 | |
CN101488848A (zh) | 生成密码识别信息的加密方法 | |
CN116032474A (zh) | 一种基于大数据计算机网络安全防护系统 | |
CN104396182A (zh) | 加密数据的方法 | |
CN110543778A (zh) | 一种字符数据线性随机加密和解密算法 | |
CN110149200A (zh) | 一种基于动态dna和4d混沌的彩色图像加密方法 | |
CN115766190B (zh) | 一种任意集合元素加密方法、解密方法及电子设备 | |
CN111314050A (zh) | 一种加解密方法及装置 | |
CN112199696A (zh) | 基于白盒分组密码的加解密方法 | |
CN114826590B (zh) | 一种分组模式加密方法、解密方法及其装置、设备 | |
CN113408013A (zh) | 多种算法规则混合的加解密芯片构架 | |
CN115766962A (zh) | 一种基于五维保守超混沌系统的多密钥图像加密方法 | |
CN117134914B (zh) | 一种基于硬件特征的一次一密的随机秘钥流式加密算法及系统 | |
CN117407906B (zh) | 一种基于des算法的软件开发数据安全加密方法 | |
JPWO2015166701A1 (ja) | 暗号化方法、プログラム、および、システム | |
CN116796345A (zh) | 加解密方法、装置、设备及存储介质 | |
CN107493164B (zh) | 一种基于混沌系统的des加密方法和系统 | |
CN112737767B (zh) | 抗差分功耗分析与时间攻击的消息认证码生成方法及系统 | |
CN114826558A (zh) | 一种海量数据快速加密方法及系统 | |
CN110061832B (zh) | 以汉字作为密码的对称密码算法的实现方法 | |
CA3167530A1 (en) | A method for symmetric asynchronous generative encryption |
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 |