《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > KEELOQ技術(shù)的軟件實現(xiàn)

KEELOQ技術(shù)的軟件實現(xiàn)

2009-02-05
作者:李福平 金偉正 鄧德祥

??? 摘? 要: KEELOQ技術(shù)是一種重要的安全加密解密技術(shù),它具有多變化,抗截獲的特性。該技術(shù)的重要部分是保密的,只掌握在國外少數(shù)幾家公司手中。提出了一種實用可靠的KEELOQ算法,并給出了實現(xiàn)算法的軟件流程。 ?

??? 關(guān)鍵詞: KEELOQ技術(shù)? 加密? 解密? 同步

?

??? KEELOQ技術(shù)作為一種保密的高新技術(shù),對許多人來說比較陌生,但是它正廣泛應(yīng)用于各種防盜報警系統(tǒng)(特別是車輛的防盜報警系統(tǒng))、遙控電子鎖及其他安全控制領(lǐng)域。它是一種多變化、抗截獲、安全可靠的跳碼加密解密技術(shù)。目前這項先進技術(shù)只掌握在國外少數(shù)幾家公司手中,他們利用集成電路設(shè)計的優(yōu)勢,把這項技術(shù)封裝在芯片里,向用戶銷售。工程師基于他們提供的硬件做一些開發(fā),很多時候感到不方便。KEELOQ技術(shù)其實是一種復(fù)雜的協(xié)議,只要弄清楚它的原理,就可以根據(jù)實際需要在這個協(xié)議里選擇合適的參數(shù)。本文對KEELOQ技術(shù)進行了專門研究,提出了一種軟件實現(xiàn)方法,并將這一方法應(yīng)用于汽車防盜報警系統(tǒng)中。?

1 KEELOQ技術(shù)的一般特點?

??? KEELOQ技術(shù)作為一種安全實用的加密解密技術(shù),具有以下特點:?

??? (1)將KEELOQ技術(shù)應(yīng)用于通信中,安全性非常好。同一條命令,經(jīng)KEELOQ編碼后每次得到的碼字都不相同(在一個非常長的周期里),且這種變化是無規(guī)律的。?

??? (2)發(fā)送方發(fā)送的碼只能被一個特定的對象有效接收,接收方只有預(yù)先取得(通過學習)發(fā)送方的加密鑰匙后,才能對接收到的數(shù)據(jù)進行有效解密。?

??? (3)特定的對象只有經(jīng)過學習某一發(fā)送者的信息后,才能使用。?

??? (4)這種技術(shù)能防止發(fā)送的碼被截獲后再轉(zhuǎn)發(fā)帶來的危害。?

??? (5)接收方能隨時清除自己保存的學習信息,使原來的發(fā)送方不能控制自己,這樣能有效避免第三方非法使用。?

??? 正是這些特點使得KEELOQ技術(shù)越來越受重視,越來越被廣泛使用。?

2 硬件實現(xiàn)KEELOQ技術(shù)?

??? 基于KEELOQ技術(shù)的專用芯片分為兩種:一種實現(xiàn)加密功能,一種實現(xiàn)解密功能,通常配合起來使用。實現(xiàn)加密功能的芯片帶有4個按鍵接口,組合使用可達15種功能。每一次有鍵按下,就自動生成KEELOQ加密碼。KEELOQ加密碼的組成一般如下:?

???

??? 一旦芯片制造出來,上述項的長度就是確定的。如序列號的長度設(shè)計成28位,整個系統(tǒng)的容量就不會超過268435455(228-1),如果想擴展系統(tǒng)容量非常不方便。這種芯片在使用前必須預(yù)置一些初值(序列號、加密鑰匙、同步計數(shù)器)。在發(fā)送方和接收方一起工作前,接收方必須先通過學習來獲得并存儲發(fā)送方的序列號、加密鑰匙和當前同步計數(shù)器的值。學習是KEELOQ技術(shù)的一個重要方面。?

??? 硬件實現(xiàn)KEELOQ技術(shù)加密過程如圖1所示。?

?

?

??? 序列號用來標識不同的對象;加密鑰匙用來對發(fā)送的數(shù)據(jù)進行加密,增加破譯的難度,它不直接發(fā)送出去;同步計數(shù)器是用來抗截獲的,每次有鍵按下,同步計數(shù)器的值就被更新,它經(jīng)過加密變換后被發(fā)送出去。?

??? 硬件實現(xiàn)KEELOQ技術(shù)解密過程如圖2所示。?

?

?

??? 接收方在確認序列號匹配后,對接收的數(shù)據(jù)進行解密,然后檢查同步計數(shù)器是否匹配,在確認其匹配后,再去處理接收到的按鍵信令。?

??? 經(jīng)過使用發(fā)現(xiàn)用硬件實現(xiàn)KEELOQ技術(shù)存在下列不足之處:?

??? (1)硬件成本高,在使用KEELOQ芯片時,還需要一個單片機(MCU)來控制,量產(chǎn)時這點顯得比較突出。?

??? (2)按鍵信令必須組合(同時按下1個以上的鍵),否則只有4 種功能,通過組合最多只有15種功能。這導(dǎo)致按鍵不方便、功能擴展幾乎不可能。?

??? (3)某一特定型號的芯片其序列號和同步計數(shù)器的長度是固定的。當系統(tǒng)建成后,開發(fā)者如果想只通過軟件升級來擴充系統(tǒng)的容量或提高系統(tǒng)的性能、用硬件實現(xiàn)KEELOQ技術(shù)基本不可能。?

??? (4)KEELOQ技術(shù)對按鍵信令編碼只停留在檢錯這一層面上,沒有作糾錯層面的編碼。?

??? (5)受硬件設(shè)計限制,靈活性差;不擁有核心技術(shù),容易受制于人。?

??? 正是這些不足之處促使我們研究用軟件來實現(xiàn)KEELOQ技術(shù)。?

3 軟件實現(xiàn)KEELOQ技術(shù)?

??? KEELOQ技術(shù)的核心是KEELOQ算法,KEELOQ算法作為KEELOQ技術(shù)的重要部分是保密的。經(jīng)過長時間的探索、研究、驗證,本文提出了一種可靠的KEELOQ算法,并將其成功應(yīng)用到汽車防盜報警系統(tǒng)中,取得了非常好的效果。?

??? 序列號和加密鑰匙選用32位的m序列,對于一個用戶而言,其加密鑰匙和序列號不相同。同步計數(shù)器的長度從理論上講越長越好,但是如果越長其他方面的開銷就越大,這里選用16位的m序列。汽車防盜器由兩部分組成:裝在車身上的部分稱之為座機;手持控制部分稱之為手機。為了節(jié)省硬件開銷,手機只設(shè)計三個按鍵,無組合按鍵,一共有12種按鍵功能。每個鍵有四種狀態(tài):一點按、兩點按、三點按、長按。這12種按鍵又分成兩類:一是控制座機操作的命令控制鍵(包括學習啟動鍵),一是手機自身操作鍵。每次按下命令控制鍵,就執(zhí)行KEELOQ加密過程。軟件實現(xiàn)KEELOQ加密操作流程如圖3所示。?

?

?

??? 對按鍵信令進行糾錯編碼處理是必要的:假設(shè)某次按鍵信令為0110,經(jīng)信道傳輸后,接收方解密得到的碼字變?yōu)?101,而0101也表示一種有效的命令。顯然,這種誤操作帶來的后果是嚴重的。用Walsh碼編碼,經(jīng)過編碼后,能同時發(fā)現(xiàn)并糾正3個或3個以內(nèi)的錯誤;同時根據(jù)編碼的特點,用加密鑰匙對編碼后的按鍵信令做變換處理。試驗表明這些措施極大地提高了系統(tǒng)的可靠性。?

??? KEELOQ算法的關(guān)鍵之處在于同步計數(shù)器。如前所述,手機在第一次使用前必須預(yù)置有效的序列號、同步計數(shù)器值、加密鑰匙。座機通過控制可以學習任何一只手機,學習成功后保存該手機的序列號、同步計數(shù)器值、加密鑰匙。每次按下命令控制鍵時,手機的同步計數(shù)器的值加1(僅僅只有一位發(fā)生變化),經(jīng)過m序列發(fā)生器,從統(tǒng)計的角度看,有一半的位發(fā)生改變。接收方在確認接收數(shù)據(jù)的序列號匹配后,對接收數(shù)據(jù)進行解密,然后確定同步計數(shù)器是否匹配,只有同步計數(shù)器確認匹配后,才處理接收的按鍵信令。通過圖4來說明確認同步計數(shù)器的匹配過程。

?

?

??? KEELOQ技術(shù)是通過一個復(fù)雜的同步技術(shù)來實現(xiàn)的。雖然開發(fā)的防盜系統(tǒng)是雙向通信的,但為了方便,將座機稱為接收方,手機稱為發(fā)送方。接收方判斷解密后的同步計數(shù)器的值是否在單次操作范圍內(nèi)。如果在,就用接收到的同步計數(shù)器值替換原來的同步計數(shù)器的值,并執(zhí)行接收到的命令;否則,看是否在雙次操作范圍內(nèi)。如果在,則暫存該計數(shù)器的值,并等待接收下一次有效數(shù)據(jù)。在這種情況下,如果接收到數(shù)據(jù),在確認同步計數(shù)時就判斷接收到的同步計數(shù)器的值是否在上次暫存同步計數(shù)器值的單次操作范圍內(nèi)。如果在,用當前接收到的同步計數(shù)器值替換原來的同步計數(shù)器的值,并執(zhí)行命令;如果發(fā)送方的同步計數(shù)器的值不在接收方的雙次操作范圍內(nèi),則該命令不被執(zhí)行,且同步計數(shù)器的值不被保存。這個發(fā)送方必須被接收方學習后才能對接收方進行有效控制。由于接收方每次接收到有效命令后,就更新自己同步計數(shù)器的值,使前一次用過的同步計數(shù)器的值成為禁用碼,不再有效。這樣就能夠避免發(fā)送的碼被截獲而再轉(zhuǎn)發(fā)帶來的危害。?

??? 需要說明的是上述單次操作范圍、雙次操作范圍,以及同步計數(shù)器的長度可以根據(jù)實際需要來選擇。由于同步計數(shù)器非常重要,算法在處理時對它進行了檢錯編碼處理。軟件實現(xiàn)KEELOQ解密操作流程如圖5所示。?

?

?

??? 在KEELOQ技術(shù)中,學習功能是一個重要部分。學習包括清除原來存儲的信息和學習新的信息,它分為一般學習和安全學習兩種。本文采用安全學習方式。通過長按座機上的學習清除鍵(該鍵有兩種功能:長按為清除功能,點按為進入學習模式)來清除原來手機的信息(原來的手機就不能控制該座機,必須通過學習后才能控制),點按座機上的學習清除鍵,如果座機上的原來信息已被清除,則進入學習模式;否則,點按無效,不進入學習模式。這時,如果手機發(fā)送學習啟動命令給座機,處于學習狀態(tài)的座機收到命令后立即向手機發(fā)送請求學習信號,收到請求信號后,手機將經(jīng)過變換處理后的加密鑰匙和同步計數(shù)器立即發(fā)給座機,發(fā)完之后就退出學習狀態(tài),并保存新的加密鑰匙和同步計數(shù)器值;座機確認數(shù)據(jù)有效后,就保存加密鑰匙和同步計數(shù)器值并退出學習模式,學習成功;如果數(shù)據(jù)無效,座機仍然在學習模式,需要繼續(xù)學習。每次學習時手機發(fā)給座機的加密鑰匙和同步計數(shù)器都不相同(無規(guī)律變化),這是安全學習的主要特點。為了更安全,座機最多只能學習一支手機的信息。安全學習操作流程如圖6所示。?

?

?

??? 可以看到,用軟件實現(xiàn)KEELOQ技術(shù)并不復(fù)雜,一般的單片機就夠用。手機部分選用的是華邦(WINBOND)4位單片機,座機部分選用飛利浦(PHILIPS)8位單片機。用軟件實現(xiàn)KEELOQ技術(shù)靈活性很大:手機按鍵可根據(jù)需要進行設(shè)計(仿移動電話按鍵設(shè)計);序列號、加密鑰匙、同步計數(shù)器長度可根據(jù)需要進行選擇,以后升級或改變都比較容易;手機發(fā)送的按鍵信令進行糾錯編碼,用加密鑰匙對發(fā)送數(shù)據(jù)進行編碼時可以有重點地做一些復(fù)雜的變換處理。有些廠家宣稱他們能做到同一條按鍵信令約42.9(232-1)億次無重復(fù)發(fā)送,其實只要增加加密鑰匙和同步計數(shù)器的長度就可以做到這點,甚至比這更多次的無重復(fù)發(fā)送。這些都可以根據(jù)客戶對系統(tǒng)要求的變化而進行軟件上的修改,不需要改變硬件設(shè)計。總之,用軟件實現(xiàn)KEELOQ技術(shù),可以節(jié)約硬件成本,系統(tǒng)設(shè)計可以更少依賴于硬件,系統(tǒng)性能還能做到更優(yōu)越可靠。?

參考文獻?

1 Bruce Schneier,吳世忠譯.應(yīng)用密碼學.北京:機械工業(yè)出版社,2000年?

2 樊昌信. 通信原理.北京:國防工業(yè)出版社,1995年.?

3 胡 征,樊昌信.沃爾什函數(shù)及其在通信中的應(yīng)用. 北京:?人民郵電出版社,1980年.?

4 王新梅,肖國鎮(zhèn).糾錯碼——原理與方法. 西安:西安電子科技大學出版社,1991年?

5 S.W. Golomb. Shift Register Sequences. San? Francisco:?Holden-Day, 1967?

6 W.H. Press, B.P. Flannery, S.A. Teukolsky,W.T. Vetterling. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press,1988.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩综合一区| 欧美一区永久视频免费观看| 国产日韩欧美在线看| 欧美日韩国产三级| 欧美成人一区二免费视频软件| 久久国产天堂福利天堂| 香蕉久久国产| 亚洲欧美在线一区| 亚洲一区免费看| 亚洲视频在线一区观看| 在线视频日韩精品| 一区二区三区四区五区精品| 亚洲精品免费一二三区| 亚洲欧洲日本一区二区三区| 亚洲激情视频| 91久久中文字幕| 91久久夜色精品国产网站| 亚洲国产天堂久久综合| 亚洲大胆av| 亚洲第一二三四五区| 久久经典综合| 亚洲国产91| 91久久精品国产91久久| 亚洲精品中文字幕在线观看| 99热在这里有精品免费| 亚洲性感激情| 亚洲免费影视| 欧美亚洲网站| 久久米奇亚洲| 欧美国产视频在线观看| 欧美日韩一区二区三区在线 | 欧美日韩国产在线看| 欧美日韩精品综合| 国产精品二区二区三区| 国产欧美综合一区二区三区| 韩日成人av| 亚洲区免费影片| 中文亚洲欧美| 欧美在线一区二区| 亚洲人成网站影音先锋播放| 一本色道久久综合亚洲精品按摩 | 香蕉亚洲视频| 最新成人在线| 亚洲女人天堂成人av在线| 欧美伊久线香蕉线新在线| 久久久夜色精品亚洲| 欧美美女福利视频| 国产精品视频久久| 影音先锋日韩有码| 夜夜嗨av一区二区三区| 午夜宅男欧美| 亚洲老板91色精品久久| 亚洲综合精品自拍| 噜噜噜在线观看免费视频日韩| 欧美日韩在线不卡一区| 国产美女高潮久久白浆| 在线观看的日韩av| 亚洲手机在线| 亚洲国产欧美一区二区三区同亚洲| 亚洲乱码国产乱码精品精天堂| 亚洲一区二区三区四区中文| 久久久水蜜桃| 国产精品v欧美精品∨日韩| 黄色成人av网站| 亚洲精品一区中文| 亚洲欧美日韩直播| 日韩亚洲欧美一区| 久久精品国产一区二区三区| 欧美精品在欧美一区二区少妇| 国产日韩精品一区| 亚洲日本理论电影| 性久久久久久久久久久久| 99国产精品| 久久久久久自在自线| 欧美日韩亚洲一区二区| 国内精品久久久久伊人av| 亚洲乱码国产乱码精品精可以看| 欧美一区二区三区喷汁尤物| 在线视频欧美日韩精品| 久久综合狠狠综合久久综合88| 欧美视频在线一区| 激情婷婷久久| 亚洲欧美精品在线观看| 99v久久综合狠狠综合久久| 久久久噜噜噜久久狠狠50岁| 国产精品国产精品| 亚洲黄色在线视频| 久久国产色av| 翔田千里一区二区| 欧美日韩国产不卡在线看| 在线播放国产一区中文字幕剧情欧美| 亚洲女女做受ⅹxx高潮| 中文日韩欧美| 欧美极品在线观看| 在线播放日韩欧美| 欧美一区视频在线| 欧美在线视频一区| 国产精品萝li| 在线一区二区三区做爰视频网站 | 亚洲欧美日本在线| 亚洲性感激情| 欧美日本免费一区二区三区| 尤妮丝一区二区裸体视频| 欧美一区激情| 久久国产精品久久久久久| 国产精品久久久久av免费| 日韩一级视频免费观看在线| 99riav国产精品| 欧美精品一区在线发布| 亚洲国产综合91精品麻豆| 亚洲国产一区二区三区a毛片| 久久久九九九九| 国产日韩综合| 性欧美xxxx大乳国产app| 欧美一区二区三区久久精品| 国产精品婷婷| 亚洲女人天堂av| 小黄鸭精品aⅴ导航网站入口| 国产精品二区影院| 亚洲一二三四久久| 亚洲欧美精品伊人久久| 国产精品久久久久久久久果冻传媒| 99热在这里有精品免费| 亚洲视频在线观看视频| 欧美午夜电影完整版| 中文欧美日韩| 小处雏高清一区二区三区| 国产欧美精品一区二区三区介绍| 亚洲欧美国产毛片在线| 欧美在线网站| 国内精品久久久久久| 亚洲激情午夜| 欧美另类在线播放| 夜色激情一区二区| 午夜精品在线| 国产视频观看一区| 久久精品人人爽| 欧美成人一区二区三区在线观看| 亚洲精品久久久一区二区三区| 一区二区三区成人| 国产精品ⅴa在线观看h| 亚洲伊人久久综合| 久久精品免费电影| 在线欧美视频| 一区二区三区导航| 国产精品一香蕉国产线看观看 | 久久久久久久久综合| 在线不卡中文字幕| 99热免费精品在线观看| 国产精品大全| 久久精品电影| 欧美人与性动交cc0o| 亚洲一区二区在线免费观看| 久久精品国产亚洲一区二区三区| 狠狠色综合网| 99人久久精品视频最新地址| 国产精品色一区二区三区| 欧美专区福利在线| 欧美福利视频在线| 亚洲调教视频在线观看| 久久女同精品一区二区| 亚洲精品久久久久久下一站| 亚洲综合视频网| 国语自产偷拍精品视频偷| 亚洲美女免费视频| 国产伦精品一区二区三区免费迷 | 国产精品久久久| 亚洲高清不卡一区| 欧美日韩伦理在线免费| 香蕉成人伊视频在线观看| 欧美成人中文字幕在线| 亚洲天堂偷拍| 欧美成人精品一区| 亚洲一级高清| 欧美韩日精品| 午夜精品福利在线观看| 欧美黄网免费在线观看| 午夜精品一区二区三区四区| 欧美激情第二页| 欧美一区二区久久久| 欧美日本精品| 亚洲成人在线网| 国产精品久久久91| 亚洲免费观看| 国产一区二区三区奇米久涩| 一区二区三区四区五区在线| 韩国精品在线观看| 亚洲香蕉在线观看| 在线观看欧美视频| 欧美在线免费视屏| 日韩视频中文| 老司机精品导航| 午夜一区二区三区不卡视频| 欧美日韩精品三区| 亚洲国产视频a| 国产日韩欧美三区| 国产精品99久久久久久人| 伊人成年综合电影网| 欧美一区三区三区高中清蜜桃| 亚洲欧洲中文日韩久久av乱码|