CN105512518A - 一种基于唯密文的密码算法识别方法和*** - Google Patents
一种基于唯密文的密码算法识别方法和*** Download PDFInfo
- Publication number
- CN105512518A CN105512518A CN201510851483.0A CN201510851483A CN105512518A CN 105512518 A CN105512518 A CN 105512518A CN 201510851483 A CN201510851483 A CN 201510851483A CN 105512518 A CN105512518 A CN 105512518A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- cryptographic algorithm
- feature
- model
- cognition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000010801 machine learning Methods 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 9
- 230000019771 cognition Effects 0.000 claims description 66
- 238000000605 extraction Methods 0.000 claims description 28
- 230000000694 effects Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 16
- 238000012549 training Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 9
- 238000011160 research Methods 0.000 description 7
- 241000196324 Embryophyta Species 0.000 description 4
- 244000287680 Garcinia dulcis Species 0.000 description 4
- 241001441724 Tetraodontidae Species 0.000 description 2
- 239000000306 component Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013095 identification testing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002123 temporal effect 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本发明涉及密码算法识别技术领域,本发明公开了一种基于唯密文的密码算法识别方法,其具体包括:步骤一:确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件;步骤二:对所生成的密文文件提取其密文数据特征并筛选出关键特征;步骤三:将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;步骤四:对应各密码算法,分别重新生成一些密文文件,同样得到这些新的密文的关键特征,进而作为识别模型的输入,对密码算法进行初步区分识别;步骤五:经过多次优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
Description
技术领域
本发明涉及密码算法识别技术领域,尤其涉及一种基于唯密文的密码算法识别方法和***。
背景技术
信息的保密通信、安全存贮、完整性保护、鉴别、签名和验证等都离不开密码算法的使用,密码算法是信息保密技术的核心,密码算法的安全性有着不可估量的重要作用。Kerckhoffs对密码分析的基本假设中,阐述了密码分析者已知密码算法及其实现的全部细节,现有的密码分析技术也几乎都建立在算法已知的基础上。但在舆情分析中,我们获得的信息就只有密文,这些密文对于密码分析者来讲,采用的密码算法都是未知的。但是有一点可以确认,使用者基本上不是专业的密码学工作者,所以他们采用的密码算法一般都采用公开的密码算法。要对这些加密算法未知的密文进行解密,首当其冲就必须对密文所采用的密码算法进行识别。
目前国内外主要是利用软件逆向分析技术对密码算法进行识别,研究内容一般是提取出密码算法的软件实现特征(包括密码算法的二进制特征、韵律特征、统计特征、语法特征和语义特征等),并在此基础上建立密码算法识别模型,构建密码算法特征数据库。但存在很大局限性:
(1)基本上是从电子设备中应用软件的二进制可执行代码入手,因此需提取出目标二进制文件中包含密码算法的模块。对于代码混淆的软件,常常只能识别部分密码函数,难以识别出具体的密码算法名称。
(2)需对大量汇编代码进行人工分析,自动化分析的水平低,工作量大。
(3)需要得到目标软件。
通过软件逆向分析对密码算法进行识别的技术在只有密文可知的情形下是无能为力的,因此基于唯密文的密码算法识别技术凸显了其重要性和实用前景。目前该技术才处于起步阶段,在国内尚无公开的关于这方面的研究成果,在国外也仅有少部分学者进行过相关研究。但目前国外公开的基于唯密文的密码算法识别技术研究仍存在以下不足:
(1)仅仅做了一些探索性的理论研究,很多实验密文数据不符合实际情形,例如实验中所有的密文对应同一密钥,且没有严格限制测试所用的密文文件尺寸。
(2)所识别密码算法未具体说明算法参数,仅仅是按算法名称来识别密码算法。事实上,例如AES算法按密钥长度(128bit,192bit和256bit)可分为三类,RC5算法按字长值(16,32和64)也可分为三类。
(3)基本上只是对少数的几种分组密码算法进行识别,未发现拓展其他有价值的研究内容。
发明内容
针对现有技术中的密码算法识别方法存在的上述问题,本发明公开了一种基于唯密文的密码算法识别方法和***。
本发明公开了一种基于唯密文的密码算法识别方法,其具体包括如下五个步骤:步骤一:确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致;步骤二:对所生成的密文文件按照一定规则提取其二进制密文数据特征,所提取的密文特征具有可识别性;步骤三:确定了提取规则,按照步骤二得到密文文件的特征,并筛选出关键特征,将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;步骤四:对应各密码算法,分别重新生成一些密文文件,同样按照步骤二、三的特征提取筛选规则,得到这些新的密文的关键特征,进而作为识别模型的输入,对密码算法进行初步区分识别;步骤五:经过多次优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
更进一步地,上述提取其二进制密文数据特征的方法具体包括以下步骤:首先将密文文件中的密文分割成多个大小相同的密文块,然后按提取规则对每个密文块进行特征提取。
更进一步地,上述特征提取的过程具体为:对于每一个密文块,将每8位二进制密文表示为一个0~255的数值,那么该密文文件的特征为一个257维的向量,该向量的前256维分量分别表示出现0~255的频次,最后一维表示该密文块的类别属性,即用数值表示该密文对应于哪一种密码算法。
更进一步地,上述特征提取的过程具体为:对于每一个密文块,以128位密文为一个分组,统计所有分组中128个位置各位置出现1的频次之和,构成一个129维的向量,前128维表示所有分组各位置出现1的频次之和,第129维表示密文块的密码算法类别。
更进一步地,上述筛选出关键特征的方法具体包括以下的步骤:寻找多维特征的一个中心点,设置一个距离阈值,根据与这个中心点的距离来筛选出关键特征,将离中心点较远的特征去掉。
更进一步地,上述优化识别模型的具体步骤为:观察识别算法中的参数设置,密文特征以及识别效果这三者间的关系,进而对识别模型进行优化。
更进一步地,上述识别算法参数,密文特征和识别效果之间的关系确定过程为:(1)生成用于对识别模型进行参数调整的密文文件;(2)先选定一类密文特征,筛选出关键特征,然后在调整算法参数过程中观察识别率,直至获得较高识别率;(3)选取其他类别密文特征,按同样方式调整算法参数;(4)根据识别效果,选择密文特征类别和识别算法参数的最优组合。
本发明还公开了一种基于唯密文的密码算法识别***,其具体包括密码算法确定单元、密文特征提取单元、初步模型建立单元和模型优化单元;所述密码算法确定单元用于确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致;所述密文特征提取单元用于对所生成的密文文件按照一定规则提取其二进制密文数据特征,所提取的密文特征具有可识别性;所述初步模型建立单元用于将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;所述模型优化单元用于对应各密码算法,分别重新生成一些密文文件,同样进行特征提取和筛选,得到这些新的密文的关键特征,进而作为识别模型的输入,对初步的识别模型进行优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
通过采用以上的技术方案,本发明的有益效果为:本发明提出一种基于唯密文的密码算法识别技术,主要解决如下的技术问题:
(1)密文数据中的特征提取技术
对于一个安全强度较高的密码算法,通常对应的二进制密文中0和1的分布是比较均衡的,提取出密文数据中与众不同的特征是关键和难点。因此,构建一种密文特征信息提取规则对密文数据进行预处理,进而提取出关键特征,是本发明首要解决的关键问题。
(2)密码算法正确识别率提升技术
尽管当前有些识别技术能够识别出一些公开密码算法,但其正确识别率并不高,尤其是对于那些使用不同密钥加密的密文,正确识别率更低。目前国外文献资料上基于唯密文的密码算法识别大部分运用的仅仅只是统计方法,少部分运用了Adaboost,以及计算较复杂的人工神经网络算法,在ECB模式下的识别率大约为80%,甚至更低。本发明结合信息论,统计分析,最优化理论以及机器学习方法,从多种密码算法对应的大量密文中提取特征并建立特征匹配库,进而进行基于唯密文的密码算法识别。在ECB工作模式下,对五类常见分组密码(AES,DES,3DES,BLOWFISH和RC5)的密文进行多次算法识别测试,当密文文件大于100KB以上时,识别率能达到90%以上。如果密码算法数量减少,识别率将进一步地提高。因此,提高密码算法正确识别率是本发明突破的关键技术。
(3)密文数据较少时的密码算法识别技术
目前通过密文对密码算法进行识别的研究基本上都基于训练样本和测试样本足够多、足够大的前提,从而能更好地提取密文中的模式和特征。在理论研究过程中,可以产生任意多的训练样本和测试样本,而在实际应用中,测试样本由截获到的密文经过分割得到。如果截获到的密文数据较少,会直接导致测试样本数目减少和测试样本长度变短。测试样本数目减少会导致识别结果不可靠,测试样本长度变短会导致密文中的模式更难检测。因此,本发明切合实际需要,对只有少量密文测试数据的情形进行密码算法识别技术攻关。
本发明仅基于二进制密文数据进行密码算法识别,无需得到生成密文的目标软件,可行性较强。不需要进行人工分析,自动化分析水平和识别效率较高。不仅可对常见密码算法进行识别,而且可确定出分组算法下密文对应的工作模式以及密文分组起点。在分组密码算法下,密文的工作模式和密文的分组起点也可基于本发明建立的识别模型进行识别判定。同一种密码算法在不同工作模式下加密得到的密文是不一致的,可以看作是不同密码算法得到的密文,因此可以进行识别。分组密码的密文是以分组(128bit或64bit)为单位加密得到的,在网络中,截获到的密文数据(如果为分组密码)长度并不一定是64或128的整数倍,所以截获数据的第一位往往不是某个密文分组的起点。将不同的位当作密文分组的起点,会显现出不同的特征,因此提出的识别模型也可针对密文分组起点进行识别,判定出分组的起点位置。
附图说明
图1为密码算法识别模型的具体建立过程。
图2为识别模型进行基于唯密文的密码算法识别的工作过程。
图3为识别模型的训练和测试两个阶段。
图4为识别分组密码的加密模式和分组起点位置确定的工作过程。
图5为分组算法外其他密码算法的识别模型及包含分组算法在内的混合识别模型的建立。
具体实施方式
下面结合说明书附图,详细说明本发明的具体实施方式。
本发明提出了一种基于唯密文的密码算法识别技术,基于统计分析,信息论,最优化理论,机器学习等理论方法建立识别算法框架,能够对一些常用密码算法进行识别。该技术主要包括如下五个步骤:
步骤一:确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致。这里的密码算法主要为对称密码算法,包括分组密码算法和序列密码算法等,这一类算法在实际应用中往往用于对传输信息进行加密。所生成的密文文件按用途可分为三类,第一类用于训练识别模型,第二类用于对识别模型进行参数调整,第三类用于对识别模型进行验证。称第一、二类密文文件为训练文件,第三类密文文件为测试文件。各密码算法对应的密文文件的大小保持一致是指训练文件和测试文件的大小必须一致,比如训练文件设置成500KB大小,对应的测试文件也需设置成500KB。各密码算法对应的密文文件的数量保持一致指各个密码算法下同一类密文文件的数量一致,比如密码算法A对应的一、二、三类密文文件数分别为40,20,100,那么其他密码算法对应的一、二、三类密文文件数也分别为40,20,100。
步骤二:对所生成的密文文件按照一定规则提取其二进制密文数据特征。对于密文文件,提取规则是自定义的,可以是符号组合特征,信息熵值或数值特征等统计信息。首先,将密文文件中的密文分割成多个大小相同的密文块,然后按提取规则对每个密文块进行特征提取。这里只介绍两种提取规则:(1)对于每一个密文块,将每8位二进制密文表示为一个0~255的数值,那么该密文文件的特征为一个257维的向量,该向量的前256维分量分别表示出现0~255的频次,最后一维表示该密文块的类别属性,即用数值表示该密文对应于哪一种密码算法;(2)对于每一个密文块,以128位密文为一个分组,统计所有分组中128个位置各位置出现1的频次之和,构成一个129维的向量,前128维表示所有分组各位置出现1的频次之和,第129维表示密文块的密码算法类别。因此对于不同提取规则,提取的特征也不相同。提取规则没有先验性,但必须保证所提取的密文特征具有可识别性,具体选择哪种提取规则根据模型调整过程中的识别效果来判定,哪一种提取规则最终建立的识别模型对应的识别率高就选择哪一种。一个密文文件包含多个特征,特征数量等于密文块数量,即大小相同的密文文件对应的密文特征数也相同。
步骤三:确定了提取规则,按照步骤二得到密文文件的特征。由于特征数较多,尤其在密文文件较大时,且有部分特征与其他特征的偏差较大,影响最终识别效果,因此需要对这些特征进行筛选。寻找这些多维特征的一个中心点,设置一个距离阈值,根据与这个中心点的距离来筛选出关键特征,将离中心点较远的特征去掉。通过对密文特征筛选,不仅减少了密码算法识别***的运行时间,也避免了对识别模型的训练过度。将最终得到的这些关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型。
步骤四:对应各密码算法,分别重新生成一些密文文件,作为第二类密文文件。同样按照步骤二、三的特征提取筛选规则,得到这些密文的关键特征,进而作为识别模型的输入,对密码算法进行初步区分识别。由于初步建立的识别模型并不完善,通过该步骤便于观察识别算法中的参数设置,密文特征以及识别效果这三者间的关系,进而对识别模型进行优化。识别算法参数,密文特征和识别效果之间的关系确定过程为:(1)生成一些第二类密文文件;(2)先选定一类密文特征,筛选出关键特征,然后在调整算法参数过程中观察识别率,直至获得较高识别率。具体的算法参数由选用的识别算法决定,例如对于SVM算法,参数包括核函数的类别,惩罚值和gamma值。调整参数不需要遍历所有参数组合,只需尝试若干次组合,得到这些识别率中最大值对应的参数组合;(3)选取其他类别密文特征,按同样方式调整算法参数;(4)根据识别效果,选择密文特征类别和识别算法参数的最优组合。该步骤进行多次,直至识别模型达到稳定。按如下方式确定步骤四重复进行次数:假设步骤四已重复进行了N次,从第N+1次开始,如果在连续重复M次步骤四后得到的密文特征类别和识别算法参数的最优组合与第N次保持一致,则认为当前识别模型已经稳定,优化停止,步骤四重复进行次数为M+N。
步骤五:经过多次优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
本发明中密码算法识别模型的具体建立过程如图1所示。首先对应需要识别的密码算法生成密文文件,再从密文文件中提取特征,在这些特征中进行筛选得到关键特征,建立特征匹配数据库。有了识别算法和特征匹配数据库,建立初始的密码算法识别模型。接着对识别模型进行优化改进,先按照优化1的步骤重新生成一些密文文件,通过提取和筛选得到密文关键特征,作为识别模型的输入。接着按照优化2的步骤对识别算法的参数进行设置,使得识别效果最佳。在图1中,关键特征和特征匹配数据库间用虚线箭头连接的目的为:在优化识别模型的过程中,重新生成的密文文件为第二类密文文件,其关键特征直接作为识别模型的输入,而不添加到特征匹配数据库。第一类密文文件用于生成特征匹配数据库,第二类密文文件仅用于调整识别算法中的参数,得到最终稳定的识别模型。此外,优化模型时先进行优化1,再进行优化2。因为要寻找特征类别,算法参数与识别率三者间的关系,优化1是基于特征类别,优化2是基于识别算法参数。先进行优化1指的是先固定特征类别,再进行优化2指在特征类别固定时,调整算法参数,得到较高的识别率,最终得到特征类别和算法参数的最优组合,根据识别效果选择特征类别和算法参数的最优组合,从而得到优化后的识别模型。当优化连续进行M次得到的密文特征类别和识别算法参数的最优组合都不变时,停止优化,得到最终的稳定识别模型。
图2所示的是本发明提出的识别模型进行基于唯密文的密码算法识别的工作过程。特别需要说明的一点是,如果对一段密文进行算法识别,必须保证该密文对应的密码算法信息已经包含在特征匹配数据库中。例如,特征匹配数据库仅包含了AES,DES,RC5密码算法的特征信息,那么该识别模型无法对Blowfish密码进行算法识别,即使输入到模型进行识别,得到的结果也是错误的。通常人们所用的密码算法都是公开的,我们能够随意生成不限数量的密文文件,进而可以提取筛选出这些算法的密文特征,扩充特征匹配数据库。
图2中的分类器是识别模型的核心组成部分,分类器一般只可进行二分类,多个分类器经过组合便可执行多分类操作。分类器数量由特征匹配数据库中包含的密码算法数决定,设密码算法有k种,则分为两种情形:
(1)一对多(oneagainstothers):每一个分类器将其中的一类密码算法和余下的所有密码算法分开,此时需要构造K个分类器,则K=k。在多个二分类器中具有最大输出的类别即为密文对应的密码算法。
(2)一对一(oneagainstone):在任意两类密码算法之间构造一个二分类器,则分类器个数K=k(k-1)/2。每个分类器识别两种不同类别的密码算法,在分类中使用投票策略,对于未知密文每个分类器都有一票,其结果是具有选票最多的密码算法。
最终通过计数器模块的统计结果确定密文对应的密码算法。
本发明中所述的密码算法识别技术基于机器学习中模式识别的思想,但稍微做了一些改进。整个过程分为训练和测试两部分。在训练中,将已知密码算法类别的密文作为训练样本进行学习;在测试中,将未知密码算法类别的密文作为测试样本进行分类。如图3所示,密文A和密文B均为训练数据。首先,对密文A的特征进行提取筛选,建立密码算法特征匹配数据库;然后,通过识别算法和由密文A建立的特征匹配数据库,对密文B进行分析识别,根据识别效果调整识别算法中的参数,从而建立识别模型。作为测试数据,密文C可通过识别模型获知其所用的密码算法。与传统机器学习过程不同,通过加入密文B来调整识别算法参数,进而优化识别模型。
图4所示为识别分组密码的加密模式和分组起点位置确定的流程。在图中,密文A为已知加密模式和分组起点位置的训练样本,密文B为需要识别加密模式和分组起点位置的测试样本,两者均对应分组算法。运用统计分析,信息论,最优化理论,机器学习等理论或方法,获取训练样本数据中各类符号组合的信息熵进行分析,找出可识别的模式特征并建立相应识别模型,然后导入测试样本数据进行加密模式和分组起点位置的识别。
除分组算法外其他密码算法的识别模型及包含分组算法在内的混合识别模型的建立如图5所示。借鉴分组密码已有的识别方法,根据其他类型密码算法的特点构建相应的密码算法识别模型,同时建立包含分组密码算法在内的不同类型密码算法的混合识别模型。
本发明还公开了一种基于唯密文的密码算法识别***,其具体包括密码算法确定单元、密文特征提取单元、初步模型建立单元和模型优化单元;所述密码算法确定单元用于确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致;所述密文特征提取单元用于对所生成的密文文件按照一定规则提取其二进制密文数据特征,所提取的密文特征具有可识别性;所述初步模型建立单元用于将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;所述模型优化单元用于对应各密码算法,分别重新生成一些密文文件,同样进行特征提取和筛选,得到这些新的密文的关键特征,进而作为识别模型的输入,对初步的识别模型进行优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用发明的,发明并不限定仅取前述公开的数值,在不脱离发明的思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (8)
1.一种基于唯密文的密码算法识别方法,其具体包括如下五个步骤:步骤一:确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致;步骤二:对所生成的密文文件按照一定规则提取其二进制密文数据特征,所提取的密文特征具有可识别性;步骤三:确定了提取规则,按照步骤二得到密文文件的特征,筛选出关键特征,将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;步骤四:对应各密码算法,分别重新生成一些密文文件,同样按照步骤二、三的特征提取筛选规则,得到这些新的密文的关键特征,进而作为识别模型的输入,对密码算法进行初步区分识别;步骤五:经过多次优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
2.如权利要求1所述的基于唯密文的密码算法识别方法,其特征在于所述提取其二进制密文数据特征的方法具体包括以下步骤:首先将密文文件中的密文分割成多个大小相同的密文块,然后按提取规则对每个密文块进行特征提取。
3.如权利要求2所述的基于唯密文的密码算法识别方法,其特征在于所述特征提取方法一的过程具体为:对于每一个密文块,将每8位二进制密文表示为一个0~255的数值,那么该密文文件的特征为一个257维的向量,该向量的前256维分量分别表示出现0~255的频次,最后一维表示该密文块的密码算法类别。
4.如权利要求2所述的基于唯密文的密码算法识别方法,其特征在于所述特征提取方法二的过程具体为:对于每一个密文块,以128位密文为一个分组,统计所有分组中128个位置各位置出现1的频次之和,构成一个129维的向量,前128维表示所有分组各位置出现1的频次之和,第129维表示密文块的密码算法类别。
5.如权利要求1所述的基于唯密文的密码算法识别方法,其特征在于所述筛选出关键特征的方法具体包括以下的步骤:寻找多维特征的一个中心点,设置一个距离阈值,根据与这个中心点的距离来筛选出关键特征,将离中心点较远的特征去掉。
6.如权利要求1所述的基于唯密文的密码算法识别方法,其特征在于所述优化识别模型的具体步骤为:观察识别算法中的参数设置,密文特征以及识别效果这三者间的关系,进而对识别模型进行优化。
7.如权利要求6所述的基于唯密文的密码算法识别方法,其特征在于所述识别算法参数,密文特征和识别效果之间的关系确定过程为:(1)生成用于对识别模型进行参数调整的密文文件;(2)先选定一类密文特征,筛选出关键特征,然后在调整算法参数过程中观察识别率,直至获得较高识别率;(3)选取其他类别密文特征,按同样方式调整算法参数;(4)根据识别效果,选择密文特征类别和识别算法参数的最优组合。
8.一种基于唯密文的密码算法识别***,其特征在于具体包括密码算法确定单元、密文特征提取单元、初步模型建立单元和模型优化单元;所述密码算法确定单元用于确定出需要对哪几种密码算法进行识别,然后对应这些需要进行识别的密码算法,分别生成密文文件,各密码算法对应的密文文件的大小和数量保持一致;所述密文特征提取单元用于对所生成的密文文件按照一定规则提取其二进制密文数据特征,所提取的密文特征具有可识别性;所述初步模型建立单元用于将关键特征作为密码算法识别模型的特征匹配数据库,结合机器学习中的识别算法,建立初步的识别模型;所述模型优化单元用于对应各密码算法,分别重新生成一些密文文件,同样进行特征提取和筛选,得到这些新的密文的关键特征,进而作为识别模型的输入,对初步的识别模型进行优化,最终得到一个稳定的识别模型,直接用于基于唯密文信息的密码算法识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510851483.0A CN105512518B (zh) | 2015-11-30 | 2015-11-30 | 一种基于唯密文的密码算法识别方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510851483.0A CN105512518B (zh) | 2015-11-30 | 2015-11-30 | 一种基于唯密文的密码算法识别方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105512518A true CN105512518A (zh) | 2016-04-20 |
CN105512518B CN105512518B (zh) | 2018-11-16 |
Family
ID=55720495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510851483.0A Active CN105512518B (zh) | 2015-11-30 | 2015-11-30 | 一种基于唯密文的密码算法识别方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105512518B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452733A (zh) * | 2016-11-24 | 2017-02-22 | 中国电子科技集团公司第三十研究所 | 一种基于密文分析的分组密码识别方法 |
JP2018054765A (ja) * | 2016-09-27 | 2018-04-05 | 日本電気株式会社 | データ処理装置、データ処理方法、およびプログラム |
CN108650269A (zh) * | 2018-05-16 | 2018-10-12 | 中国科学技术大学 | 一种基于强化学习的分级加密方法及*** |
CN108717514A (zh) * | 2018-05-21 | 2018-10-30 | 中国人民大学 | 一种机器学习中的数据隐私保护方法和*** |
CN109145889A (zh) * | 2018-11-02 | 2019-01-04 | 中国电子科技网络信息安全有限公司 | 一种针对无线信号进行盲估计的明密文信号分类检测方法 |
CN111460472A (zh) * | 2020-03-20 | 2020-07-28 | 西北大学 | 一种基于深度学习图网络的加密算法识别方法 |
CN112953711A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 数据库安全连接***及方法 |
CN114070547A (zh) * | 2021-11-16 | 2022-02-18 | 河南大学 | 基于集成学习的密码算法多层复合识别方法 |
CN114239007A (zh) * | 2021-11-30 | 2022-03-25 | 慧之安信息技术股份有限公司 | 一种基于神经网络的加密算法识别方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799806A (zh) * | 2012-06-14 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种基于树结构的密码算法逻辑表达式识别方法 |
CN104717055A (zh) * | 2015-03-25 | 2015-06-17 | 成都信息工程学院 | 一种针对sm4密码算***输入汉明重量的模板攻击方法 |
CN104978363A (zh) * | 2014-04-11 | 2015-10-14 | 珠海市君天电子科技有限公司 | 一种加密算法的检测方法及*** |
-
2015
- 2015-11-30 CN CN201510851483.0A patent/CN105512518B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799806A (zh) * | 2012-06-14 | 2012-11-28 | 中国人民解放军信息工程大学 | 一种基于树结构的密码算法逻辑表达式识别方法 |
CN104978363A (zh) * | 2014-04-11 | 2015-10-14 | 珠海市君天电子科技有限公司 | 一种加密算法的检测方法及*** |
CN104717055A (zh) * | 2015-03-25 | 2015-06-17 | 成都信息工程学院 | 一种针对sm4密码算***输入汉明重量的模板攻击方法 |
Non-Patent Citations (1)
Title |
---|
李继中等: "密码算法识别技术研究", 《技术研究》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018054765A (ja) * | 2016-09-27 | 2018-04-05 | 日本電気株式会社 | データ処理装置、データ処理方法、およびプログラム |
CN106452733A (zh) * | 2016-11-24 | 2017-02-22 | 中国电子科技集团公司第三十研究所 | 一种基于密文分析的分组密码识别方法 |
CN108650269A (zh) * | 2018-05-16 | 2018-10-12 | 中国科学技术大学 | 一种基于强化学习的分级加密方法及*** |
CN108717514A (zh) * | 2018-05-21 | 2018-10-30 | 中国人民大学 | 一种机器学习中的数据隐私保护方法和*** |
CN108717514B (zh) * | 2018-05-21 | 2020-06-16 | 中国人民大学 | 一种机器学习中的数据隐私保护方法和*** |
CN109145889A (zh) * | 2018-11-02 | 2019-01-04 | 中国电子科技网络信息安全有限公司 | 一种针对无线信号进行盲估计的明密文信号分类检测方法 |
CN109145889B (zh) * | 2018-11-02 | 2022-03-18 | 中国电子科技网络信息安全有限公司 | 一种针对无线信号进行盲估计的明密文信号分类检测方法 |
CN111460472A (zh) * | 2020-03-20 | 2020-07-28 | 西北大学 | 一种基于深度学习图网络的加密算法识别方法 |
CN111460472B (zh) * | 2020-03-20 | 2023-05-16 | 西北大学 | 一种基于深度学习图网络的加密算法识别方法 |
CN112953711A (zh) * | 2021-01-28 | 2021-06-11 | 杉德银卡通信息服务有限公司 | 数据库安全连接***及方法 |
CN114070547A (zh) * | 2021-11-16 | 2022-02-18 | 河南大学 | 基于集成学习的密码算法多层复合识别方法 |
CN114239007A (zh) * | 2021-11-30 | 2022-03-25 | 慧之安信息技术股份有限公司 | 一种基于神经网络的加密算法识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105512518B (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105512518A (zh) | 一种基于唯密文的密码算法识别方法和*** | |
CN108768986A (zh) | 一种加密流量分类方法及服务器、计算机可读存储介质 | |
US20200387594A1 (en) | Graphic Pattern-Based Passcode Generation and Authentication | |
CN103164698B (zh) | 文本指纹库生成方法及装置、文本指纹匹配方法及装置 | |
CN107315954A (zh) | 一种文件类型识别方法及服务器 | |
CN105827582B (zh) | 一种通信加密方法、装置和*** | |
CN106452733A (zh) | 一种基于密文分析的分组密码识别方法 | |
CN109002773A (zh) | 指纹认证方法、***及支持指纹认证功能的终端 | |
CN104009836A (zh) | 加密数据检测方法和*** | |
CN104657254A (zh) | 一种操作信息的处理方法及装置 | |
CN105279614A (zh) | 基于流程的业务审计***及方法 | |
CN105574424A (zh) | 一种大数据加解密处理方法及*** | |
CN104573470A (zh) | 验证码生成***及其方法 | |
CN116232696A (zh) | 基于深度神经网络的加密流量分类方法 | |
CN109784099A (zh) | 一种基于查找表的新型强物理不可克隆函数 | |
CN105718804B (zh) | 一种硬件指令调用控制*** | |
CN107294981A (zh) | 一种认证的方法和设备 | |
CN110851414A (zh) | 一种以聚类法进行边界数据分析的方法及其*** | |
CN113051595B (zh) | 一种验证***的加密方法 | |
CN105898722A (zh) | 一种非正常短信息的鉴别方法、装置和电子设备 | |
CN105303085A (zh) | 文件的分享方法及分享*** | |
CN106933829A (zh) | 一种信息关联方法和设备 | |
CN112911597B (zh) | 基于射频信号精细画像的物联网物理层多级特征提取方法 | |
CN105357011A (zh) | 一种加密、解密方法、***及终端 | |
CN109241381A (zh) | 信息匹配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |