随笔 - 14  文章 - 2  评论 - 4  阅读 - 6514

古典密码之置换密码

古典密码编码方法主要有两种,即置换和代换。

置换密码(换位密码):是一种早期的加密方法,与明文的字母保持相同,区别是顺序被打乱了。

加密方法:纵行换位密码,在简单的纵行换位密码中,明文以固定的宽度水平的写在一张图表纸上,密文按垂直方向读出,解密就是密文按相同的宽度垂直的写在图表纸上,然后水平的读出明文。

例: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

 

posted on   YG2  阅读(2383)  评论(1编辑  收藏  举报
编辑推荐:
· 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 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示