私密密钥算法是密码学的基本算法。两人共享一个共同密钥,一个人用密钥加密明文,产生密文,另一个人用密钥脱密密文,恢复出明文。

DES算法

DES算法是一种被公认为世界标准达16年以上的私密密钥算法,纵然它面对若干年头的密码分析攻击而令人瞩目地生存了下来,但毕竟已显出“年事已高”的迹象。数据加密标准是一种分组密码,它以64比特分组加密数据。由算法的一端进入64比特明文组。从算法的另一端出来61比特密文组。加密和脱密算法相同。DES由16轮组成,每一轮都是一个代替—置换网络—明文比特被弄乱并与密钥混合。轮的核心是S盒—代替盒。在代替盒里,分组中的特定二进制数码代替了其他二进制数码。算法的密钥长度为56比特,不过密钥常被表示为64比特的数,这是因为每个第8比特被用做奇偶校验而被算法略去不记。密钥可以是任意的56比特数,也可以在任意时间变更,少量的数被认为弱密钥,可以很容易地把他们避开。全部算法安全性取决于密钥。

三重DES算法

提高DES安全性的一种比较实在的办法是用两个不同的密钥两次加密成一个分组。首先,用第一个密钥加密分组,然后再用第二个私密密钥加密它。脱密则是逆过程。产生双重加密的密文分组应当是非常难于用穷举搜索法破译的。

C=EK2(EK1P)

P=DK1(DK2C)

具有独立密钥的DES

另一个变化是每一轮(选代)都使用一个不同的子密钥,而不是由单独一个56比特密钥产生它们。由于16轮的每一轮都使用48个密钥比特,这意味着这个变型的密钥长度为768个比特。这个变型能大大地提高DES的复杂性。

带有交换S盒的DES算法

其他DES改进型皆以S盒为中心。有的设计使S盒的顺序可变且依赖于密钥,其他 一些设计使S盒本身的内容可变。更换DES的8个S盒的顺序可以使DES变得更加脆弱,特定代替顺序的16轮DES可在246步之内被破译。具有随机S盒的DES已被证明非常容易破译。

Lucifer算法

Lucifer是IBM公司在70年代设计的一种分组算法,它是IBM对之进行改进成为DES算法的原始算法。Lucifer具有可变的轮数及可变的分组长度,其密钥长度为128比特,这使得针对Lucifer的强力攻击成为不可行的事。

FEAL-N

FELAL-N密码算法是日本NTT的清水和宫口设计的,他们的想法是形成一种类似与DES算法,但却是一种其间的每一轮都比DES算法强的多的算法。因此,算法的轮数会较少而运算速度快。FEAL-4是最后得到的结果。

LOKI算法

LOKI是作为DES的一种潜在代替算法于1990年在密码学界首次亮相的。像DES一样,它以64比特分组加密数据。LOKI使用64比特密钥,不存在如DES所拥有的奇偶校验比特,所有64比特都是密钥部分。LOKI未取得专利权,任何人都可以实现或使用该算法。

Khufu和khafre算法

Khufu是一种64比特分组密码,总体设计同于DES算法,它拥有512比特(64字节)长度的密钥。Khafre与Khufu类似,预定用于不能进行预先计算的场合。S盒不能进行预先计算,密钥长度听任公开。