<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > KEELOQ技術(shù)的軟件實(shí)現

KEELOQ技術(shù)的軟件實(shí)現

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/242378.htm

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

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

1 KEELOQ技術(shù)的一般特點(diǎn)

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

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

(2)發(fā)送方發(fā)送的碼只能被一個(gè)特定的對象有效接收,接收方只有預先取得(通過(guò)學(xué)習)發(fā)送方的加密鑰匙后,才能對接收到的數據進(jìn)行有效解密。

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

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

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

正是這些特點(diǎn)使得KEELOQ技術(shù)越來(lái)越受重視,越來(lái)越廣泛使用。

2 硬件實(shí)現KEELOQ技術(shù)

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

描述信息序列號按鍵信號校驗位同步計數器

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

硬件實(shí)現KEELOQ技術(shù)加密過(guò)程如圖1所示。

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

硬件實(shí)現KEELOQ技術(shù)解密過(guò)程如圖2所示。

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

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

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

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

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

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

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

正是這些不足之處促使我們研究用軟件來(lái)實(shí)現KEELOQ技術(shù)。

3 軟件實(shí)現KEELOQ技術(shù)

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

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

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

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

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

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

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>