CN117131517A - 加密算法的安全性检测方法、终端设备及存储介质 - Google Patents
加密算法的安全性检测方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN117131517A CN117131517A CN202311405838.4A CN202311405838A CN117131517A CN 117131517 A CN117131517 A CN 117131517A CN 202311405838 A CN202311405838 A CN 202311405838A CN 117131517 A CN117131517 A CN 117131517A
- Authority
- CN
- China
- Prior art keywords
- encryption algorithm
- data
- plaintext data
- plaintext
- encryption
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 102
- 238000009792 diffusion process Methods 0.000 claims description 132
- 238000006467 substitution reaction Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 24
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010572 single replacement reaction Methods 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种加密算法的安全性检测方法、终端设备及存储介质,属于数据安全技术领域,其中,所述一种加密算法的安全性检测方法包括:获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据;将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据;根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥;根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果。通过解析出来的等效密钥和加密算法,评定加密算法的安全性,能够提高加密算法的安全性检测的准确率。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种加密算法的安全性检测方法、终端设备及存储介质。
背景技术
为了保证关键数据存储的安全,目前基于置换和扩散结构的密码算法被广泛应用。例如,DES(Data Encryption Standard,数据加密标准)和AES(Advanced EncryptionStandard,高级加密标准)等。基于置换和扩散的加密算法是对称密钥加密算法的一种常见分类,它们通过置换和扩散操作来混淆和扩散数据,以提高加密算法的安全性。
在相关技术中,对于基于置换和扩散结构的加密算法的安全检测,一般通过统计密钥的空间大小、直方图、像素相关性、密钥敏感性等来评定加密算法的安全性。然而上述仅通过分析密钥就评定加密算法的安全性,无法全面评估加密算法的整体安全性,导致加密算法的安全性检测结果并不准确。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明实施例通过提供一种加密算法的安全性检测方法、终端设备及计算机可读存储介质,旨在解决加密算法的安全性检测结果不准确的技术问题。
为实现上述目的,本发明实施例提供一种加密算法的安全性检测方法,所述加密算法的安全性检测方法包括以下:
获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据;
将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据;
根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥;
根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果。
可选地,所述将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据的步骤,包括:
根据所述明文数据的数据特点,将所述明文数据划分为第一组明文数据和第二组明文数据,其中,所述第一组明文数据为全零明文数据,所述第二组明文数据为非全零明文数据;
将所述第一组明文数据输入所述加密算法,获得所述第一组明文数据对应的第一密文数据,将所述第二组明文数据输入所述加密算法,获得所述第二组明文数据对应的第二密文数据。
可选地,所述根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥的步骤,包括:
根据所述加密结构,获取所述加密算法对应的扩散运算,并将所述扩散运算的逆运算作为所述目标运算;
对所述第一组明文数据和所述第一密文数据进行所述目标运算,确定所述加密算法对应的等效扩散密钥;
对所述第二密文数据和所述等效扩散密钥进行所述目标运算,确定所述第二组明文数据对应的置换数据;
根据所述置换数据和所述第二组明文数据之间的位置关系,确定所述加密算法对应的等效置换密钥。
可选地,所述根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果的步骤,包括:
随机获取第三组明文数据,并将所述第三组明文数据输入所述加密算法,获得所述第三组明文数据对应的第三密文数据;
根据所述等效密钥和所述加密算法,对所述第三密文数据进行解密,获得所述第三密文数据对应的等效明文数据;
根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果。
可选地,所述根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果的步骤之后,包括:
在所述相似度大于预设阈值时,判定所述安全检测结果为不合格;
在所述相似度小于所述预设阈值时,判定所述安全检测结果为合格。
可选地,所述获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据的步骤之前,包括:
获取所述加密算法对应的置换运算和/或扩散运算;
在所述置换运算为迭代置换运算,和/或所述扩散运算为迭代扩散运算时,对所述迭代置换运算和/或所述迭代扩散运算进行合并运算,确定所述迭代置换运算和/或所述迭代扩散运算对应的等效置换运算和/或等效扩散运算;
将所述等效置换运算更新为所述加密算法对应的所述置换运算,和/或将所述等效扩散运算更新为所述加密算法对应的所述扩散运算。
可选地,所述获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据的步骤,还包括:
获取加密结构关联的明文运算公式,以及获取预设的明文尺寸;
根据所述明文尺寸和所述明文运算公式,获得所述明文数据。
可选地,所述根据所述明文尺寸和所述明文运算公式,获得所述明文数据的步骤,包括:
根据明文尺寸,确定所述明文数据的目标数量;
根据明文运算公式,获取所述目标数量的所述明文数据。
此外,本发明为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的加密算法的安全检测方法,所述加密算法的安全检测方法被所述处理器执行时实现如上所述的加密算法的安全性检测方法的步骤。
此外,本发明为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有加密算法的安全检测方法,所述加密算法的安全检测方法被处理器执行时实现如上所述的加密算法的安全性检测方法的步骤。
本发明一实施例提出的一种加密算法的安全性检测方法,终端设备及计算机可读存储介质,通过获取加密算法的加密结构,并根据加密结构确定对应的明文数据,将明文数据输入加密算法,获得明文数据对应的密文数据,然后根据加密结构,确定密文数据对应的目标运算,并对密文数据进行目标运算,确定加密算法对应的等效密钥,之后根据等效密钥与加密算法,确定加密算法的安全检测结果。本发明通过对加密算法进行解析,获取加密算法的等效密钥,并通过等效密钥对加密算法进行测试,确定等效密钥的真实性,从而生成加密算法的安全检测结果,提高加密算法的安全检测结果的准确率。并使加密算法的开发或设计人员,根据安全检测结果,对加密算法进行优化。
附图说明
图1为本发明加密算法的安全性检测方法的一实施例的流程示意图;
图2为本发明涉及的加密算法的加密结构示意图;
图3为本发明加密算法的安全性检测方法的第二实施例中步骤S30的细化流程示意图;
图4为本发明加密算法的安全性检测方法的第三实施例中步骤S40的细化流程示意图;
图5为本发明涉及的加密算法的变形加密结构示意图;
图6为本发明加密算法的安全性检测方法的第四实施例中步骤S10的细化流程示意图;
图7为本发明涉及的加密算法的简化加密结构示意图;
图8是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于在相关技术中,对于基于置换和扩散结构的加密算法的安全检测,一般通过统计密钥的空间大小、直方图、像素相关性、密钥敏感性等来评定加密算法的安全性。然而上述仅通过分析密钥就评定加密算法的安全性,无法全面评估加密算法的整体安全性,导致加密算法的安全性检测结果并不准确的技术问题。
为解决相关技术中的上述缺陷,本发明提出一种加密算法的安全性检测方法,其主要解决步骤包括以下:
通过获取加密算法的加密结构,并根据加密结构确定对应的明文数据,将明文数据输入加密算法,获得明文数据对应的密文数据,然后根据加密结构,确定密文数据对应的目标运算,并对密文数据进行目标运算,确定加密算法对应的等效密钥,之后根据等效密钥与加密算法,确定加密算法的安全检测结果。本发明通过对加密算法进行解析,获取加密算法的等效密钥,并通过等效密钥对加密算法进行测试,确定等效密钥的真实性,从而生成加密算法的安全检测结果,提高加密算法的安全检测结果的准确率。并使加密算法的开发或设计人员,根据安全检测结果,对加密算法进行优化。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整地传达给本领域的技术人员。
参照图1,在本发明加密算法的安全性检测方法的一实施例中,所述一种加密算法的安全性检测方法包括以下步骤:
步骤S10:获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据;
在本实施例中,执行主体为终端设备。终端设备可以是手机、电脑或者专用于加密的加密设备,本实施例对此不做具体限定。加密算法是指基于置换和扩散结构的加密算法。例如,DES和AES等加密算法。因此,本发明的加密算法的加密结构为置换和扩散结构。明文数据可以是文本、图像、音频、视频等多媒体数据,也可以是二进制代码、程序文件等,本实施例对此不做具体限定。
例如,参照图2,图2为本发明涉及的加密算法的加密结构示意图。为保证数据安全,加密算法需要遵循相关的安全标准。例如,国密标准。因此,基于置换和扩散结构的加密算法是在对明文数据加密时,先采用置换密钥对明文数据进行置换操作,打乱明文数据的原始顺序,获得置换数据。然后采用扩散密钥对置换数据进行扩散操作,将置换数据均匀分布到不同位置上,从而获得密文数据。
可选地,本发明通过获取加密结构关联的明文运算公式,然后获取预设的明文尺寸,根据明文尺寸和明文运算公式,获得明文数据。
在本实施例中,本发明预先根据加密结构,制定明文运算公式,以使获得的明文数据能够以最快速率分析出加密算法的等效密钥,提高安全检测的效率。
可选地,加密结构为置换和扩散结构的所述明文运算公式为:
,
,
其中,(t,j)为明文数据,L、W、H分别为明文数据的长、宽、高,即明文尺寸。n表示明文数据的数量。
在本实施例中,当明文数据为图片时,可获取图片的长、宽、高来表示明文尺寸。当明文数据不为图片时,可获取明文数据的字节长度作为明文尺寸。可以理解的是,当明文数据不为图片时,明文尺寸的长、宽、高均相同,都为字节长度。
可选地,所述根据所述明文尺寸和所述明文运算公式,获得所述明文数据的步骤,还包括:根据明文尺寸确定明文数据的目标数量,从而根据明文运算公式,获取与目标数量相符的多个明文数据。
在本实施例中,为提高安全检测效率,本发明预先制定明文数据的目标数量的运算公式。在获取明文尺寸后,可将明文尺寸代入目标数量的运算公式,从而确定明文数据的目标数量,旨在达成使用最少数量的明文数据,分析出加密算法的等效密钥,提高安全检测的效率。
可选地,所述目标数量的运算公式为:
在本实施例中,根据上述运算公式可知,明文数据与数据量呈对数级变化,而非指数级变化,因此运用本发明提供的加密算法的安全检测方法,能够以最少数量的明文数据和密文数据,分析出加密算法的等效密钥,能够极大的提高安全检测的效率。
步骤S20:将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据;
在本实施例中,根据明文数据的数据特点,将明文数据划分为第一组明文数据和第二组明文数据,其中,第一组明文数据为全零明文数据,第二组明文数据为非全零明文数据。然后将第一组明文数据输入加密算法,获得第一组明文数据对应的第一密文数据,将第二组明文数据输入加密算法,获得第二组明文数据对应的第二密文数据。
步骤S30:根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥;
在本实施例中,所述等效密钥包括等效置换密钥和等效扩散密钥。本发明通过获取加密结构中的扩散结构所对应的扩散运算,从而将扩散运算的逆运算作为所述目标运算,以通过对密文数据进行该目标运算,确定加密算法的等效密钥。
需要说明的是,等效置换密钥和等效扩展密钥,并非与加密算法的置换密钥和扩散密钥完全一致,而是通过对加密算法进行解析,所获得的等效于置换密钥和扩散密钥的密钥。
步骤S40:根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果。
在本实施例中,在获得加密算法的等效密钥后,可采用等效密钥对加密算法进行测试,确定等效密钥的真实性,即该等效密钥是否等效于加密算法的原始密钥,从而生成加密算法的安全检测结果。以使加密算法的开发或设计人员,根据安全检测结果,对加密算法进行优化。
在本实施例提供的技术方案中,通过获取加密算法的加密结构,并根据加密结构确定对应的明文数据,将明文数据输入加密算法,获得明文数据对应的密文数据,然后根据加密结构,确定密文数据对应的目标运算,并对密文数据进行目标运算,确定加密算法对应的等效密钥,之后根据等效密钥与加密算法,确定加密算法的安全检测结果。本发明通过对加密算法进行解析,获取加密算法的等效密钥,并通过等效密钥对加密算法进行测试,确定等效密钥的真实性,从而生成加密算法的安全检测结果,提高加密算法的安全检测结果的准确率。并使加密算法的开发或设计人员,根据安全检测结果,对加密算法进行优化。
参照图3,在第二实施例中,基于第一实施例,所述步骤S30,包括:
步骤S31:根据所述加密结构,获取所述加密算法对应的扩散运算,并将所述扩散运算的逆运算作为所述目标运算;
不同加密算法中扩散结构对应的扩散运算并不相同。例如,扩散运算可以是异或运算、模尔加法运算、模尔减法运算、模尔乘法运算等。
在本实施例中,对于置换和扩散结构的加密结构,本发明获取加密算法中扩散结构对应的扩散运算,从而将该扩散运算的逆运算作为目标运算。
例如,若扩散运算为异或运算,而异或运算的逆运算为异或运算,从而将异或运算作为目标运算;若扩散运算为模尔加运算,而模尔加运算的逆运算为模尔减运算,则将模尔减运算作为目标运算。
步骤S32:对所述第一组明文数据和所述第一密文数据进行所述目标运算,确定所述加密算法对应的等效扩散密钥;
在本实施例中,由于第一组明文数据为全零明文数据,因此即使无法获知加密算法的置换密钥,也能获知第一组明文数据输入加密算法,根据置换密钥和置换运算规则对应第一组明文数据进行置换操作后所获得的置换数据,即为所述第一组全零明文数据。加密算法根据扩散密钥和扩散运算对置换数据进行扩散操作后,即可获得所述第一密文数据。因此,本发明通过将第一组全零明文数据作为经加密算法进行置换操作后所获得的置换数据,并将该第一组全零明文数据和第一密文数据进行目标运算所获得的输出结果,确定为加密算法的等效扩散密钥。
步骤S33:对所述第二密文数据和所述等效扩散密钥进行所述目标运算,确定所述第二组明文数据对应的置换数据;
由于第二组明文数据为非全零明文数据,加密算法根据置换密钥和置换运算对第二组明文数据进行置换操作后所获得的置换数据与第二组明文数据差异大,无法直接根据第二密文数据和第二组明文数据确定加密算法的等效置换密钥。
在本实施例中,本发明将获得的等效扩散密钥,作为加密算法的扩散密钥,对第二密文数据和等效扩散密钥进行目标运算,并将目标运算所获得的输出结果,确定为第二组明文数据对应的置换数据。
步骤S34:根据所述置换数据和所述第二组明文数据之间的位置关系,确定所述加密算法对应的等效置换密钥。
在本实施例中,在确定第二组明文数据对应的置换数据后,将第二组明文数据和其对应的置换数据进行比较,确定第二组明文数据和置换数据之间的位置对应关系,并将该位置对应关系确定为加密算法对应的等效置换密钥。本发明通过采用一组全零明文数据,预先确定出加密算法的等效扩散密钥,进而根据等效扩散密钥和扩散运算的逆运算对密文数据进行扩散操作的逆操作,解析出非全零明文数据对应的置换数据,从而根据解析出的置换数据和非全零明文数据的位置比较,确定二者之间的位置对应关系,从而确定出加密算法的等效置换密钥,能够提高对加密算法的安全检测效率。
在本实施例提供的技术方案中,通过根据加密结构,获取加密算法对应的扩散运算,并将扩散运算的逆运算作为目标运算,对第一组明文数据和第一密文数据进行目标运算,确定加密算法对应的等效扩散密钥,然后对第二密文数据和等效扩散密钥进行目标运算,确定第二组明文数据对应的置换数据,从而根据置换数据和第二组明文数据之间的位置关系,确定加密算法对应的等效置换密钥,达成提高加密算法的安全检测效率的技术效果。
参照图4,在第三实施例中,基于上述任一实施例,所述步骤S40,包括:
步骤S41:随机获取第三组明文数据,并将所述第三组明文数据输入所述加密算法,获得所述第三组明文数据对应的第三密文数据;
步骤S42:根据所述等效密钥和所述加密算法,对所述第三密文数据进行解密,获得所述第三密文数据对应的等效明文数据;
步骤S43:根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果。
在本实施例中,在确定加密算法的等效置换密钥和等效扩散密钥之后,为确定等效置换密钥和等效扩散密钥的真实性,对加密算法进行测试。通过随机获取第三组明文数据,并将第三组明文数据输入加密算法,获得第三组明文数据对应的第三密文数据。然后通过等效置换密钥和等效扩散密钥对第三密文数据进行加密,获得第三密文数据对应的等效明文数据。从而将获得的等效明文数据和其对应的第三组明文数据进行相似度比较,在等效明文数据和其对应的第三组明文数据的相似度大于预设阈值时,则表明该加密算法的安全性低,需要开发或者设计人员进一步对加密算法进行优化。若小于预设阈值,则表明该加密算法的安全性高,可投入使用。
可选地,所述安全检测结果包括检测合格和不合格。在相似度大于预设阈值时,判定加密算法的安全检测结果为不合格,在相似度小于预设阈值时,判定加密算法的安全检测结果为合格。
可选地,所述根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果的步骤之后,包括:输出将所述等效扩散密钥和所述等效置换密钥以及所述安全检测结果,以使对应的开发或者设计人员有针对性对加密算法进行优化,以使最后优化的加密算法获得的等效置换密钥和等效扩散密钥解密获得的等效明文数据与真实的明文数据之间的相似度小于预设阈值,提高加密算法的安全性。
在本实施例提供的技术方案中,通过随机获取第三组明文数据,并将第三组明文数据输入加密算法,获得第三组明文数据对应的第三密文数据,然后根据等效密钥和加密算法,对第三密文数据进行解密,获得第三密文数据对应的等效明文数据,根据等效明文数据和第三组明文数据的相似度,确定加密算法的安全检测结果,提高安全检测结果的准确率。
为提高数据的安全性,开发人员或设计人员在研究加密算法时,会采用多轮加密方式,即对单轮的置换运算和/或扩散运算进行变形,采用多轮的置换运算和/或扩散运算。
例如,参照图5,图5为本发明涉及的加密算法的变形加密结构示意图。置换运算变形为多轮置换运算,在将明文数据输入加密算法后,加密算法会先对明文数据进行行置换,再进行列置换,最后进行全局置换,才获得置换数据,之后将置换数据进行多次迭代的扩散运算,最终获得密文数据。且行置换、列置换以及全局置换对应的置换密钥并不相同。因此,面对该种变形的加密结构,若直接采用本发明提供的加密算法的安全检测方法,将无法确定出加密算法的各个等效密钥。因此为能够对变形的加密结构的加密算法进行安全检测,本发明提出下述第四实施例。
参照图6,在第四实施例中,基于上述任一实施例,所述步骤S10之前,包括:
步骤S50:获取所述加密算法对应的置换运算和/或扩散运算;
步骤S60:在所述置换运算为迭代置换运算,和/或所述扩散运算为迭代扩散运算时,对所述迭代置换运算和/或所述迭代扩散运算进行合并运算,确定所述迭代置换运算和/或所述迭代扩散运算对应的等效置换运算和/或等效扩散运算;
步骤S70:将所述等效置换运算更新为所述加密算法对应的所述置换运算,和/或将所述等效扩散运算更新为所述加密算法对应的所述扩散运算。
在本实施例中,在加密算法的置换运算为迭代置换运算,和/或扩散运算为迭代扩散运算时,对迭代置换运算和/或迭代扩散运算进行预设轮数的展开,并根据展开所获得的目标置换结构和/或目标扩散结构,确定目标置换结构和/或目标扩散结构的各个部分的规律,根据规律将目标置换结构和/或目标扩散结构进行合并,从而获得迭代置换运算和/迭代扩散运算的等效置换运算和/或等效扩散运算。可以理解的是等效置换运算和等效扩散运算为单轮的置换运算和单轮的扩散运算,因此可运用本发明提供的加密算法的安全检测方法,对变形的加密结构对应的加密算法进行安全检测。
可选地,在另一可选实施方式中,通过对迭代置换运算和迭代扩散运算一起展开,获得目标迭代结构,确定目标迭代结构的各个部分的规律,根据规律将目标迭代结构进行合并,从而获得迭代置换运算和迭代扩散运算的等效置换运算和等效扩散运算,本实施例对此不做具体限定。
可选地,在另一可选实施方式中,在对迭代置换运算和/或迭代扩散运算进行展开前,获取单次置换运算和/或扩散运算的运算规则,确定该运算规则是否存在等效的目标运算规则,若存在等效的目标运算规则,则将迭代置换运算和/或迭代扩散运算进行展开,展开后根据该等效的目标运算规则对目标置换结构和/或目标扩散结构进行合并,而无需在展开后确定目标置换结构和/或目标扩散结构进行规律观察,提高合并效率。
在本实施例中,所述运算规则是指迭代置换运算的置换规则和/或迭代扩散运算的扩散规则。所述运算规则可以是异或、模尔运算,本实施例对此不做具体限定。例如,假定使用符号“⨂”统一表示为比特异或运算、模尔加法运算、模尔减法运算、模尔乘法运算等,则所述运算规则为:
其中,符号V表示置换密钥;符号表示采用置换规则/>,且使用置换密钥V对明文数据a和b进行置换操作;p为对明文数据a和b进行置换操作后所获得的置换数据。
可选地,所述目标运算规则为:
其中,为运算规则/>的目标运算规则。若运算规则满足目标运算规则,则可将迭代置换运算和/或迭代扩散运算展开后,根据该目标运算规则对与其对应的运算规则进行合并,从而实现对变形的加密结构的合并,简化加密算法的加密结构。在简化加密算法的加密结构后,采用本发明提供的加密算法的安全检测方法对加密算法进行安全检测。
例如,参照图5,图5为本发明涉及的加密算法的变形加密结构示意图。给定一个加密算法,该算法采用多轮加密,每轮加密步骤分别为行置换、列置换、全局置换和扩散。每轮加密步骤中的行置换加密可用表示,/>表示行置换密钥,/>表示明文数据。列置换用/>表示,/>表示列置换密钥。全局置换用/>表示,/>表示全局置换密钥。扩散加密用/>表示。多轮加密结构用/>表示,/>表示密文数据,/>表示迭代次数,/>表示扩散密钥,/>表示置换运算。若每个置换运算对应的置换规则和/或扩散运算存在等效的目标运算规则,将/>展开后,根据上述的目标运算规则将多轮的等效置换和扩散简化为单轮的等效全局置换和等效全局扩散运算。简化后的加密算法可表示为/>D,其中s表示等效置换运算,/>表示等效扩散运算,/>为等效全局置换后的置换数据。可参照图7,图7为本发明涉及的加密算法的简化加密结构示意图。
在本实施例中,通过获取加密算法对应的置换运算和/或扩散运算,在置换运算为迭代置换运算,和/或扩散运算为扩散运算时,对迭代置换运算和/或迭代扩散运算进行合并运算,确定迭代置换运算和/或迭代扩散运算对应的等效置换运算和/或等效扩散运算,从而将等效置换运算更新为加密算法对应的置换运算,和/或将等效扩散运算更新为加密算法对应的扩散运算,从而实现对加密算法的变形加密结构的简化,进一步对简化后的加密算法进行安全检测,扩大本发明提供的加密算法的安全检测的适用性。
参照图8,图8为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是手机、电脑或者专用于加密的加密设备。
如图8所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard)、鼠标等,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及加密算法的安全检测方法。
在图8所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的加密算法的安全检测方法,并执行以下操作:
获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据;
将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据;
根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥;
根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
根据所述明文数据的数据特点,将所述明文数据划分为第一组明文数据和第二组明文数据,其中,所述第一组明文数据为全零明文数据,所述第二组明文数据为非全零明文数据;
将所述第一组明文数据输入所述加密算法,获得所述第一组明文数据对应的第一密文数据,将所述第二组明文数据输入所述加密算法,获得所述第二组明文数据对应的第二密文数据。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
根据所述加密结构,获取所述加密算法对应的扩散运算,并将所述扩散运算的逆运算作为所述目标运算;
对所述第一组明文数据和所述第一密文数据进行所述目标运算,确定所述加密算法对应的等效扩散密钥;
对所述第二密文数据和所述等效扩散密钥进行所述目标运算,确定所述第二组明文数据对应的置换数据;
根据所述置换数据和所述第二组明文数据之间的位置关系,确定所述加密算法对应的等效置换密钥。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
随机获取第三组明文数据,并将所述第三组明文数据输入所述加密算法,获得所述第三组明文数据对应的第三密文数据;
根据所述等效密钥和所述加密算法,对所述第三密文数据进行解密,获得所述第三密文数据对应的等效明文数据;
根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
在所述相似度大于预设阈值时,判定所述安全检测结果为不合格;
在所述相似度小于所述预设阈值时,判定所述安全检测结果为合格。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
获取所述加密算法对应的置换运算和/或扩散运算;
在所述置换运算为迭代置换运算,和/或所述扩散运算为迭代扩散运算时,对所述迭代置换运算和/或所述迭代扩散运算进行合并运算,确定所述迭代置换运算和/或所述迭代扩散运算对应的等效置换运算和/或等效扩散运算;
将所述等效置换运算更新为所述加密算法对应的所述置换运算,和/或将所述等效扩散运算更新为所述加密算法对应的所述扩散运算。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
获取加密结构关联的明文运算公式,以及获取预设的明文尺寸;
根据所述明文尺寸和所述明文运算公式,获得所述明文数据。
进一步地,处理器1001可以调用存储器1005中存储的加密算法的安全检测方法,还执行以下操作:
根据明文尺寸,确定所述明文数据的目标数量;
根据明文运算公式,获取所述目标数量的所述明文数据。
此外,本发明为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的加密算法的安全检测方法,所述加密算法的安全检测方法被所述处理器执行时实现如上所述的加密算法的安全性检测方法的步骤。
此外,本发明为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有加密算法的安全检测方法,所述加密算法的安全检测方法被处理器执行时实现如上所述的加密算法的安全性检测方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机、电脑或者专用于加密的加密设备)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种加密算法的安全性检测方法,其特征在于,所述加密算法的安全性检测方法包括:
获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据;
将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据;
根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥;
根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果。
2.如权利要求1所述的加密算法的安全性检测方法,其特征在于,所述将所述明文数据输入所述加密算法,获得所述明文数据对应的密文数据的步骤,包括:
根据所述明文数据的数据特点,将所述明文数据划分为第一组明文数据和第二组明文数据,其中,所述第一组明文数据为全零明文数据,所述第二组明文数据为非全零明文数据;
将所述第一组明文数据输入所述加密算法,获得所述第一组明文数据对应的第一密文数据,将所述第二组明文数据输入所述加密算法,获得所述第二组明文数据对应的第二密文数据。
3.如权利要求2所述的加密算法的安全性检测方法,其特征在于,所述根据所述加密结构,确定所述密文数据对应的目标运算,并对所述密文数据进行所述目标运算,确定所述加密算法对应的等效密钥的步骤,包括:
根据所述加密结构,获取所述加密算法对应的扩散运算,并将所述扩散运算的逆运算作为所述目标运算;
对所述第一组明文数据和所述第一密文数据进行所述目标运算,确定所述加密算法对应的等效扩散密钥;
对所述第二密文数据和所述等效扩散密钥进行所述目标运算,确定所述第二组明文数据对应的置换数据;
根据所述置换数据和所述第二组明文数据之间的位置关系,确定所述加密算法对应的等效置换密钥。
4.如权利要求3所述的加密算法的安全性检测方法,其特征在于,所述根据所述等效密钥与所述加密算法,确定所述加密算法的安全检测结果的步骤,包括:
随机获取第三组明文数据,并将所述第三组明文数据输入所述加密算法,获得所述第三组明文数据对应的第三密文数据;
根据所述等效密钥和所述加密算法,对所述第三密文数据进行解密,获得所述第三密文数据对应的等效明文数据;
根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果。
5.如权利要求4所述的加密算法的安全性检测方法,其特征在于,所述根据所述等效明文数据和所述第三组明文数据的相似度,确定所述加密算法的安全检测结果的步骤之后,包括:
在所述相似度大于预设阈值时,判定所述安全检测结果为不合格;
在所述相似度小于所述预设阈值时,判定所述安全检测结果为合格。
6.如权利要求1所述的加密算法的安全性检测方法,其特征在于,所述获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据的步骤之前,包括:
获取所述加密算法对应的置换运算和/或扩散运算;
在所述置换运算为迭代置换运算,和/或所述扩散运算为迭代扩散运算时,对所述迭代置换运算和/或所述迭代扩散运算进行合并运算,确定所述迭代置换运算和/或所述迭代扩散运算对应的等效置换运算和/或等效扩散运算;
将所述等效置换运算更新为所述加密算法对应的所述置换运算,和/或将所述等效扩散运算更新为所述加密算法对应的所述扩散运算。
7.如权利要求1所述的加密算法的安全性检测方法,其特征在于,所述获取加密算法的加密结构,并根据所述加密结构确定对应的明文数据的步骤,还包括:
获取加密结构关联的明文运算公式,以及获取预设的明文尺寸;
根据所述明文尺寸和所述明文运算公式,获得所述明文数据。
8.如权利要求7所述的加密算法的安全性检测方法,其特征在于,所述根据所述明文尺寸和所述明文运算公式,获得所述明文数据的步骤,包括:
根据明文尺寸,确定所述明文数据的目标数量;
根据明文运算公式,获取所述目标数量的所述明文数据。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的终端设备的加密算法的安全性检测方法,所述终端设备的加密算法的安全性检测方法被所述处理器执行时实现如权利要求1至8中任一项所述的加密算法的安全性检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有终端设备的加密算法的安全性检测方法,所述终端设备的加密算法的安全性检测方法被处理器执行时实现如权利要求1至8中任一项所述的加密算法的安全性检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311405838.4A CN117131517B (zh) | 2023-10-27 | 2023-10-27 | 加密算法的安全性检测方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311405838.4A CN117131517B (zh) | 2023-10-27 | 2023-10-27 | 加密算法的安全性检测方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117131517A true CN117131517A (zh) | 2023-11-28 |
CN117131517B CN117131517B (zh) | 2024-03-19 |
Family
ID=88853096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311405838.4A Active CN117131517B (zh) | 2023-10-27 | 2023-10-27 | 加密算法的安全性检测方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117131517B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592091A (zh) * | 2024-01-19 | 2024-02-23 | 石家庄学院 | 一种计算机信息防窃取方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014119512A (ja) * | 2012-12-13 | 2014-06-30 | Nec Corp | 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム |
CN109413051A (zh) * | 2018-10-09 | 2019-03-01 | 深圳南方德尔汽车电子有限公司 | 数据加密方法、装置、计算机设备及存储介质 |
CN112910630A (zh) * | 2021-02-02 | 2021-06-04 | 浙江大华技术股份有限公司 | 扩展密钥的置换方法及装置 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
CN114826558A (zh) * | 2022-04-06 | 2022-07-29 | 郑州朗灵电子科技有限公司 | 一种海量数据快速加密方法及系统 |
CN115883052A (zh) * | 2022-10-24 | 2023-03-31 | 鼎铉商用密码测评技术(深圳)有限公司 | 数据加密方法、数据解密方法、设备及存储介质 |
CN116756758A (zh) * | 2023-07-20 | 2023-09-15 | 中国银行股份有限公司 | 一种数据加密解密方法、装置、计算机设备、存储介质 |
-
2023
- 2023-10-27 CN CN202311405838.4A patent/CN117131517B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014119512A (ja) * | 2012-12-13 | 2014-06-30 | Nec Corp | 暗号化処理回路及び復号処理回路とその方法並びにそのプログラム |
CN109413051A (zh) * | 2018-10-09 | 2019-03-01 | 深圳南方德尔汽车电子有限公司 | 数据加密方法、装置、计算机设备及存储介质 |
CN112910630A (zh) * | 2021-02-02 | 2021-06-04 | 浙江大华技术股份有限公司 | 扩展密钥的置换方法及装置 |
CN113660620A (zh) * | 2021-10-20 | 2021-11-16 | 北京卓建智菡科技有限公司 | 一种数据防伪加密方法、装置、计算机设备及存储介质 |
CN114826558A (zh) * | 2022-04-06 | 2022-07-29 | 郑州朗灵电子科技有限公司 | 一种海量数据快速加密方法及系统 |
CN115883052A (zh) * | 2022-10-24 | 2023-03-31 | 鼎铉商用密码测评技术(深圳)有限公司 | 数据加密方法、数据解密方法、设备及存储介质 |
CN116756758A (zh) * | 2023-07-20 | 2023-09-15 | 中国银行股份有限公司 | 一种数据加密解密方法、装置、计算机设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
袁家斌 等: "一种全新的基于置换密钥矩阵加密算法", 南京航空航天大学学报, pages 84 - 89 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592091A (zh) * | 2024-01-19 | 2024-02-23 | 石家庄学院 | 一种计算机信息防窃取方法及系统 |
CN117592091B (zh) * | 2024-01-19 | 2024-03-29 | 石家庄学院 | 一种计算机信息防窃取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117131517B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ma et al. | Cryptanalysis of an image block encryption algorithm based on chaotic maps | |
Boriga et al. | A new hyperchaotic map and its application in an image encryption scheme | |
CN110457912B (zh) | 数据处理方法、装置和电子设备 | |
CN111461952B (zh) | 图像加密方法、计算机设备和计算机可读存储介质 | |
CN107819569B (zh) | 登录信息的加密方法及终端设备 | |
CN117131517B (zh) | 加密算法的安全性检测方法、终端设备及存储介质 | |
CN109241484B (zh) | 一种基于加密技术的网页数据的发送方法及设备 | |
US11716197B2 (en) | System and method for generating a cryptographic key | |
Ayoup et al. | Efficient selective image encryption | |
WO2020233047A1 (zh) | 页面测试的方法及装置 | |
US20170230175A1 (en) | Method and apparatus for encrypting and decrypting data | |
CN115567188B (zh) | 一种多键值隐匿求交方法、装置及存储介质 | |
CN115051798A (zh) | 一种随机数生成方法、装置、电子设备及存储介质 | |
Boriga et al. | A New One‐Dimensional Chaotic Map and Its Use in a Novel Real‐Time Image Encryption Scheme | |
Alawida et al. | A new hash function based on chaotic maps and deterministic finite state automata | |
CN114978512B (zh) | 一种隐私求交方法、装置和可读存储介质 | |
CN106789058B (zh) | 一种代理重加密算法描述及解析方法 | |
Yang et al. | Implementation of encryption algorithm and wireless image transmission system on FPGA | |
Yeoh et al. | A parallelizable chaos-based true random number generator based on mobile device cameras for the Android platform | |
US7809130B1 (en) | Password recovery system and method | |
CN111447059A (zh) | 密文等值测试方法、装置、电子设备、存储介质及系统 | |
CN112948895A (zh) | 数据的水印嵌入方法、水印溯源方法及装置 | |
Rajput et al. | A novel image encryption and authentication scheme using chaotic maps | |
WO2016063512A1 (ja) | Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム記録媒体 | |
Kapalova et al. | A block encryption algorithm based on exponentiation transform |
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 |