一種新的實(shí)用安全加密標(biāo)準(zhǔn)算法 Camellia 算法 陜西西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)國家重點(diǎn)實(shí)驗(yàn)室劉景偉 韋寶典
發(fā)布時(shí)間:2007/8/15 0:00:00 訪問次數(shù):806
繼2000年10月美國推出二十一世紀(jì)高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES后,2003年2月歐洲最新一代的安全標(biāo)準(zhǔn)NESSIE(New European Schemes for Signatures、Integrity and Encryption)出臺。NESSIE是歐洲IST(Information Society Technologies)委員會計(jì)劃的一個(gè)項(xiàng)目。Camellia算法以其在各種軟件和硬件平臺上的高效率這一顯著特點(diǎn)成為NESSIE標(biāo)準(zhǔn)中兩個(gè)128比特分組密碼算法之一(另一個(gè)為美國的AES算法)。
。茫幔恚澹欤欤椋崴惴ㄓ桑危裕院停停椋簦螅酰猓椋螅瑁 Electric Corporation聯(lián)合開發(fā)。作為歐洲新一代的加密標(biāo)準(zhǔn),它具有較強(qiáng)的安全性,能夠抵抗差分和線性密碼分析等已知的攻擊。與AES算法相比,Camellia算法在各種軟硬件平臺上表現(xiàn)出與之相當(dāng)?shù)募用芩俣。除了在各種軟件和硬件平臺上的高效性這一顯著特點(diǎn),它的另外一個(gè)特點(diǎn)是針對小規(guī)模硬件平臺的設(shè)計(jì)。整個(gè)算法的硬件執(zhí)行過程包括加密、解密和密鑰擴(kuò)展三部分,只需占用8.12K 0.18μm COMS工藝ASIC的庫門邏輯。這在現(xiàn)有128比特分組密碼中是最小的。
。 Camellia算法的組成 Camellia算法支持128比特的分組長度,128、192和256比特的密鑰與AES的接口相同。本文以128比特密鑰為例對Camellia算法進(jìn)行詳細(xì)介紹。
Camellia算法128比特密鑰的加、解密過程共有18輪,采用Feistel結(jié)構(gòu),加、解密過程完全相同,只是子密鑰注入順序相反。而且密鑰擴(kuò)展過程和加、解密過程使用相同的部件。這使得Camellia算法不論是在軟件平臺還是硬件平臺只需更小的規(guī)模和更小的存儲即可。
(1)Camellia算法所采用的符號列表及其含義
B 8比特向量 W 32比特向量
L 64比特向量 Q 128比特向量
x(n) 比特向量
xL 向量x的左半部分 xR 向量x的右半部分
<<< 比特循環(huán)左移 || 兩個(gè)操作數(shù)的連接
比特的異或操作 x 比特位取補(bǔ)操作
∪ 比特位的或操作 ∩ 比特位的與操作
(2)Camellia算法所采用的變量列表及其含義
。(128) 128比特明文組 C(128) 128比特密文組
K 主密鑰 kwt(64),ku(64),klv(64), 子密鑰
(3)Camellia算法所采用的變換函數(shù) ·F變換
。谱儞Q(見式(1))是Camellia算法中最主要的部件之一,而且F變換被加、解密過程和密鑰擴(kuò)展過程所共用(128比特密鑰的加、解密各用18次,密鑰擴(kuò)展用4次)。Camellia算法的F變換在設(shè)計(jì)時(shí)采用1輪的SPN(Substitution Permutation Network),包括一個(gè)P變換(線性)和一個(gè)S變換(非線性)。在Feistel型密碼使用一輪SPN作輪函數(shù)時(shí),對更高階的差分和線性特性概率的理論評估變得更加復(fù)雜,在相同安全水平下的運(yùn)行速度有所提高。
F:L×L→L (1)
(X(64),k(64))→Y(64)=P(S(X(64)k(64))
·P變換 Camellia算法的P變換(見式(2))是一個(gè)線性變換。為了通信中軟、硬件實(shí)現(xiàn)的高效性,它適合采用異或運(yùn)算,并且其安全性能足以抵抗差分和線性密碼分析。其在32位處理器、高端智能卡上的應(yīng)用,跟在8位處理器上一樣。
P:L→L
·S變換
Camellia算法采用的S盒(見式(3))是一個(gè)GF(28)上的可逆變換,它加強(qiáng)了算法的安全性并且適用于小硬件設(shè)計(jì)。眾所周知,GF(28)上函數(shù)的最大差分概率的最小值被證明為2-6,最大線性概率的最小值推測為2-6。Camellia算法選擇GF(28)上能夠獲得最好的差分和線性概率的可逆函數(shù)作S盒,而且S盒每個(gè)輸出比特具有高階布爾多項(xiàng)式,使得對Camellia進(jìn)行高階差分攻擊是困難的。S盒在GF(28)上輸入、輸出相關(guān)函數(shù)上的復(fù)雜表達(dá)式,使得插入攻擊對Camellia無效。
S:L→L
(l1(8),l1(8),l1(8),l1(8),l1(8),l1(8),l1(8),l1(8))→
(s1(l1(8)),s2(l2(8)),s3(l3(8)),s4(l4(8)),s2(l5(8)),s3(l6(8)),
s4(l7(8)),s1(l8(8)))
s1:y(8)=s1(x(8))=h(g(f(0xC5x(8)))) 0x6E
其中,s2
繼2000年10月美國推出二十一世紀(jì)高級數(shù)據(jù)加密標(biāo)準(zhǔn)AES后,2003年2月歐洲最新一代的安全標(biāo)準(zhǔn)NESSIE(New European Schemes for Signatures、Integrity and Encryption)出臺。NESSIE是歐洲IST(Information Society Technologies)委員會計(jì)劃的一個(gè)項(xiàng)目。Camellia算法以其在各種軟件和硬件平臺上的高效率這一顯著特點(diǎn)成為NESSIE標(biāo)準(zhǔn)中兩個(gè)128比特分組密碼算法之一(另一個(gè)為美國的AES算法)。
。茫幔恚澹欤欤椋崴惴ㄓ桑危裕院停停椋簦螅酰猓椋螅瑁 Electric Corporation聯(lián)合開發(fā)。作為歐洲新一代的加密標(biāo)準(zhǔn),它具有較強(qiáng)的安全性,能夠抵抗差分和線性密碼分析等已知的攻擊。與AES算法相比,Camellia算法在各種軟硬件平臺上表現(xiàn)出與之相當(dāng)?shù)募用芩俣。除了在各種軟件和硬件平臺上的高效性這一顯著特點(diǎn),它的另外一個(gè)特點(diǎn)是針對小規(guī)模硬件平臺的設(shè)計(jì)。整個(gè)算法的硬件執(zhí)行過程包括加密、解密和密鑰擴(kuò)展三部分,只需占用8.12K 0.18μm COMS工藝ASIC的庫門邏輯。這在現(xiàn)有128比特分組密碼中是最小的。
。 Camellia算法的組成 Camellia算法支持128比特的分組長度,128、192和256比特的密鑰與AES的接口相同。本文以128比特密鑰為例對Camellia算法進(jìn)行詳細(xì)介紹。
。茫幔恚澹欤欤椋崴惴ǎ保玻副忍孛荑的加、解密過程共有18輪,采用Feistel結(jié)構(gòu),加、解密過程完全相同,只是子密鑰注入順序相反。而且密鑰擴(kuò)展過程和加、解密過程使用相同的部件。這使得Camellia算法不論是在軟件平臺還是硬件平臺只需更小的規(guī)模和更小的存儲即可。
(1)Camellia算法所采用的符號列表及其含義
B 8比特向量 W 32比特向量
L 64比特向量 Q 128比特向量
x(n) 比特向量
xL 向量x的左半部分 xR 向量x的右半部分
<<< 比特循環(huán)左移 || 兩個(gè)操作數(shù)的連接
比特的異或操作 x 比特位取補(bǔ)操作
∪ 比特位的或操作 ∩ 比特位的與操作
(2)Camellia算法所采用的變量列表及其含義
。(128) 128比特明文組 C(128) 128比特密文組
K 主密鑰 kwt(64),ku(64),klv(64), 子密鑰
(3)Camellia算法所采用的變換函數(shù) ·F變換
。谱儞Q(見式(1))是Camellia算法中最主要的部件之一,而且F變換被加、解密過程和密鑰擴(kuò)展過程所共用(128比特密鑰的加、解密各用18次,密鑰擴(kuò)展用4次)。Camellia算法的F變換在設(shè)計(jì)時(shí)采用1輪的SPN(Substitution Permutation Network),包括一個(gè)P變換(線性)和一個(gè)S變換(非線性)。在Feistel型密碼使用一輪SPN作輪函數(shù)時(shí),對更高階的差分和線性特性概率的理論評估變得更加復(fù)雜,在相同安全水平下的運(yùn)行速度有所提高。
F:L×L→L (1)
(X(64),k(64))→Y(64)=P(S(X(64)k(64))
·P變換 Camellia算法的P變換(見式(2))是一個(gè)線性變換。為了通信中軟、硬件實(shí)現(xiàn)的高效性,它適合采用異或運(yùn)算,并且其安全性能足以抵抗差分和線性密碼分析。其在32位處理器、高端智能卡上的應(yīng)用,跟在8位處理器上一樣。
P:L→L
·S變換
Camellia算法采用的S盒(見式(3))是一個(gè)GF(28)上的可逆變換,它加強(qiáng)了算法的安全性并且適用于小硬件設(shè)計(jì)。眾所周知,GF(28)上函數(shù)的最大差分概率的最小值被證明為2-6,最大線性概率的最小值推測為2-6。Camellia算法選擇GF(28)上能夠獲得最好的差分和線性概率的可逆函數(shù)作S盒,而且S盒每個(gè)輸出比特具有高階布爾多項(xiàng)式,使得對Camellia進(jìn)行高階差分攻擊是困難的。S盒在GF(28)上輸入、輸出相關(guān)函數(shù)上的復(fù)雜表達(dá)式,使得插入攻擊對Camellia無效。
S:L→L
(l1(8),l1(8),l1(8),l1(8),l1(8),l1(8),l1(8),l1(8))→
(s1(l1(8)),s2(l2(8)),s3(l3(8)),s4(l4(8)),s2(l5(8)),s3(l6(8)),
s4(l7(8)),s1(l8(8)))
s1:y(8)=s1(x(8))=h(g(f(0xC5x(8)))) 0x6E
其中,s2
熱門點(diǎn)擊
- 基于單片機(jī)的語音數(shù)字聯(lián)網(wǎng)火災(zāi)報(bào)警器設(shè)計(jì) 王忠
- 數(shù)字傳感器信號遠(yuǎn)傳時(shí)的兩個(gè)技術(shù)問題 周勝海
- 異步集成電路設(shè)計(jì)的研究與進(jìn)展
- 用FIFO設(shè)計(jì)A/D與DSP之間的接口
- 一種新的實(shí)用安全加密標(biāo)準(zhǔn)算法 Camelli
- 基于FPGA的高頻時(shí)鐘的分頻和分配設(shè)計(jì)
- 基于CPLD的非多路復(fù)用與多路復(fù)用總線轉(zhuǎn)換橋
- 手機(jī)常見故障原因及檢修思路
- 飽和電感及其在開關(guān)電源中的應(yīng)用
- DC/DC變換器的PWM控制技術(shù)
推薦技術(shù)資料
- 按鈕與燈的互動實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究