新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于KEELOQ跳碼技術(shù)的密碼系統(tǒng)設(shè)計

基于KEELOQ跳碼技術(shù)的密碼系統(tǒng)設(shè)計

作者: 時間:2006-10-23 來源:網(wǎng)絡(luò) 收藏
1 引言

傳統(tǒng)編譯碼芯片如VD5026,VD5027,MCI45026,MCI45027等已經(jīng)在防盜、安全等系統(tǒng)得到廣泛的應(yīng)用,這些芯片簡單易用,但具有很大的缺陷:編碼量少而極易重碼;長度短(一般為8-12位,最多不超過16位),因而數(shù)據(jù)極易被掃描和破譯,不能滿足高安全場合的需要。

基于技術(shù)的芯片則克服了以上兩個缺陷,較好地解決了的防盜問題,所謂,就是不是固定的,而且不斷跳動變化的,是為滿足高性能要求而設(shè)計的,芯片的使用十分簡便,只要在第一次使用前,編譯碼器進(jìn)行一次"學(xué)習(xí)",使編譯碼器的密碼同步,通常一個譯碼器可以支持多個編碼器,再加上其電壓使用范圍寬,功率消耗極小,因此成為傳統(tǒng)編譯碼器的理想升級換代產(chǎn)品。

2 跳碼核心技術(shù)--技術(shù)
使用技術(shù)的編碼器每次發(fā)出的密碼都不同,只有配對的譯碼器能準(zhǔn)確譯出收到的密碼,使用不配對的編、譯碼器或重復(fù)發(fā)送譯碼器曾收到的密碼等均告知無效。即使編碼器發(fā)送出的碼在譯碼器方?jīng)]有收到,也不會影響以后的正常使用。這一切歸功于芯片內(nèi)強(qiáng)大的微處理器及KEELOQ獨特的同步算法。

跳碼芯片的密碼雖是一大串幾乎隨機(jī)的亂麻,但實際毫不紊亂,密碼包括2部分:

(1)跳碼,編譯器每次產(chǎn)生的都不一樣,產(chǎn)生后就被加密;

(2)在傳輸過程并不加密,主要包括編碼器的系列號,在與譯碼器的配套使用中作識別信號。

跳碼包括功能信息、辨別碼以及同步計數(shù)器、通過一個加密算法加密后再傳送出去。跳碼芯片在使用前必須預(yù)置序列號、加密鑰匙、同步計數(shù)器、發(fā)送方和接收方一起工作前,接收方必須先通過"學(xué)習(xí)"來獲得并存儲發(fā)送方的序列號、加密鑰匙和當(dāng)前同步計數(shù)器的值。

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

在KEELOQ技術(shù)中"學(xué)習(xí)"功能是一個重要部分,"學(xué)習(xí)"包括清除原來的存儲的信息和學(xué)習(xí)新的信息,每對跳碼型編譯碼器在使用前都要至少單向"學(xué)習(xí)"一次,密碼在第一次配對使用時是隨機(jī)產(chǎn)生的亂碼。然后把要配對的編碼器的密碼傳進(jìn)譯碼器,譯碼器就會學(xué)習(xí)和存儲這一次的安全代碼,從此這一對譯碼器的密碼就按照同一套跳變碼算法同步變化,譯碼器以后每次就能準(zhǔn)確譯出編碼器的密碼,同時,這一存入的安全代碼被作為無效碼參考,再收到同樣的密碼就會視而不見,因而能有效地防止偷碼冒用。

最后,譯碼器設(shè)計了一套容錯算法,他不但能預(yù)知配對的編碼器的下一個密碼變化,而且能預(yù)知他以后256次的變化碼,并都能準(zhǔn)確譯出,這樣,即使發(fā)射器被亂按了好多次不為譯碼器所知,但都能依舊保護(hù)默契配合,保持了極好的跳變譯碼能力和抗截碼的功能。

3 應(yīng)用電路

3.1 HCS301跳碼編碼器的管腳及其功能

HCS301跳碼編碼器的引腳排列如圖3所示。

引腳1-4:S0-S3,數(shù)據(jù)輸入通道,其中S2,S3在編程狀況時可作為時鐘輸入,引腳5:VSS,電源地;引腳7:LED,指示工作狀態(tài)及低電壓指示,可直接驅(qū)動LED,低壓時,指示燈將以5次/秒的頻率閃爍;引腳8:VDD,電源,工作電壓為+3.5-+13.0V。

編碼器 HCS301發(fā)出的密碼長66位,由34位的固定碼和32位由KEELOQ算法產(chǎn)生的加密碼組成,固定碼主要包括28位的系列號(每個編碼器獨一無二),還含6個狀態(tài)位,其中2位顯示號碼是否重復(fù)、電源是否低壓;另外4位狀態(tài)位為4位的功能信息(即按鍵輸入組合情況)。32位的加密碼中含4位功能信息,以及12位的辨別碼(判斷譯碼過程是否有效)和16位同步計數(shù)器值。每次按下命令控制鍵時,譯碼器的同步計數(shù)器的值加1,從沖擊的角度看,有一半的位將發(fā)生改變,因此相鄰的密碼將大相徑庭。一個相當(dāng)長的時期內(nèi),密碼將不會重復(fù),不重復(fù)次數(shù)可達(dá)64K(216),有人統(tǒng)計過,如果每天按10次,那么要經(jīng)過18年密碼才有可能重復(fù)。

HCS301還具有獨特的電源自動關(guān)閉功能,即只有在有編碼信號時才進(jìn)入工作狀態(tài),靜態(tài)功耗極低,降低了電源功耗。通過二極管陣列,HCS301最大可實現(xiàn)15個功能。

3.2 TDH6301跳碼譯碼器的管腳及其功能

TDH6301跳碼譯碼器的引腳排列如圖4所示。

引腳1:VDD,電源,一般接+5V;引腳2:LEARNIN,"學(xué)習(xí)"鍵;引腳3,LEARNLED,"學(xué)習(xí)"指示輸出;因該4:MCLR:譯碼器復(fù)位端口;引腳5:LMS,上拉時鎖存輸出,下拉時暫存輸出;引腳6:NC(D5),空引腳;引腳7:NC(D4),空引腳;引腳8- 11,D0-D3,數(shù)據(jù)輸出端;引腳12:VT,接收信號有效輸出;引腳13:RFIN,接收信號輸入;引腳14:VSS,接地。

TDH6301與編碼芯片(HCS300或HCS301)配對使用,可省去了煩瑣的編碼和配對。他有兩種輸出方式,當(dāng)TDH6301的5端懸空時為脈沖型電平輸出方式,即無接收信號時,數(shù)據(jù)輸出將保持約500ms;當(dāng)TDH6301的5端接法如圖4所示時為鎖存型電平輸出方式,即輸出電平將保持到有其他輸出口接收信號時為止。

TDH6301的輸出狀態(tài)由"學(xué)習(xí)"過的編碼器決定,即對應(yīng)的按鍵輸入組合產(chǎn)生對應(yīng)的輸出組合,因而通過門電路組合TDH6301的輸出能夠?qū)崿F(xiàn)15個功能。

3.3 應(yīng)用電路圖

HCS301的應(yīng)用電路非常簡單,只需要幾個按鍵和幾個電路和電容就可實現(xiàn),如果用于無線,還需要RF(射頻)電路,圖5為具有4個功能的編碼電路,通過二極管陣列任意組合S0-S3,HCS301最多可擴(kuò)展到15個功能。在傳輸?shù)倪^程中,指示燈將被點亮。如果HCS301檢測到有新的按鍵下,復(fù)位將立即產(chǎn)生,密碼將無法完整的發(fā)出。

相應(yīng)的譯碼電路圖如圖6所示,譯碼器的RFIN端接收譯碼器PWM端輸出的信號:

初次配對使用時,要先進(jìn)行"學(xué)習(xí)"。按下"學(xué)習(xí)"鍵,使譯碼器進(jìn)入"學(xué)習(xí)"接收狀態(tài),學(xué)習(xí)指示燈閃亮一下后熄滅。之后的30s內(nèi),按下編碼器的任意鍵,輸出信號代碼,若編碼器未被學(xué)習(xí)過,學(xué)習(xí)指示燈長亮約1s后自動熄滅,說明編碼器輸出的代碼被成功學(xué)習(xí),學(xué)習(xí)過程完成;若學(xué)習(xí)指示燈快速閃亮(>5次/s)表示學(xué)習(xí)失敗,可能是芯片不配套或者被燒壞,學(xué)習(xí)成功以后,這一對編譯碼器就可以同步跳變工作了。

TDH6301譯碼器最多可支持15個譯碼器,只需經(jīng)過上述學(xué)習(xí)步驟,就可實現(xiàn),當(dāng)編碼器學(xué)習(xí)溢出時(即超過15個編碼器時),譯碼器會從頭開始自動覆蓋并作廢最早一個已學(xué)習(xí)的譯碼器,長按學(xué)習(xí)鍵超過8s,待學(xué)習(xí)燈LED熄滅后,譯碼器自動清除存儲器里的記憶內(nèi)容,這樣就可讓遺失的編碼器失效而作廢,但此時所有的編碼器都失效,因此,所有的編碼器需重新進(jìn)行學(xué)習(xí)一遍才可正常使用。

4 結(jié)語

譯碼芯片TDH6301有2種工作方式,可方便地選擇,跳碼芯片經(jīng)過擴(kuò)展,可以具有15個功能,跳碼技術(shù)的關(guān)鍵在于:對于同一動作(如開門),編碼器每次發(fā)出的編碼卻有極大不同,發(fā)過的碼字被記錄,重發(fā)也視為無效。且碼字具有足夠的長度,保密性很高,足以抵抗使用儀器對碼字進(jìn)行掃描,因此,跳碼芯片至少在目前是傳統(tǒng)密碼鎖更型換代的理想產(chǎn)品,可廣泛應(yīng)用汽車遙控報警器、家庭安全系統(tǒng)、電子鑰匙、門禁系統(tǒng)、自動門系統(tǒng)等高度安全保障領(lǐng)域。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉