簡述MISTY1加密算法

NESSIE是歐洲在本世紀初的一項為期三年的密碼標準評選計劃,無數的分組密碼、流密碼、公鑰密碼、雜湊函數等算法紛紛入選,規(guī)??氨華ES算法征集。今天我們要了解的就是入選NESSIE計劃的分組密碼算法——MISTY1加密算法。

MISTY1算法簡介

MISTY1算法是由日本學者M.Matsui設計的一個分組密碼算法,它是第一個基于抵抗差分密碼分析和線性密碼分析的可證安全性理論而設計的實用分組密碼。MISTY1算法被NESSIE選定為過渡型的建議分組密碼,同時也被國際組織在ISO和IEC列為分組密碼標準之一。

MISTY1加密算法

MISTY1算法的加密原理

MISTY1算法的分組長度是64比特,密鑰長度是128比特,輪數是可變的,但必須是4的倍數,一般使用的是八輪MISTY 1算法。它有下面三個特點:

  1. 它是第一個基于抵抗差分密碼分析和線性密碼分析的可證安全性理論而設計的實用分組密碼算法;
  2. 使用了相關卻有別于Feistel結構的一種結構,從而在保持同等安全強度的條件下增大算法運行的并行性;
  3. MISTY1算法使用規(guī)模不同的S盒--7×7的S盒S7和9×9的S盒S9,與8×8的S盒相比,所選擇的S盒具有較高的安全系數。

MISTY1加密算法

MISTY1算法的加密過程

以8輪MISTY1算法為例,64比特的明文P64,被拆分成等長的L0和R0兩部分,即P64=L0||R0,加密過程如下:

(1)對于奇數輪i(i=1,3,5,7),執(zhí)行:

Ri=FLi(Li-1,KLi),Li=FLi+1(Ri-1,KLi+1)⊕F0(Ri,KOi,KIi

(2)對于偶數輪I(i=2,4,6,8),執(zhí)行:

Ri=Li-1,Li=Ri-1⊕F0(Ri,KOi,KIi

(3)然后執(zhí)行:

R9=FL9(L8,KL9),L9=FL10(R8,KL10

(4)最后輸出64比特密文:

C64=L9||R9

MISTY1加密算法

MISTY1算法的解密過程

MISTY1算法解密過程和加密過程類似,它是加密過程的逆運算,差別僅限于每輪子密鑰的使用,解密子密鑰可以由加密子密鑰計算得到。

MISTY1算法的應用

MISTY1算法廣泛適用于電子政務等部門,此外,MISTY1算法在許多產品的安全算法中得到廣泛的應用,如Ukey等。而用于3GPP移動通信的保密算法f8和完整性檢驗算法f9中的密碼算法KASUMI算法,也是基于MISTY1算法設計的。因此,對MISTY1算法安全性分析具有重要的理論意義和現實意義。

免責聲明:素材源于網絡,如有侵權,請聯系刪稿。