简介

分组明码是一个十分优良的加密构造,很多罕用加的加密算法应用的都是分组算法,比方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/

最艰深的解读,最粗浅的干货,最简洁的教程,泛滥你不晓得的小技巧等你来发现!

欢送关注我的公众号:「程序那些事」,懂技术,更懂你!