简介
分组明码是一个十分优良的加密构造,很多罕用加的加密算法应用的都是分组算法,比方 DES。SAFER 示意的也是一种分组明码算法。一起来看看吧。
SAFER 简介
SAFER 的全称是 Secure And Fast Encryption Routine,在密码学中,SAFER 次要是由 James Massey(IDEA 的设计师之一)代表 Cylink 公司设计的一组分组明码。
SAFER 次要有四种类型别离是:SAFER K,SAFER SK,SAFER+ 和 SAFER++。
其中 SAFER K 和 SAFER SK 是比拟晚期的设计,共享雷同的加密函数,然而轮次和密钥调度是不一样的。
前面的 SAFER+ 和 SAFER++ 是作为 AES 算法的候选算法提交给 NESSIE 的。SAFER 系列中的所有算法都没有专利限度,能够收费应用。
SAFER K 和 SAFER SK
第一个 SAFER 明码是由 Massey 在 1993 年公布的 SAFER K-64,具备 64 位块大小。“K-64”示意 64 位的密钥大小。
因为 64 位的块太小了,不适宜加密大的数据,所以第二年,Massey 公布了反对 128 位的变体,叫做:SAFER K-128。
然而,Lars Knudsen 和 Sean Murphy 发现这个版本存在一些问题,于是将密钥调度依照 Knudsen 的倡议从新设计。这些变种算法别离被命名为 SAFER SK-64 和 SAFER SK-128。
其中“SK”代表 ”Strengthened Key schedule” 也就是强化过的工夫调度。
除此之外,还有一种 40 位块大小的变种算法 SAFER SK-40。
咱们应用一个图来看下 SAFER K 算法的根本流程:
从最下面开始,是明文的输出阶段,每个明文都被分成 8 块。
接着就是密钥混合阶段,在这个阶段,明文别离和子密钥进行加法模 256 或者 XOR 运算。
而后是替换阶段,将上一阶段生成的后果通过两个相同的 S 盒映射成为新的数据。
这两个 S 盒别离是由 45x 和 log45 这两个函数派生进去的。有想理解 S 盒的敌人能够参考“密码学系列之:blowfish 对称密钥分组算法”一文。
而后是第二次的密钥混合阶段。
在第二次密钥混合阶段之后,会应用 pseudo-Hadamard transform (PHT) 来进行扩散。
这四个阶段组成了一轮加密。
SAFER+ 和 SAFER++
SAFER+ 和 SAFER++ 是对原有的 SAFER 加密算法的改良。他们是由亚美尼亚明码学家 Gurgen Khachatrian(亚美尼亚大学)和 Melsik Kuregian 与 Massey 独特设计的。
SAFER + 是在 1998 年提出的,然而是以 AES 的候选算法提交的,它的块大小是 128 位。蓝牙的密钥是基于 SAFER + 的自定义算法来实现的(称为 E21 和 E22),
SAFER ++ 是在 2000 年通过两个版本提交给 NESSIE 我的项目的,一个版本是 64 位,另一个版本是 128 位。
本文已收录于 http://www.flydean.com/safer/
最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!
欢送关注我的公众号:「程序那些事」, 懂技术,更懂你!