在计算机出现之前,
密码学由基于字符的密码算法构成。不同的密码算法是字符之间的互相替代或是互相之间的换位。好的密码是结合这两种方法,每次进行多次运算。这些算法的安全性是基于算法的保密性,一旦算法被泄露,就很容易被破译,在今天看来它们都是一些比较简单的密码,虽然加密更复杂,但原理没变,只是算法对位而不是对字母进行变换。了解过去的密码仍然是一件很有意义的事。
例如周期为e的换位是将明文字母划分为组,每组e个字母,密钥是1,2,…e的一个置换f。然后按照公式Yi+ne=Xf(i)+ ne,(其中i=1,…e;n=0,1,…)将明文X1X2X3…加密为密文Y1Y2Y3…。解密过程则按照下式进行:Xj+ne=Yf-1(j)+ ne,(其中j=1,…e;n=0,1…)。明文:COMPUTER CRAPHICS MAY BE SLOW BUT ATLEASTTIE’S EXPENSIVE
由于密文字符和明文字符相同,对密文的频数分析将揭示和英语有相似的或然值。这给了密码分析者很好的线索,他能用各种技术去决定字母的准确顺序,以得到明文。密文通过两次换位密码极大增强了安全性。