- 相關推薦
一種基于KEELOQ的改進加密算法及其在單片機中的實現技術
摘要:討論了Microchip公司的KEELOQ加解密算法的實現機制,通過引入隨隨機數,提出了一種新的改進算法,并給出了其在單片機中的實現方案。該算法具有簡單實用、所需硬件資源少、傳輸效率和安全性相對較高等優點,適用于需要數據加密的小型無線數據傳輸系統,具有廣闊的應用前景。關鍵詞:加密算法 KEELOQ 單片機 跳碼技術
當今的編解碼電路已經朝著高度集成化和微電腦化發展。像普通的固定編解碼芯片和MC145026/145027、PT2262/2272等已被廣泛應用于公用系統中,給生活帶來了方便。然而這些芯片不能保證系統的安全性。由于這些系統每次發送的數據流一模一樣,只是高低電平的組合,第三方面通過捕捉設備,一旦用戶信號出現,便可瞬間取得合法的身份識別碼;或使用編碼掃描設備,主動攻擊解碼芯片。因此保證系統的安全性是一個很現實的問題。在此背景下,基于加密算法的編解碼IC的安全機制得到了應用。Microchip公司的KEELOQ技術是這種技術的代表。KEELOQ技術是一種多變化、抗截獲得、安全可靠性高的非線性跳碼加密解密技術。KEELOQ目前是通過硬件芯片IC(以Mirochip公司的HCS300為代表)實現,主要應用于汽車陣盜系統和門禁系統,是無鑰進入系統領域的首選芯片。但也由于硬件芯片本身的限制(其所能加密的數據必須預先寫入EEPROM中),使之很難用于其它(如數據加密)領域。
本文把這項封裝在芯片里的KEELOQ加密技術用軟件方式實現,并針對單片機的特性進行了適當改進。這種在單片機中實現的改進算法不僅包含了原來HCS300所具備的所有功能,而且在系統安全性、靈活性、可擴展性、傳輸效率等方面均有較大改善,同時對改進算法在數據加密領域作為全新的嘗試,以其特殊的密鑰管理方法獨立于對稱型加密(如DES)與不對稱型加密算法(即公開密鑰體制,如RSA),成為一種適用于無線傳輸領域小型系統的數據加密算法。
1 KEELOQ技術簡介及其硬件實現
KEELOQ技術的核心思想是用64bit的EN_KEY[64:0](加密密鑰)去加密32bit的CSR[31:0](校驗碼)得到32bit的CRYP密文。加密機制為:首先定義一個非線性表,這個非線性表有5位輸入NLF_IN[4:0],一位輸出NLF_OUT。它在CSR[31:0]中間隔均勻地取固定5位:I0、I1、I2、I3、I4,通過非線性產生一個輸出碼NLF_OUT;這一位輸出碼NLF_OUT再與EN_KEY中的15位、CSR中的2位進行異或運算后輸出第一位輸出碼CRYP[0];每輸出一位后,EN_KEY、CSR分別進行移位,EN_KEY作循環移位,CRYP[0]作為CSR移位的輸入;重復上述步驟直到輸出32位CRYP[0:31]。依此法,即使32bit的校驗碼CSR中只有一位發生變化,用KEELOQ加密算法得到的CRYP密文也會有50%以上的數據位(16bit)發生變化。
Microchip公司以KEELOQ技術為基礎開發了滾動碼系統專用芯片,HCS300是其中較典型的一款。它是一塊8引腳
[1] [2] [3] [4] [5]
【一種基于KEELOQ的改進加密算法及其在單片機中的實現技術】相關文章:
基于KEELOQ技術的車庫門禁系統04-28
技術商品及其在市場中的實現04-28
一種基于組態技術實現的通用自動測試系統04-27
基于定點LMS算法的自適應天線陣技術及其FPGA實現05-01
技術生態化及其社會實現04-30
基于GAS的圖像跟蹤系統及其實現方案05-02
基于混沌映射的一種交替結構圖像加密算法04-27
基于SuperMap IS Java技術楊凌WebGIS實現04-28
相關辨識法的改進及其在伺服系統上的實現04-26