网络安全 / A LEAF IN THE GARDEN

其他密码

网络安全 · crypto / 古典密码。来自 Daily Learning 的学习笔记。

栅栏密码

栅栏密码是一种换位密码,通过将明文按一定的行数排列成栅栏状,然后按行读取密文。

流程

  1. 选择栅栏的行数 nn
  2. 将明文分为 nn 组
  3. 取出每组第 ii 个字符,拼接为密文第 ii 行
  4. 拼接所有行,得到最终密文

示例

明文: a test with railfence cipher
秘钥: 3行

分组

ate stw ith rai lfe nce cip her

取出每组第 ii 个字符

i=1: a s i r l n c h
i=2: t t t a f c i e
i=3: e w h i e e p r

按行拼接

密文: asirlnchtttafcieewhieepr

曲路密码

曲路密码是一种换位密码,通过将明文按矩阵排列,然后按曲线路径读取密文。

流程

  1. 约定矩阵的行数 mm 和列数 nn
  2. 将明文从左到右、从上到下填入矩阵
  3. 按曲线路径(如螺旋、Z字形等)读取矩阵中的字符,拼接为密文

示例

明文: a test with curve cipher
秘钥: 5行4列

矩阵

ates
twit
hcur
veci
pher

按右下角开始,逐列向上的路径读取

密文: rirts ecuie hecwt pvhta