新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 加密芯片DM2016在數字電視加密中的應用

        加密芯片DM2016在數字電視加密中的應用

        作者: 時間:2014-03-01 來源:網絡 收藏


        下面以BlowFish算法為例介紹加密算法在嵌入式系統中的應用。
          
        32位微處理器誕生后,Blowfistl算法在加密速度上超越了DES,引起了人們的關注。Blowfish算法沒有注冊專利,不需要授權,可以免費使用。正是由于這些特點,它廣泛應用于很多產品中。在這里,BlowFish算法用來加密64位的字符串,BlowFish算法使用2個“盒”——unSigned long pbox[18]和unsigned long sbox[4,256]。BlowFish算法中,有一個核心加密函數:BF_En。該函數輸入64位信息,運算后以64位密文的形式輸出。用BlowFish算法加密信息需要2個過程,即密鑰預處理和信息加密。
          
        以密鑰預處理為例,這時,BlowFish算法的源密鑰——pbox和sbox是固定的。要加密一個信息,需要自己選擇一個。key,用這個key對pbox和sbox進行變換,得到下一步信息加密所需的key_pbox和keg_sbox。具體的變換算法如下:
          
        ①用sbox填充key_sbox。
          
        ②用自己選擇的key以8個一組去異或pbox,用異或的結果填充key_pbox。key可以循環使用。例如,選的key是”abcdefghijklmn”,則異或過程為

          keg_pbox[O]=pbox[O]abcdefgh
          keyr_pbox[1]=pbox[1]ijklmnab
          …………
          
        如此循環,直到key_box填充完畢。
          
        ③用BF_En加密一個全“O”的64位信息,用輸出的結果替換key__pbox[O]和key_pbox[1]。此時,i=O。
          
        ④用BF_En加密替換后的key_pbox[i]和key_phox[i+1],用輸出替代key_pbox[i+2]和key_phox[i+3]。
          
        ⑤i=i+2,繼續第4步,直到key_pbox全部被替換。
          
        ⑥用key_pbox[16]和keyl_pbox[17]做首次輸入(相當于上面的全“O”輸入),用類似的方法替換key_sbox進行信息加密。信息加密就是用函數把待加密信息x分成32位的兩部分:xL和xR,再用BF_En函數對輸入信息進行變換。
          
        以下是初始化sbox、pbox及定義全局變量key_pbox、key_sbox的C程序例子。


        結 語
          
        隨著嵌入式系統越來越廣泛的應用,安全保密問題也越來越受到重視。密碼學為其提供了正確的理論基礎。同時,性能優良的硬件(如)成為實現其安全保密的物質基礎。二者的有效結合為防止嵌入式系統開發成果被仿制或剽竊提供了有力的保障。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 德化县| 根河市| 谷城县| 兰州市| 朝阳县| 宁国市| 浦城县| 福安市| 阿拉善左旗| 邵阳县| 兰考县| 大渡口区| 枝江市| 睢宁县| 长宁县| 浦江县| 伊吾县| 铜陵市| 班玛县| 宁德市| 沙田区| 金门县| 田东县| 乃东县| 闻喜县| 涟水县| 年辖:市辖区| 台江县| 噶尔县| 达日县| 读书| 河津市| 海伦市| 诸暨市| 阳城县| 吴旗县| 焦作市| 新建县| 怀安县| 福贡县| 浠水县|