官术网_书友最值得收藏!

1.7 GOST加密算法

GOST加密算法是俄羅斯現行的加密標準,在1989年4月22日由1409號決議通過,在1990年7月1日正式實施。

GOST是32層DES型迭代分組密碼,分組長度為64比特,密鑰長度為256比特。

與DES加密算法相比,GOST加密算法除了增加了迭代層數和密鑰長度,還有下列主要差別。

(1)由初始密鑰生成層密鑰的過程十分簡單。將256比特密鑰分成8個32比特的字,記為K0, K1, …, K7,則32層的層密鑰分別為:

K0K7, K0K7, K0K7, K7K0

記為SK1~SK32。

(2)層變換的差別是:①GOST加密算法沒有輸入分組擴展;②GOST加密算法與層密鑰進行的是模232加,而DES加密算法進行的是模2加;③GOST加密算法用8個GF(24)→GF(24)的非線性代替;④GOST加密算法用簡單的循環移位代替不規則置換。

(3)S盒保密,不同系統可用不同的S盒,從而使密鑰為:

256+log2(16! )×8=610比特

GOST加密算法的F函數由三部分組成:

● 與32比特層密鑰SKi進行模232加;

● 經8個4比特S盒;

● 循環左移11比特。

輸入的明文從低位到高位排列構成(X0, X1), X0X1各32比特,迭代計算為:

Xi+1=F(Xi)⊕Xi-1, i=1, …,32

經過32層迭代可得(X33, X32),自低位到高位的輸出就是密文。

GOST加密算法有以下4種工作方式:

(1)簡單代替方式,即電子密本(ECB)方式。

(2)亂數加密方式,即64比特的輸出反饋方式OFB(64),以64比特同步信號作為初始向量。

(3)反饋亂數加密方式,即64比特的密文反饋方式CFB(64)。

(4)驗證方式,即按初始向量為0的密文分組連接方式進行計算,在最后一組輸出中選L比特(L≤64)作為消息驗證碼。

GOST加密算法框圖如圖1.7.1所示。

圖1.7.1 GOST加密算法框圖

主站蜘蛛池模板: 得荣县| 手游| 新化县| 定陶县| 临武县| 故城县| 同德县| 长岛县| 安乡县| 万盛区| 酉阳| 北安市| 高州市| 厦门市| 永丰县| 新兴县| 图片| 辛集市| 阿勒泰市| 紫阳县| 宁阳县| 潢川县| 邢台市| 寿光市| 辉县市| 开远市| 桐庐县| 汤阴县| 玛纳斯县| 灵台县| 白山市| 吕梁市| 瑞安市| 花莲县| 当雄县| 阜城县| 枞阳县| 定兴县| 达孜县| 泉州市| 武乡县|