替换式密码

简易替换密码

简易替换加密是一种以特定方式改变字母表上字母顺序，并以此顺序书写的加密方式。这样一张改变了字母次序的字母表即为‘替换表’。替换表可以以偏移或逆转（分别为凯撒密码和阿特巴希密码（英语：Atbash））或更复杂方式构造，此时称之为‘混合表’。传统上会先把一个关键词写在字母表最前面，再删去重复字母，这样就能得到一个混合表。

简易替换密码的安全性

简易替换密码的缺点是字母表中的最后几个字母（其中大多是低使用频率）往往留在最后。加强的办法是在加密后再做一次纵栏式移调，但很多时也没有这样做。
尽管加密用到的密钥可能性很大（26! ≈ 288.4，若88位元），但要破解单表加密却异常容易。只要提供有合理长度的密文（见下文），密码分析就能通过频率分布的分析推断最常见的单元的意义，即频率分析。这使破解者可用剔除法，把有个单元的意思解出来，见一个破解的例子。在某些情况下，可以从它们的字母的格局来破解，例如“attract”和“osseous”是英语中仅有的“ABBCADB”模式的“根”，即如遇见有简易替换密码的密文中出现“ABBCADB”，即可猜测其为“attract”或“osseous”。康乐及报纸拼图等包含着不少这种加密法。
按照英语的单一性距离，密文平均最少需要27.6个字母才能破解混合表简易替换密码。而在正常情况下，假设遇到的是新排列方式，但通常都需要约50个字母（当中有些密文可以用得比较少）。然而，当密文有极平坦的频率分布，密文长度的需求可能越来越大。同时，加密者可以添加空字元来造成平坦的频率分布。
另外，有另一种方法来“伪造”频率分布，名为漏字文。顾名思义，这些文章会有意避免使用某个或某几个特定字母。如果漏掉的是E，那么若然继续以正常的频率分析（估计最高频率者为E）就不可能找出真正的明文。

谐音替换法

早期的加密中，为增加替换式密码应付频率分析攻击的强度，有时会采用“谐音”来改变明文字母频率。在这种加密算法中，明文字母可以映射到多个密文符号。通常情况下，频率最高的明文符号（如E）会比低使用频率的字母（如X）有更多的谐音符号，使频率分布更为平坦，让分析更困难。
但亦因此，只是字母之间互相替换就会造成不够分配，从而有了好几种不同的解决方法。其中最简单的方式可以算是用1-0共10个数字作为某些字母的替换。另一种方法则是将现有的字母分开成原字母配以简单的变化、大写、小写、上下倒转的字母、镜像文字（左右倒转）等。虽然更为艺术化，却不代表一定更安全，其中一些谐音替换法全部使用新发明的奇特符号来代表字母。（参见伏尼契手稿以及爱伦·坡所著的金甲虫）
一种有趣的变化名为命名密码法。此加密法有许多不同的版本，之间的区别来自其前缀。而该前缀来自宣读来访贵宾称号的公职人员名字。这种密码结合一个小型密码本组成一个大型的谐音替换表。在此密码中，常用单词会按密码本加密，余下字母则按另一本密码本加密，两者符号最后在密文中混起来，以减低简易替换密码中被破解的风险。路易十四所使用的密码是罗西诺尔家族创立的伟大密码，该密码直至法国王室废止后百年才被破解。

15世纪早期至18世纪后期，命名密码是外交文件及间谍最常使用的加密，然而其中大多数仍然使用加密性能较差的命名密码。虽然由十六世纪中叶开始政府情报机构的密码分析员就破解部分命名密码法，但使用者通常的反应仅仅
是加大谐音替换表。十八世纪后期，谐音替换系统开始消亡之时，一些命名密码已有高达5万个符号。
然而，并非所有命名密码法都已被破解。直到今天，仍然不时有新的命名密码被破解的新闻。
比尔密码是另一个谐音替换法的例子。这个故事指在1819年至1821年期间由一个加密文本来隐藏美国独立宣言中所述的宝藏。在这里，每个密文字元由一个数字替换。数字代表着独立宣言中第几个字的第一个字母。独立宣言中许多字的首字母都是一样的，而密文数字能是其中任何一个，例如正文中第二和第六个字都是“I”开头，即“I”既可以是2，又可以是6。而解读仅仅就是把密文中的数字（如代数X），放到独立宣言中查找（第X个字的首字母）。
斯塔尔则描述了另一个谐音替换密码，其密码是第一次尝试在电脑的数据库上加密。在斯塔尔的方法中，无论是明文还是密文都是以二进制字符串存储，因此谐音的数量可以非常大，使得频率分析比平常更为困难。
书本式加密与散列板都是谐音替换密码的一种。

表格式替换加密

在表格式替换密码中，明文不再单独替换某个字母，而是一次过替换较大的字母单元（通常为一对字母）。第一个优点是频率分布比单个字母时更平坦（虽然实际上并不平坦，因为在日常语言中，“TH”就远远比“XQ”常见）。其次，其产生的大量的符号，相应地需要更多的密文来进行高效的字母频率分析。
为了替换每“对”字母，将需要共676个符号（）。在之前说过的《书写中的隐蔽字符》一书中，德拉波尔塔提出了这样一个系统：用一个20 x 20的表格（意大利或拉丁文字中的20个字母。），其中填上400个特别的字形。然而，该系统实为不切实际，更有可能从来没有实际使用过。
最早的实用表格式替换密码是查尔斯·惠斯登爵士于1854年所创的波雷费密码。在此密码中，5×5的方格中填满了混合字母（两个字母，通常I和J并排，即I等于J）。明文中每两个字母为一单元，通常这个单元会在表上组成一个四方形（单元内容占其中两个角），然后取另外两角为密文。当单元内容在同一列或同一行时（即无法组成四方形），同列者密文为明文往右偏移一格；同行者密文为明文往下偏移一格。单元中两者为同字母者于该单之前添加X（或Q）（即其后全体往后偏移一格）。波雷费密码于第二次波耳战争开始直到第二次世界大战为止一直用于军事用途。
在1901年，费利克斯·第利斯塔推出了其他一些实际可用的表格式替换加密，包括二分密码、四方密码及三分密码。
。
因为希尔密码完全建基于线性关系上，它会很容易受到己知明文攻击，因此，有时它会结合一些非线性步骤来减少被击破的机会。

机械替换加密

从第一次世界大战时期开始，直到电脑被广泛使用（某些政府约在20世纪50至60年代开始使；其他组织在十年或更后，1975年前则未有个人使用的纪录），多字母替换密码一直在机械上被广泛应用。几位发明家于同一时间有着类似的想法，1919年间已有四次关于旋转盘的专利申请。其中最重要并著名的可算是德意志国防军于1930年代所用的恩尼格玛密码机。同时期盟军亦有其加密系统：美国的Sigaba及英国的Typex。
它们的相似之处在于它们都使用机械式旋转盘来加密。由于不止一个旋转盘的组成密文，如果每个字皆配一符号，符号用量将高于天文数字。然而，这些机器的早期版本极易被破解。信号情报服务处的威廉F.弗里德曼威廉·F·弗里德曼于早期就发现了赫本旋转器的漏洞；政府密码学校的第利温·诺克斯在第二次世界大战前就破解了恩尼格玛密码机中没有接线板的版本。布莱切利园的分析员在后期才能破解恩尼格玛密码机的军用版本，其灵感来自波兰数学家马里安·雷耶夫斯基。
SIGABA与Typex加密的讯息民间则至今没有被破解的消息。

一次性密码本

一次性密码本是一种颇特别的替换密码。它由约瑟夫·马宾于第一次世界大战后期建立。克劳德·夏农约在第二次世界大战期间，在数学上证明它的保密性牢不可破，其过程于1940年末首次出版。在常见的做法中，一次性密码本可以被称为一个单次替换密码。通常情况下，明文字母将以某种方式（通常为逻辑异或）与关键字组合（而不是替换掉）。
一次性密码本在大多数情况下都是不切实际或难以使用，因为它需要关键字跟明文一样（或更）长、“完全”随机、只能使用一次，更要保证除了发送者和接收者之外其它所有人都不知道。当这些条件有一项没有执行，甚至只是极其轻微的违反，一次性密码本便再也不是坚不可摧，甚至一触即溃。美国曾于第二次世界大战期间用非随机的一次性密码本加密讯息，再将其送往苏联。美国的密码学家于40年代开始就能破解极少数一次性密码本。（见维诺那计划）
古巴危机后，莫斯科-华盛顿热线中开始使用一次性密码本来加密讯息。

现代密码学中的替换加密

上述的替换式密码，尤其那些是只需使用铅笔和纸张的手动加密密码，都不再经常使用。然而，即使到了今天，替换加密的概念仍在进步。从一个够新奇的角度来看，现代位元导向式的分组密码（如资料加密标准及高阶加密标准）仍可视为使用大量二进制字母的替换加密。此外，分组密码通常包含较小的替换表，名为S-box，其同时包含逻辑异或算法。参见替换网络。