古典密码之置换密码
古典密码编码方法主要有两种,即置换和代换。
置换密码(换位密码):是一种早期的加密方法,与明文的字母保持相同,区别是顺序被打乱了。
加密方法:纵行换位密码,在简单的纵行换位密码中,明文以固定的宽度水平的写在一张图表纸上,密文按垂直方向读出,解密就是密文按相同的宽度垂直的写在图表纸上,然后水平的读出明文。
例:I LIKE ENGLISH SO MUCH.按固定长5分组,即每行5个字母,排列如下图所示:
密文:IESU LNHC IGSH KLO EIM
列置换
加密:将明文按固定长m分组,即每行m个字母,在密钥控制下按某一顺序交换列,最后按列优先的顺序依次读出,即产生了密文。解密:逆过程。
例:I LIKE ENGLISH SO MUCH.密钥为24135,按固定长5分组,即每行5个字母,排列如下图所示:
按密钥的顺序读出密文:LNHC KLO IESU IGSH EIM
周期置换
很大程度上同列置换,只不过加、解密时,在列交换后是按行优先的顺序向下进行。
例:I LIKE ENGLISH SO MUCH.周期为5,每行为5个字母,排列如下图所示:
密文:IESU LNHC IGSH KLOE IM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!