簡(jiǎn)析祖沖之加密算法

祖沖之加密算法的名字源于我國(guó)古代數(shù)學(xué)家祖沖之,它包括加密算法128-EEA3和完整性保護(hù)算法128-EIA3,主要用于移動(dòng)通信系統(tǒng)空中傳輸信道的信息加密和身份認(rèn)證,以確保用戶通信安全。在今年9月日本福崗召開的第53次第三代合作伙伴計(jì)劃(3GPP)系統(tǒng)架構(gòu)組(SA)會(huì)議上,祖沖之加密算法被批準(zhǔn)成為L(zhǎng)TE國(guó)際標(biāo)準(zhǔn)。這是我國(guó)商用密碼算法首次走出國(guó)門參與國(guó)際標(biāo)準(zhǔn)制定,取得的重大突破。

祖沖之加密算法原理

祖沖之加密算法是一個(gè)面向字的流密碼。它采用128位的初始密鑰作為輸入和一個(gè)128位的初始向量(IV),并輸出關(guān)于字的密鑰流(從而每32位被稱為一個(gè)密鑰字)。密鑰流可用于對(duì)信息進(jìn)行加密/解密。

祖沖之加密算法的執(zhí)行分為兩個(gè)階段:初始化階段和工作階段。在第一階段,密鑰和初始向量進(jìn)行初始化,即不產(chǎn)生輸出。第二個(gè)階段是工作階段,在這個(gè)階段,每一個(gè)時(shí)鐘脈沖產(chǎn)生一個(gè)32比特的密鑰輸出。

祖沖之加密算法運(yùn)算符

mod整數(shù)模
⊕整數(shù)比特異或
ab,字符串a(chǎn)和b的連接
Haa二進(jìn)制表示的最左16位值
Laa二進(jìn)制表示的最右16位值
nak<<<a向左k比特的循環(huán)移位
1a>> a向右1比特的移位
()()1212,,,,,,nnaaabbb→LLia值分配到對(duì)應(yīng)ib的值

小知識(shí)之祖沖之加密算法:

祖沖之加密算法是中國(guó)自主設(shè)計(jì)的流密碼算法,現(xiàn)已被3GPPLTE采納為國(guó)際加密標(biāo)準(zhǔn),即第四代移動(dòng)通信加密標(biāo)準(zhǔn)。