新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機的RC5和RC6算法區(qū)別、實現(xiàn)與優(yōu)化

AVR單片機的RC5和RC6算法區(qū)別、實現(xiàn)與優(yōu)化

作者: 時間:2013-12-06 來源:網(wǎng)絡(luò) 收藏

引言

  在無線局域網(wǎng)中,傳輸?shù)慕橘|(zhì)主要是無線電波和紅外線,任何具有接收能力的竅聽者都有可能攔截無線信道中的數(shù)據(jù),掌握傳輸?shù)膬?nèi)容,造成數(shù)據(jù)泄密。因此,對于無線局域網(wǎng)來說,數(shù)據(jù)的加密是關(guān)鍵技術(shù)之一。

  AVR高速嵌入式單片機是8位RISC MCU,執(zhí)行大多數(shù)指令只需一個時鐘周期,速度快(8MHz AVR的運行速度約等于200MHz C51的運行速度);32個通用寄存器直接與ALU相連,消除和運算瓶頸。內(nèi)嵌可串行下載或自我編程的Flash和EPPROM,功能繁多,具有多種運行 模式。

  依照IEEE1999年發(fā)布的802.11無線局域網(wǎng)協(xié)議標準,采用Atmel公司的Atmega128高速嵌入式單片機,開發(fā)無線數(shù)據(jù)傳輸裝 置。為了實現(xiàn)無線數(shù)據(jù)傳輸時的安全性,同時盡可能節(jié)省成本,采用軟件進行加密、解密。這就對算法的簡法性、高速性及適應(yīng)性提出了很高的要求。和 RC6兩種新型的分組加密算法能夠比較好地滿足上述的要求。

1

1.1 及RC6的參數(shù)

  RC5及RC6是參數(shù)變量的分組算法,實際上是由三個參數(shù)確定的一個加密算法族。一個特定的RC5或者RC6可以表示為RC5-w/r/b或者RC6-w/r/b。其中這三個參數(shù)w、f和b分別按照表1所列定義。

  表1 RC5及參數(shù)定義

參 數(shù)定 義常 用
w以比特表示的字的尺寸16,32,64
r加密輪數(shù)0~255
b密鑰的字節(jié)長度0~255

1.2 RC5及RC6字運算部件

  RC5及RC6均由三部分組成,分別為混合密鑰生成過程、加密過程和解密過程。在這兩種算法中,共使用了六種基本運算:

  ①模2w加法運算,表示為“+”;

  ②模2w減法運算,表示為“-”;

 ?、壑鹞划惢蜻\算,表示為+;

 ?、苎h(huán)左移,字a循環(huán)左移b比特表示為“ab”;

 ?、菅h(huán)右移,字a循環(huán)右移b比特表示為“a>>>b”;

 ?、弈?w乘法,表示為“×”。

  RC5算法運用了上述的①~⑤運算部分,使用了上述所有的運算部件。

1.3 RC5算法

 ?。?)RC5算法混合密鑰生成過程的偽代碼表示

  S[0]=Pw

  for i=1 to t-1 do

  S[i]=S[i-1]+Qw

  輸入比特數(shù)大小為8,密鑰長度為b的用戶密鑰K[0]至K[b-1]

  轉(zhuǎn)換K[0]至K[b-1]為數(shù)組長度為c,比特數(shù)為w的L[]數(shù)組

  i=j=0 x=y=0

  do 3×max(t,c)times:

  S[i]=(S[i]+x+y)3;X=S[i];i=(i+1)mod t

  L[j]=(L[j]+x+y)(x,y);X=L[j];j=(j+1)modC

  其中c=[b×8/w]方括號表示上取整運算,t=2r+2,當w分別為16、32、64時,常數(shù)Pw、Qw分別如表2所列。


上一頁 1 2 3 下一頁

關(guān)鍵詞: AVR單片機 RC5 RC6算法

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉