跳转至

密码与代码

本章节主要介绍 Puzzle Hunt 里出现的密码 ( Cipher )代码 ( Code ) 知识。

本章节的目录以对应密码或代码的英文翻译为排序依据。

什么是密码?

密码 ( Cipher ) 的核心思想基于传递信息的保密,将想要传递的信息通过某种方式进行加密, 将这条信息转换成一般人看不懂的形式。

古代由于传递军事机密的需要,书写的内容往往并不是能直接读懂的文字,也就是明文 ( plaintext ) 。 将明文通过某种方式改写成密文 ( ciphertext ) ,然后传递出去。接收消息的那一方再将这种方式倒过来用, 将密文还原成明文,即可读懂发信方的意思。

绝大多数的加密、解密方式需要用到一个叫做密钥 ( key ) 的东西。密钥的内容与用到的加密方式有关。 根据密钥以及加密方式可以实现一组转化。

PH 中常见的密码包括凯撒密码、栅栏密码、维吉尼亚密码等。有的时候这些密码并不单独出现,他们可以进行组合,进行多重转化。

这里的密码与口令 ( Password ) 不是一回事,尽管后者也经常被称为密码。

PH 中常用的密码在密码学中又称为古典密码。这些密码在历史中经常被使用,但由于二战后计算机与电子学的发展,这些密码现在已经很少使用了。

什么是代码?

这里的代码 ( Code ) 不是指编程的写代码 ( coding ) 。

代码 ( Code ) 的作用是将一些常用的字符或者单词进行编码 ( encoding ), 使用大概 3 到 5 个字母或数字取代这些字符或单词。

举个简单的例子,每一座民用机场都有一个 3 个字母的编码, 叫做机场代码。你的行李票上打印着你这趟旅程的行程,比如从上海 (PVG) 到首尔 (ICN) 转机,再到洛杉矶 (LAX) 入境美国, 这样首尔机场的工作人员在看到你的行李的时候,就知道应该把你的行李搬到飞往洛杉矶的那班航班上面。

代码通常来说都会有一个对应的代码本 ( code book ),用以查询代码与所表示单词的对应关系。