丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>一種新的安全加密標(biāo)準(zhǔn)算法——Camellia算法

一種新的安全加密標(biāo)準(zhǔn)算法——Camellia算法

時間:2023-02-20 23:43:33 電子通信論文 我要投稿
  • 相關(guān)推薦

一種新的實用安全加密標(biāo)準(zhǔn)算法——Camellia算法

摘要:介紹了NESSIE標(biāo)準(zhǔn)中的分組密碼算法——Camellia算法的加、解密過程,并對其在各種軟、硬件平臺上的性能進(jìn)行了比較,結(jié)果表明Camellia算法在各種平臺上均有著較高的效率。Camellia算法與其它技術(shù)相結(jié)合將在信息安全領(lǐng)域產(chǎn)生更廣泛的應(yīng)用。

    關(guān)鍵詞:NESSIE 分組密碼 Camellia 算法 加密

繼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)委員會計劃的一個項目。Camellia算法以其在各種軟件和硬件平臺上的高效率這一顯著特點成為NESSIE標(biāo)準(zhǔn)中兩個128比特分組密碼算法之一(另一個為美國的AES算法)。

Camellia算法由NTT和Mitsubishi Electric Corporation聯(lián)合開發(fā)。作為歐洲新一代的加密標(biāo)準(zhǔn),它具有較強的安全性,能夠抵抗差分和線性密碼分析等已知的攻擊。與AES算法相比,Camellia算法在各種軟硬件平臺上表現(xiàn)出與之相當(dāng)?shù)募用芩俣。除了在各種軟件和硬件平臺上的高效性這一顯著特點,它的另外一個特點是針對小規(guī)模硬件平臺的設(shè)計。整個算法的硬件執(zhí)行過程包括加密、解密和密鑰擴展三部分,只需占用8.12K 0.18μm COMS工藝ASIC的庫門邏輯。這在現(xiàn)有128比特分組密碼中是最小的。

1 Camellia算法的組成

Camellia算法支持128比特的分組長度,128、192和256比特的密鑰與AES的接口相同。本文以128比特密鑰為例對Camellia算法進(jìn)行詳細(xì)介紹。

Camellia算法128比特密鑰的加、解密過程共有18輪,采用Feistel結(jié)構(gòu),加、解密過程完全相同,只是子密鑰注入順序相反。而且密鑰擴展過程和加、解密過程使用相同的部件。這使得Camellia算法不論是在軟件平臺還是硬件平臺只需更小的規(guī)模和更小的存儲即可。

(1)Camellia算法所采用的符號列表及其含義

B 8比特向量 W 32比特向量

L 64比特向量 Q 128比特向量

x?n? 比特向量

xL 向量x的左半部分 xR 向量x的右半部分

<<< 比特循環(huán)左移 || 兩個操作數(shù)的連接

? 比特的異或操作 x 比特位取補操作

∪ 比特位的或操作 ∩ 比特位的與操作

(2)Camellia算法所采用的變量列表及其含義

M?128? 128比特明文組 C?128? 128比特密文組

K 主密鑰 kwt?64?? ku?64?? klv?64?

子密鑰

(3)Camellia算法所采用的變換函數(shù)

·F變換

F變換(見式(1))是Camellia算法中最主要的部件之一,而且F變換被加、解密過程和密鑰擴展過程所共用(128比特密鑰的加、解密各用18次,密鑰擴展用4次)。Camellia算法的F變換在設(shè)計時采用1輪的SPN(Substitution Permutation Network),包括一個P變換(線性)和一個S變換(非線性)。在Feistel型密碼使用一輪SPN作輪函數(shù)時,對更高階的差分和線性特性概率的理論評估變得更加復(fù)雜,在相同安全水平下的運行速度有所提高。

(范文先生網(wǎng)www.panasonaic.com收集整理)

·P變換

Camellia算法的P變換(見式(2))是一個線性變換。為了通信中軟、硬件實現(xiàn)的高效性,它適合采用異或運算,并且其安全性能足以抵抗差分和線性密碼分析。其在32位處理器、高端智能卡上的應(yīng)用,跟在8位處理器上一樣。

·S變換

Camellia算法采用的S盒(見式(3))是一個GF(28)上的可逆變換,它加強了算法的安全性并且適用于小硬件設(shè)計。眾所周知,GF(28)上函數(shù)的最大差分概率的最小值被證明為2-6,最大線性概率的最小值推測為2-6。Camellia算法選擇GF(28)上能夠獲得最好的差分和線性概率的可逆函數(shù)作S盒,而且S盒每個輸出比特具有高階布爾多項式,使得對Camellia進(jìn)行高階差分攻擊是困難的。S盒在GF(28)上輸入、輸出相關(guān)函數(shù)上的復(fù)雜表達(dá)式,使得插入攻擊對Camellia無效。

S:L→L

(l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8),l'1(8)→

*s1(l'1(8)),s2(l'2(8)),s3(l'3(8)),s4('4(8)),s2(l'5(8)),s3(l'6(8)),

s4(l'7(8),s1(l'8(l8(8)))

其中, s2:y(8)=s1(x(8))=h(g(f(0xC5+x(8))))+0x6E

s2:Y(8)=s2(x(8))=s1(x(8))<<<1    (3)?

s3:y(8)=s3(x(8))=s1(x(8))>>>1

s4:y(8)=s4(x(8))=s1(x(8))<<<1?

算法中構(gòu)造了四個不同的S盒,提高了Camellia算法抵抗階段差分攻擊的安全性。為了在小硬件上設(shè)計實現(xiàn),GF(28)上的元素可以表示成系數(shù)為GF(24)上的多項式。這樣,在實現(xiàn)S盒時,只需運用子域GF(24)上很少的操作。s1變換中所采用的f、h、g函數(shù)分別如(4)、(5)、(6)式所示。

(b1,b2,b3,b4,b5,b6,b7,b8)=g(a1,a2,a3,a4,a5,a6,a7,a8)

其中,(b8+b7α+b6α2+b5α3)+(b4+b3α+b2α2+b1α3)β

=1/((a8+a7α+a6α2+a5α3)+(a4+a3α+a2α2+a1α3))(6)

規(guī)定(6)式中GF(2的8次方)上運算=1/0,β是GF(2的8次方)上方程x8+x6+x5+x3+1=0的根,a=β238=β6+β5+β3+β2是GF(2的4次方)上方程x4+x+1=0的根。當(dāng)然根據(jù)性能要求,在具體實現(xiàn)加密算法時,S盒的實現(xiàn)電路也可以直接查表的方式進(jìn)行。

·FL/FL-1變換

Camellia算法每六圈加入一次FL/FL-1變換,用來打亂整個算法的規(guī)律性。加入FL/FL-1變換的另一個好處是可以抵抗未知的密碼攻擊方法,而且加入FL/FL-1變換并不影響Feistel結(jié)構(gòu)加、解密過程相同。

    FL:L×L→L

(XL(32)||XR(32),klL(32)||klR(32)→?(7)

(YR(32)∪klR(32),YL(32)||((XL(32)∩klL(32)??<<<1)+YR(32)

FL-1:L×L→L

(YL(32)||YR(32),klL(32)||klR(32)→ ?(8)

(YR(32)∪klR(32),YL(32)||((XL(32)∩klL(32)??<<<1)+YR(32)

2 Camellia算法的加、解密及密鑰擴展實現(xiàn)過程

(1)加、解密過程

Camellia算法的整個加密過程有18輪Feistel結(jié)構(gòu),在第6輪和第12輪之后加入了FL/FL-1變換層,用來打亂算法的規(guī)律性,并且在第1輪之前和最后1輪之后使用了128比特的異或操作。解密過程與加密過程完全相同,只是圈密鑰注入順序與加密相反。128比特密鑰Camellia算法的加密過程如圖1所示。

(2)密鑰擴展

Camellia算法的密鑰擴展遵循了嚴(yán)格的設(shè)計準(zhǔn)則,如實現(xiàn)簡單且與加、解密過程共用部件,密鑰配置時間小于加密時間,支持在線密鑰生成,沒有等效密鑰,能夠抵抗相關(guān)密鑰攻擊和滑動攻擊等。整個過程只需通過三個中間變量,KL(128)=K(128),K(128)=0?KA的簡單移位即可得到子密鑰kwt(64)(t=1,…,4),ku(64)(u=1,…,18)和klv(64)(v=1,…,4),且中間生成過程與加密過程共用了部件F(如圖1、2所示)。

3 Camellia算法的安全性

設(shè)計者用差分?jǐn)U散概率和線性相關(guān)概率的保守上界證明了任何含SPN網(wǎng)絡(luò)的十六圈Camellia密碼對差分密碼分析和線性密碼分析都是安全的;此外,通過對活動S盒的計數(shù)說明十二圈Camellia中沒有概率大于2-128的差分特征和線性特征;帶或不帶FL層的十圈Camellia都具有偽隨機置換特性,能夠抵抗截斷差分攻擊和線性密碼分析;設(shè)計者還聲稱Camellia能夠抵抗不可能差分攻擊、Boomerang攻擊、高階差分攻擊、相關(guān)密鑰攻擊、插入攻擊、Slide攻擊、線性和攻擊及Square攻擊。在密鑰的安全性上,一方面不存在等效密鑰;另一方面,子密鑰來自主密鑰的加密結(jié)果KA和KB,改變主密鑰并不能獲得預(yù)想的KA和KB,反之亦然,因而無法控制和預(yù)測子密鑰之間的關(guān)系,從而相關(guān)密鑰攻擊難以成功。由于密鑰長度不少于128比特,以當(dāng)前的計算能力還無法對Camellia成功實施諸如密鑰窮舉搜索攻擊、時間存儲權(quán)衡攻擊、字典攻擊和密鑰匹配等類型的強力攻擊。

4 Camellia算法在各種平臺上的性能比較

評測一個分組密碼的好壞,除了要求其具有高的安全性外,還要求算法在應(yīng)用平臺上實現(xiàn)簡單。Camellia算法在設(shè)計時充分考慮到了這一點,下面給出其在各種平臺上的性能參數(shù)。評測算法在軟件平臺上實現(xiàn)性能時,首要考慮其速度,其次還要看算法實現(xiàn)時所需的存儲空間,表1前半部分給出了Camellia算法在常用的32位處理器上各種軟件平臺的實現(xiàn)性能。高的加密速度和低的存儲需求,表明Camellia算法可以有效地應(yīng)用于各種軟件系統(tǒng)中。從表1后半部分可以看出Camellia算法在高端和低端的智能卡平臺上同樣有著良好的性能;由于Camellia算法的密鑰擴展與加、解密過程有共用部分,所以其硬件平臺所需的芯片面積大大減少,降低了硬件成本,便于推廣應(yīng)用,詳細(xì)參數(shù)見表2。

表1 Camellia算法在軟件和智能卡平臺上的性能

環(huán)  境 語  言 速度加、解密 RAM合計 ROM合計 PIII700MHz128MB256 L2-cache Assembly 241.5Mbps 64bytes 11420bytes PII300MHz160MB512 L2-cache VC++6 66.6Mbps 108bytes 9461bytes PIII 1GHz512MB256 L2-cache Java 161.4Mbps \ \ Intel 8051 12MHz Assembly 10217
10.22msec 32bytes 990bytes Z80 5MHz Assembly 35951
7.19msec 106bytes 1698bytes MC68HC705 B16 2.1MHz Assembly 9900
4.71msec 208bytes \

表2 Camellia算法在硬件平臺上的性能

環(huán)    境 設(shè)計Lab 速度 芯片面積 加、解密 單元 合計 ASIC Unrolled Mitsubishi0.18μm 2785.00Mbps Kgate 244.90 Loop Mitsubishi0.18μm 1881.25Mbps Kgate 44.30 FPGA Unrolled Xilinx VirtexE 401.89Mbps Slice 9426 Loop Xilinx VirtexE 227.42Mbps Slice 1780

從本文可以看出,分組密碼加密算法發(fā)展到今天,不論是從安全性還是從實用性的角度都越來越強。NESSIE標(biāo)準(zhǔn)中的Camellia加密算法充分考慮到了各種因素,既保證了算法的安全性又考慮到其在各種平臺上的實現(xiàn)效率,尤其是針對小硬件的設(shè)計思想,使其有著廣泛的應(yīng)用前景。


【一種新的安全加密標(biāo)準(zhǔn)算法——Camellia算法】相關(guān)文章:

一種基于比特表的實時多任務(wù)新調(diào)度算法08-06

一種基于KEELOQ的改進(jìn)加密算法及其在單片機中的實現(xiàn)技術(shù)08-06

藍(lán)牙的信息安全機制及密鑰算法改進(jìn)08-06

加、減法的簡便算法08-16

一種DWT域基于IFS的數(shù)字水印算法08-06

一種新的數(shù)據(jù)加密技術(shù)08-06

學(xué)習(xí)新預(yù)算法心得體會08-03

一種基于“陷門收縮”原理的公鑰算法08-06

對算法多樣化的思考08-17