簡述SAFER加密算法

在現(xiàn)代密碼學(xué)中,分組密碼是一個常見且優(yōu)秀的加密結(jié)構(gòu),很多我們熟知的加密算法都是采用分組密碼算法,如DES、AES等等。那么,今天我們就來了解一種分組加密算法——SAFER加密算法。

SAFER加密算法簡介

確切的來說,SAFER加密算法不能算是“一種”加密算法,而是“一系列”,它主要分為SAFER K, SAFER SK ,SAFER+ 和SAFER++這四種類型。其中SAFER K 和 SAFER SK 是比較早期的設(shè)計,共享相同的加密函數(shù),但是輪次和密鑰調(diào)度是不一樣的。SAFER+ 是AES算法的候選算法之一,而SAFER++ 則是NESSIE計劃中十七個分組加密算法候選之一。

SAFER加密算法

SAFER加密算法發(fā)展史

第一個SAFER密碼是由Massey在1993年發(fā)布的SAFER K-64,具有64位塊大小?!癒-64”表示64位的密鑰大小。因為64位的塊太小了,不適合加密大的數(shù)據(jù),所以第二年,Massey發(fā)布了支持128位的變體,叫做SAFER K-128。

但是,Lars Knudsen和Sean Murphy發(fā)現(xiàn)這個版本存在一些問題,于是將密鑰調(diào)度按照Knudsen的建議從新設(shè)計。這些變種算法分別被命名為SAFER SK-64和SAFER SK-128。其中 “SK”代表”Strengthened Key schedule”也就是強化過的時間調(diào)度。除此之外,還有一種40位塊大小的變種算法SAFER SK-40。

SAFER+ 和 SAFER++ 是對原有的SAFER加密算法的改進,是由亞美尼亞密碼學(xué)家Gurgen Khachatrian和Melsik Kuregian與Massey共同設(shè)計的。

SAFER + 是在1998年提出的,但是是以AES的候選算法提交的,它的塊大小是128位。

SAFER ++ 是在2000年通過兩個版本提交給NESSIE項目的,一個版本是64位,另一個版本是128位。

SAFER加密算法

SAFER算法的特點

  • 它們都是面向字節(jié)的算法,如、解密及密鑰擴展算法中使用的都是字節(jié)到字節(jié)的運算、這使得它在Smart卡等方面的應(yīng)用很有優(yōu)勢;
  • 加密的輪函數(shù)采用“代換2線性變換”(S2LP)結(jié)構(gòu),在迭代的每一輪中,先對輪輸入作用一個由輪子密鑰控制的可逆函數(shù) S,然后被作用于一個可逆的線性變換LP。由于置換是一種特殊的線性變換,這種結(jié)構(gòu)可以看為SP結(jié)構(gòu)的推廣;
  • 在密鑰擴展算法中,使用了“密鑰偏差”,即給每一個子密鑰加上一個常數(shù),避免產(chǎn)生弱密鑰。

從最早的SAFER K到后來的 SAFER++,SAFER系列算法不斷得到改進,使得算法的安全程度更高,抵抗現(xiàn)有攻擊的能力更強,速度也更快,成為一款較為優(yōu)秀的分組加密算法。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪稿。