古老密码中的字符、符号频率分布分析附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

🍊个人信条:格物致知,完整Matlab代码及仿真咨询内容私信。

🔥 内容介绍

密码学是信息安全的核心,而对古老密码的研究不仅是历史的回溯,更是对密码学基本原理的深刻理解。本文旨在探讨古老密码(尤其是古典密码)中字符和符号的频率分布规律。通过对多种古典密码(如凯撒密码、维吉尼亚密码、替代密码等)的分析,我们将揭示其在加密过程中如何改变明文的统计特性,以及这种改变如何成为密码分析的重要突破口。研究表明,尽管加密手段多样,但大多数古典密码都未能完全掩盖明文的统计规律,特别是字母频率分布。深入理解这些分布特性,不仅有助于我们掌握古典密码的破解方法,也为现代密码学的设计提供了历史的镜鉴。

引言

自古以来,人类就对信息的保密性有着不懈的追求。从简单的字词替换到复杂的数学算法,密码学随着文明的发展而不断演进。古老密码,作为密码学的早期形态,虽然在现代密码学眼中显得相对原始,但其蕴含的数学和语言学原理至今仍具有重要的研究价值。其中,对字符和符号频率分布的分析,是理解和破解这些密码的关键。

任何语言,无论是口头还是书面,都具有其固有的统计特性。例如,在英语中,“e”是最常见的字母,而在中文中,一些常用字和偏旁部首也具有较高的出现频率。这些统计特性在明文中是显而易见的。当明文经过加密后,这些特性是否会发生改变?如何改变?这些改变对密码分析意味着什么?本文将围绕这些问题展开讨论。

古典密码类型及其对频率分布的影响

古典密码主要分为两类:替换密码和置换密码。

2.1 替换密码

替换密码通过将明文中的每一个字符或字符组替换为另一个字符或字符组来达到加密目的。

2.1.1 单表替换密码

单表替换密码是最简单的替换密码,包括凯撒密码、仿射密码和简单替代密码等。

  • 凯撒密码(Caesar Cipher):凯撒密码是一种简单的移位密码,将明文中的每个字母按照一个固定的偏移量进行替换。例如,如果偏移量为3,'A'会变成'D','B'会变成'E',以此类推。在凯撒密码中,虽然每个字母都发生了变化,但字母之间的相对频率分布保持不变。也就是说,如果明文中'E'出现的频率最高,那么密文中'E'对应的字母(例如'H')出现的频率也将最高。这使得凯撒密码极易通过频率分析法破解。攻击者只需统计密文的字母频率,将其与已知语言的字母频率进行比对,即可推断出可能的偏移量。

  • 简单替代密码(Simple Substitution Cipher):简单替代密码将明文中的每个字母替换为密码表中的另一个字母。例如,'A'可能被替换为'Z','B'被替换为'X'等。虽然替换关系比凯撒密码更复杂,但每个明文字母总是被替换为相同的密文字母。因此,其本质上仍然是一种单表替换。这意味着,明文的字母频率分布会直接映射到密文的字母频率分布上。尽管密文看起来更加混乱,但通过统计密文的字母频率,并与目标语言的字母频率进行匹配,攻击者仍然可以相对容易地破解这种密码。例如,如果英语密文中出现频率最高的字母是'X',而英语中最常见的字母是'E',那么很可能'X'对应着'E'。

2.1.2 多表替换密码

多表替换密码,以维吉尼亚密码(Vigenère Cipher)为代表,试图通过使用多个替换表来对抗频率分析。

  • 维吉尼亚密码(Vigenère Cipher)

    :维吉尼亚密码使用一个关键词来决定每个字母的替换方式。关键词的每个字母对应一个凯撒密码的偏移量。例如,如果关键词是“KEY”,明文的第一个字母使用“K”对应的偏移量,第二个字母使用“E”对应的偏移量,第三个字母使用“Y”对应的偏移量,第四个字母又回到“K”对应的偏移量,如此循环。这种方法使得同一个明文字母在密文中可能被替换为不同的密文字母,从而在一定程度上“平滑”了密文的字母频率分布。然而,维吉尼亚密码的弱点在于关键词的重复性。当关键词较短时,密文的周期性便会显现。通过卡西斯基测试(Kasiski Test)或指数重合(Index of Coincidence)等方法,可以确定关键词的长度,然后将密文分解成多个凯撒密码,分别进行频率分析。尽管维吉尼亚密码比单表替换密码更具抵抗性,但其仍然未能完全消除语言的统计特性。

2.2 置换密码

置换密码通过改变明文字母的顺序来加密,而不是替换字母本身。

  • 栅栏密码(Rail Fence Cipher):栅栏密码是一种简单的置换密码,将明文写在虚拟的“栅栏”上,然后按行读取。例如,明文“WE ARE DISCOVERED FLEE AT ONCE”以两行栅栏加密:

  • 密文为“WEAECVRDFEAOCERDSOEELEATNE”。在栅栏密码中,明文中的字母本身并没有改变,只是它们的位置发生了变化。因此,密文的字母频率分布与明文的字母频率分布完全相同。这使得栅栏密码相对容易识别,因为它的密文仍然保留了明文的语言统计特性。攻击者只需尝试不同的栅栏行数,并检查解密结果的语言可读性,即可破解。

  • 列置换密码(Columnar Transposition Cipher):列置换密码使用一个关键词来确定列的顺序。明文按行写入一个矩形,然后按关键词的字母顺序读取列。例如,关键词为“ZEBRAS”,明文为“WE ARE DISCOVERED FLEE AT ONCE”。

  • 密文为“EVLNA CDSEEDH WROEESO RIWEE”。与栅栏密码类似,列置换密码也不会改变明文字母的频率分布。密文的字母频率与明文完全一致。破解列置换密码的关键在于找出正确的列顺序,这通常可以通过猜测关键词长度、尝试不同的置换模式以及利用语言的二元组、三元组频率等统计特性进行辅助。

频率分析在破解古典密码中的应用

频率分析是密码分析中最基本也是最强大的工具之一,尤其对于古典密码。其核心思想是利用语言中字符和符号出现频率的不均匀性来推断密文与明文之间的对应关系。

  • 字母频率统计:对于单表替换密码,统计密文中每个字母的出现次数,并计算其百分比。然后将这些百分比与目标语言(如英语或汉语)的已知字母频率进行比对。出现频率最高的密文字母很可能对应着目标语言中频率最高的明文字母。通过这种一一对应,可以逐步推断出替换表。

  • 二元组和三元组频率:除了单个字母的频率,字母组合(二元组、三元组等)的频率也具有重要的统计意义。例如,在英语中,“TH”是一个非常常见的二元组,“THE”是一个非常常见的三元组。在密文中寻找这些高频的二元组或三元组,可以进一步缩小猜测范围,提高破解效率。对于置换密码,虽然单个字母频率不变,但二元组和三元组的顺序会发生改变,这也可以作为分析的突破口。

  • 关键词长度的确定:对于多表替换密码(如维吉尼亚密码),确定关键词的长度是破解的第一步。卡西斯基测试通过寻找密文中重复出现的字母序列,并计算这些序列之间的距离,来推断关键词的可能长度。指数重合则通过计算密文的字母重合指数,与随机文本和已知语言的重合指数进行比较,来估计关键词长度。一旦关键词长度确定,密文就可以分解为多个单表替换密码,然后分别进行频率分析。

中文古老密码的频率分析

虽然上述讨论主要基于西方的字母密码,但频率分析的原理同样适用于中文古老密码。中文的特点在于其非字母系统,而是由方块字组成。然而,中文也存在着字、词、偏旁部首的频率分布规律。

  • 单字频率:在中文文本中,一些常用字(如“的”、“了”、“是”等)的出现频率远高于其他字。如果一个中文古老密码采用的是单字替换(即将一个明文字替换为另一个密文字),那么密文的单字频率分布将直接反映明文的单字频率分布。

  • 词语频率:中文中词语的频率分布也具有显著的统计特性。高频词语(如“我们”、“他们”、“一个”)在密文中如果仍然保持其相对高频的特性,则可以作为破解的线索。

  • 偏旁部首频率:中文汉字由偏旁部首组成,一些常用偏旁(如“氵”、“口”、“木”等)也具有较高的出现频率。虽然分析难度较大,但在某些特定的中文密码中,偏旁部首的频率分布也可能提供破解线索。

结论与展望

对古老密码中字符、符号频率分布的分析,不仅揭示了古典密码的脆弱性,也为现代密码学的设计提供了深刻的启示。古典密码之所以容易被频率分析破解,根本原因在于它们未能充分混淆明文的统计特性。

通过对频率分布规律的深入理解,我们认识到:

  1. 统计特性是语言的固有属性

    :任何自然语言都具有独特的统计特性,包括字符、词语、短语的频率分布。

  2. 加密的目标之一是掩盖统计特性

    :优秀的密码系统应该能够彻底打乱明文的统计特性,使其在密文中呈现出近似随机的分布,从而对抗频率分析。

  3. 多表替换和置换是初步尝试

    :维吉尼亚密码等试图通过多表替换来模糊频率分布,置换密码则改变了字符顺序,但它们都未能完全消除语言的统计痕迹。

现代密码学的发展,如使用分组密码、流密码以及更复杂的数学算法,旨在从根本上消除明文与密文之间的统计关联。通过扩散(diffusion)和混淆(confusion)等技术,现代密码学能够将明文的微小变化扩散到整个密文,并将明文与密钥之间的关系复杂化,使得频率分析等统计方法几乎无法奏效。

尽管如此,研究古老密码中的频率分布仍然具有重要的教学和研究价值。它不仅是密码学史的重要组成部分,更是理解密码学基本原理、掌握密码分析思想的生动案例。通过对这些简单密码的分析,我们可以更好地 appreciating 现代密码学的精妙与强大,并为未来密码系统的设计提供历史的智慧。

⛳️ 运行结果

图片

图片

🔗 参考文献

[1] 马明卫.Meta-elliptical copulas函数在干旱分析中的应用研究[J].西北农林科技大学, 2011.

[2] 郝宇龙,荆强,张进秋.基于MATLAB的路面不平度的频谱分析[C]//恒润科技.恒润科技, 2006.

[3] 李清富,闫鹏飞,孙静涛,等.水文频率曲线绘制的Matlab程序设计[J].河南科学, 2013, 31(8):5.DOI:10.3969/j.issn.1004-3918.2013.08.035.

📣 部分代码

🎈 部分理论引用网络文献,若有侵权联系博主删除

 👇 关注我领取海量matlab电子书和数学建模资料 

🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:

🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维

2.1 bp时序、回归预测和分类

2.2 ENS声神经网络时序、回归预测和分类

2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类

2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类

2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类

2.7 ELMAN递归神经网络时序、回归\预测和分类

2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类

2.9 RBF径向基神经网络时序、回归预测和分类

2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP

👇

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值