天天被操天天被操综合网,亚洲黄色一区二区三区性色,国产成人精品日本亚洲11,欧美zozo另类特级,www.黄片视频在线播放,啪啪网站永久免费看,特别一级a免费大片视频网站

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

一種新的安全加密標準算法——Camellia算法

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

一種新的實用安全加密標準算法——Camellia算法

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

    關鍵詞:NESSIE 分組密碼 Camellia 算法 加密

繼2000年10月美國推出二十一世紀高級數(shù)據(jù)加密標準AES后,2003年2月歐洲最新一代的安全標準NESSIE(New European Schemes for Signatures、Integrity and Encryption)出臺。NESSIE是歐洲IST(Information Society Technologies)委員會計劃的一個項目。Camellia算法以其在各種軟件和硬件平臺上的高效率這一顯著特點成為NESSIE標準中兩個128比特分組密碼算法之一(另一個為美國的AES算法)。

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

1 Camellia算法的組成

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

Camellia算法128比特密鑰的加、解密過程共有18輪,采用Feistel結構,加、解密過程完全相同,只是子密鑰注入順序相反。而且密鑰擴展過程和加、解密過程使用相同的部件。這使得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變換在設計時采用1輪的SPN(Substitution Permutation Network),包括一個P變換(線性)和一個S變換(非線性)。在Feistel型密碼使用一輪SPN作輪函數(shù)時,對更高階的差分和線性特性概率的理論評估變得更加復雜,在相同安全水平下的運行速度有所提高。

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

·P變換

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

·S變換

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

算法中構造了四個不同的S盒,提高了Camellia算法抵抗階段差分攻擊的安全性。為了在小硬件上設計實現(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的根。當然根據(jù)性能要求,在具體實現(xiàn)加密算法時,S盒的實現(xiàn)電路也可以直接查表的方式進行。

·FL/FL-1變換

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

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

(2)密鑰擴展

Camellia算法的密鑰擴展遵循了嚴格的設計準則,如實現(xià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算法的安全性

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

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

評測一個分組密碼的好壞,除了要求其具有高的安全性外,還要求算法在應用平臺上實現(xiàn)簡單。Camellia算法在設計時充分考慮到了這一點,下面給出其在各種平臺上的性能參數(shù)。評測算法在軟件平臺上實現(xiàn)性能時,首要考慮其速度,其次還要看算法實現(xiàn)時所需的存儲空間,表1前半部分給出了Camellia算法在常用的32位處理器上各種軟件平臺的實現(xiàn)性能。高的加密速度和低的存儲需求,表明Camellia算法可以有效地應用于各種軟件系統(tǒng)中。從表1后半部分可以看出Camellia算法在高端和低端的智能卡平臺上同樣有著良好的性能;由于Camellia算法的密鑰擴展與加、解密過程有共用部分,所以其硬件平臺所需的芯片面積大大減少,降低了硬件成本,便于推廣應用,詳細參數(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)    境 設計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標準中的Camellia加密算法充分考慮到了各種因素,既保證了算法的安全性又考慮到其在各種平臺上的實現(xiàn)效率,尤其是針對小硬件的設計思想,使其有著廣泛的應用前景。


【一種新的安全加密標準算法——Camellia算法】相關文章:

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

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

藍牙的信息安全機制及密鑰算法改進08-06

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

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

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

學習新預算法心得體會08-03

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

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