代替密码(Substitution Cipher)
(目录)
原理
一般单代替密码的原理是以26个英文字母集合上的一个置换Π(派)为密钥,对明文中的每一个字母依次进行变换,变换的方式是把明文中的每个字母用它在置换出来的对应项去代替。
用自己的话来说:
先按一定顺序写出26个英文字母,这里我们按字母表的顺序,
例如:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
然后按照某种自定义的方法把上面的顺序打乱,依次排列在下方,就形成了最简单的代替密码
例如:
|原表| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|代替| Q | W | E | R | T | Y | U | I | O | P | A | S | D | F | G | H | J | K | L | Z | X | C | V | B | N | M |
这个对应表就是所谓的密钥
密钥
同上表
|原表| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|代替| Q | W | E | R | T | Y | U | I | O | P | A | S | D | F | G | H | J | K | L | Z | X | C | V | B | N | M |
加密
我们用上面这个表来加密一段话看看效果 例如: M明文:my name is yg ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ C密文:dn fqdt ol nu
对应密钥写出密文为:dn fqdt ol nu
解密
将加密的密钥 逆置换 后可以得到解密的密钥(将'代替'这一行重新排序,以这行为主)
|代替| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|原表| K | X | V | M | C | N | O | P | H | Q | R | S | Z | Y | I | J | A | D | L | E | G | W | B | U | F | T |
将密文用原表的字母代替就可以完成解密得到明文 C密文:dn fqdt ol nu ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ M明文:my name is yg