密码体制识别是现实中开展密码分析的前提,属于密码区分分析范畴。
可以进行密码体制识别的原因:某一特定密码体制产生的密文与其他体制产生的秘闻在空间分布上有一定的差异,从而可以提取出刻画相应差异的特征,作为识别密码体制的依据。
密码体制识别常用方法:统计学方法和机器学习。
判断密码体制识别效果:设计识别指标,根据提取出的特征计算指标值,通过指标值判断识别效果。
密码体制识别任务及流程:可视为机器学习中的有监督分类任务。
流程:
- 采集已知密码体制的密文F1.F2,…Fn
- 对密文进行特征提取,得到一组特征集FeaM={Fea1,Fea2…Fean}
- 确认密文的密码体制为标签Lab=(lab1,lab2…labn)
- 将处理过的特征和标签放入分类器分类。
- 对一个体制未知的密文F做特征提取,得到Fea。
- 将Fea放入模型做预测
簇分
在分层识别中,通过簇分识别出待识别密码体制所属的体制类别(簇),进而在特定簇下开展单分,识别出具体的密码体制。
簇分的五元组:M为待识别密码体制集合,C为簇的集合,f为簇分映射,O为识别方案,p为识别准确率。
三种具体的簇分
从加解密角度看,学界普遍认同的体制类别划分如下:
- 古典密码体制,现代密码体制
- 古典密码体制,对称密码体制,费对称密码体制
- 古典密码体制,序列密码体制、分组密码体制、公钥密码体制
按照三种划分做簇分
CM-簇分:
密码体制集合M,簇集合Ccm(包含古典密码体制Cc,现代密码体制Cm),fcm为从M到Ccm的簇分映射,Ocm为识别方案,pcm为准确率,识别过程为CM-簇分。
CSN-簇分:
密码体制集合M,簇集合Ccsn(包含古典密码体制,对称密码体制,费对称密码体制),fcsn为从M到Ccsn的簇分映射,Ocsn为识别方案,pcsn为准确率,识别过程为CSN-簇分。
CSBP-簇分:
密码体制集合M,簇集合Ccsbp(包含古典密码体制,序列密码体制、分组密码体制、公钥密码体制),fcsbp为从M到Ccsbp的簇分映射,Ocsbp为识别方案,pcsbp为准确率,识别过程为CSBP-簇分。
因每一单分过程都应在某一确定簇内进行, 故讨论单分时, 总假设有一在其之先的簇分过程。
单分
直接对具体的密码体制展开识别叫密码的单层体制识别方案(单分)如下式, SLRO代表方案进行密码体制识别的工作流程,fea表示识别方案对密文提取的特征,CA表示方案采取的分类方法。
密码体制的单分识别方案公式如下:
Δ为簇分过程,Ms为密码体制集合,Cms为密码体制集合对应的簇,U为识别方案,qU为准确率