新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機的RC5和RC6算法區別、實現與優化

        AVR單片機的RC5和RC6算法區別、實現與優化

        作者: 時間:2013-12-06 來源:網絡 收藏

        引言

          在無線局域網中,傳輸的介質主要是無線電波和紅外線,任何具有接收能力的竅聽者都有可能攔截無線信道中的數據,掌握傳輸的內容,造成數據泄密。因此,對于無線局域網來說,數據的加密是關鍵技術之一。

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

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

        1

        1.1 及RC6的參數

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

          表1 RC5及參數定義

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

        1.2 RC5及RC6字運算部件

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

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

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

          ③逐位異或運算,表示為+;

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

          ⑤循環右移,字a循環右移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

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

          轉換K[0]至K[b-1]為數組長度為c,比特數為w的L[]數組

          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時,常數Pw、Qw分別如表2所列。


        上一頁 1 2 3 下一頁

        關鍵詞: AVR單片機 RC5 RC6算法

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荔波县| 喀喇沁旗| 沂水县| 乃东县| 当阳市| 汤原县| 鹤山市| 平顺县| 大城县| 海盐县| 和林格尔县| 长宁县| 泌阳县| 吉林省| 赤峰市| 镇沅| 瓮安县| 娄底市| 双鸭山市| 沂水县| 油尖旺区| 比如县| 灵宝市| 民丰县| 民县| 渭源县| 常州市| 治县。| 青河县| 大洼县| 西平县| 饶平县| 炉霍县| 墨玉县| 海原县| 怀安县| 牙克石市| 萝北县| 兴安盟| 正蓝旗| 贵南县|