關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 用CPLD實現Gollmann密鑰流發生器

        用CPLD實現Gollmann密鑰流發生器

        作者:■ 重慶郵電學院 吳畏 陳廣輝 張高峰 時間:2005-03-04 來源:電子設計應用2004年第12期 收藏

        摘    要:本文根據密鑰流發生器的原理和產生的程序,利用語言和,設計出密鑰流發生器。該發生器滿足一般的加密要求,可以保護信息傳輸的安全。
        關鍵詞: ; ;

        本文引用地址:http://www.104case.com/article/4532.htm

        引言
        對通信數據進行加密的方法可分為兩大類:軟加密和硬加密。其中硬加密具有加密強度大、可靠性高等特點。本文根據流密碼發生器原理,用設計出了Gollmann流密碼發生器。

        原理
        密碼安全的發生器用于流密碼時十分理想,這些發生器的輸出與真正隨機的位發生器難以區分,只需將發生器的輸出與明文流異或就可以得到良好的流密碼。
        Gollmann流密碼發生器由一串LFSR(線性反饋移位寄存器)構成,每個LFSR的時鐘由前一個LFSR控制,如果t-1時刻LFSR-1的輸出為1,則LFSR-2在t時刻階躍;如果t-1時刻LFSR-2的輸出為1,則LFSR-3在t時刻階躍,以此類推,最后一個LFSR的輸出為發生器的輸出。如果所有LFSR的長度都為l,則n個LFSR構成的系統的線性復雜度為:
        l*(2l-1) n-1

        流密碼發生器的設計
        根據Gollmann流密碼發生器的原理設計的發生器的原理框圖可用MAX+plusII的電路圖方式表示,如圖1所示。
        在Gollmann流密碼發生器中,LFSR是其重要的組成部分。本文只采用了3級LFSR,其中LFSR長度為4比特,其生成多項式為x4+x1+1;LFSR16長度為16比特,其生成多項式為x16+x5+x3+x2+1;LFSR32長度為32比特,其生成多項式為x32+x7+x6+x2+1。
        其中LFSR的程序描述如下:
        entity lfsr is
        port(clk,en:in std_logic;
          data:out std_logic);
        end entity;
        architecture bev of lfsr is
        signal sh:std_logic_vector(0 to 3);
        begin
        process(clk,en)
        begin
         if en='0' then
          sh<="1111";
         elsif clk='1' and clk'event then
                 sh(3)<= sh(3) xor sh(0) ;
          for i in 1 to 3 loop
          sh(i-1)<=sh(i);
          end loop;
          data<=sh(0);
         end if;
        end process;
        end bev;
        Gollmann流密碼發生器的工作流程為:在初始時刻,使能信號en為1時將所有LFSR中的寄存器賦值為1。隨著時鐘clk下降沿的到來,將第一個LFSR的輸出信號與輸入信號1異或,再將其結果和clk進行與運算作為第二個LFSR的輸入,同時該異或結果還將和第二個LFSR的輸出進行異或。異或后的結果既同clk做與運算后作為第三個LFSR的輸入,同時又與第三個LFSR的輸出做異或運算。第三次異或后的結果即為Gollmann流密碼發生器的輸出結果。
        本文選用Altera公司的MAX+plus II 10 Baseline對VHDL源程序編譯,這個工具支持VHDL的編譯和仿真。對Gollmann流密碼生成器的程序進行仿真,結果如圖2所示。
        圖2中en為使能信號,clk為50MHz的時鐘信號,dataout為輸出信號。Lfsr32sh,lfsr16sh,lfsrsh為各個LFSR寄存器值的變化過程。
        在所有LFSR初始值都為1時(初始值不同,輸出的結果就有所不同),Gollmann流密碼生成器所產生的輸出類似于隨機序列,如圖2中dataout所示,可以滿足一般的加密要求。

        結語
        本文設計的Gollmann流密碼生成器結構簡單,加密能力較強,同時還可以繼續擴充多個LFSR,以增強其加密功能?!?/p>

        參考文獻
        1 馮暉,來鳳琪,王紹銀等. 計算機密碼學.中國鐵道出版社,1999
        2 趙俊超等. 集成電路的VHDL教程. 北京希望電子出版社,2002

        (收稿日期:2004-06-18)



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 墨脱县| 临猗县| 萍乡市| 青神县| 汤阴县| 阜城县| 开江县| 新和县| 凤城市| 南陵县| 四川省| 雷州市| 西充县| 临洮县| 六枝特区| 乐平市| 澄迈县| 安阳县| 南乐县| 卓资县| 肃宁县| 商南县| 进贤县| 任丘市| 长阳| 即墨市| 锡林郭勒盟| 陵川县| 石林| 沂源县| 冕宁县| 扎兰屯市| 泸水县| 读书| 安义县| 禹城市| 水富县| 武定县| 尉犁县| 肃北| 永靖县|