<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的改進(jìn)加密算法及其在單片機中的實(shí)

[組圖]一種基于KEELOQ的改進(jìn)加密算法及其在單片機中的實(shí)

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

3.1 學(xué)習過(guò)程
  所謂學(xué)習,就是使用戶(hù)在主機端中注冊登記的過(guò)程。引進(jìn)隨機數RANDOM,對每一次學(xué)習來(lái)說(shuō),它所產(chǎn)生的隨機數是不一樣的,它所發(fā)送的數據也是變化的、不可預知的,提高了安全性。另外,RANDOM和序列號SN、出廠(chǎng)密鑰MKEY一起生成加解密密鑰EN_KEY,使得EN_KEY不再依賴(lài)于出廠(chǎng)密鑰MKEY,用戶(hù)可以隨時(shí)對加解密密鑰EN_KEY進(jìn)行修改,這樣也提高了安全性。
  進(jìn)入學(xué)習模式后,用戶(hù)端經(jīng)三次數據發(fā)送完成整個(gè)學(xué)習。過(guò)程如下:
  (1)用戶(hù)端產(chǎn)生隨機數RANDOM,與MKEY、SN經(jīng)后發(fā)送。主機接收到數據解密后,比對MKEY和SN,確認用戶(hù)是本系統用戶(hù)(比對MKEY)并且是一個(gè)新用戶(hù)(SN不在EEPROM中)時(shí),開(kāi)辟空間,保存SN和RANDOM。
  (2)用戶(hù)端和主機端分別利用密鑰生成生成,由MKEY+SN+RANDOM生成EN_KEY,并存入相應的存儲空間。
  (3)用戶(hù)端利用EN_KEY對SN、RANDOM、SYNC、MKEY進(jìn)行并發(fā)送。主機接收到數據后,比對MKEY、RANDOM、SN正確后把SYNC存入相應空間,請求第二次發(fā)送(只雙向通信中才有請求功能)。
  (4)用戶(hù)端收到發(fā)送請求后(如果是單向通信,則等待后直接發(fā)送)再對SN、RANDOM、SYNC、MKEY后發(fā)送。因為SYNC是每次改變的,所以這次數據位和上一次發(fā)送的數據位改變在50%以上。
  (5)主機在接收到數據解密后,比對同步碼SYNC,如果用戶(hù)和主機的同步碼變化規律相同則學(xué)習成功。
  三次發(fā)送即完成一次學(xué)習過(guò)程。第二次學(xué)習時(shí)隨機數重新產(chǎn)生,所以要求學(xué)習時(shí)三次數據發(fā)送是連續的,否則無(wú)效。以上各步中有任何一次數據比對失敗則學(xué)習失敗。主機端在前二次接收到數據后等待24s仍未見(jiàn)用戶(hù)發(fā)送數據則學(xué)習失敗。學(xué)習失敗后用戶(hù)需重新學(xué)習。
  隨機數則利用的計數器產(chǎn)生,有兩種方法供選用:
  (1)單次操作完畢后,的計數器一直不停地計數,在外界對它進(jìn)行再次操作或者要發(fā)送數據時(shí)停止計數。因為外界的操作或發(fā)送的時(shí)間是不定的,所以計數寄存器里面的數是隨機的。
  (2)可以對按鍵或操作時(shí)間進(jìn)行計時(shí)。用戶(hù)每次按鍵或操作的時(shí)間都是不定的,并且按鍵從抖動(dòng)到穩定的時(shí)間也是不定的,對它進(jìn)行計時(shí),如果把間隔的時(shí)間取得合適,即可得到近似隨機數。
3.2 發(fā)送過(guò)程
  在數據發(fā)送前,必須先對數據進(jìn)行加密。數據加密的過(guò)程如下:
  (1)重新定制非線(xiàn)性表。原是用64位密鑰去加密32位的明碼數據,現在把它改為64位密鑰去加密64位的明碼數據,密文長(cháng)度也為64位,可按原規律擴展非線(xiàn)性表即可。
  (2)對數據進(jìn)行分組。盡管應用場(chǎng)合針對小型系統(數據傳輸量較小),但還是必須對所要加密的數據進(jìn)行分組。在使用分組時(shí),對明文尾部不滿(mǎn)一個(gè)整組的碎片采用填充隨機數的辦法將其擴充為一個(gè)整組,然后進(jìn)行正常加密。即數據分組長(cháng)度、密鑰長(cháng)度和輸出密文長(cháng)度均為64位。
  (3)把同步碼的變化反映到各組數據中。同步碼每次發(fā)送時(shí)均會(huì )改變,它是保證系統每次發(fā)送的密文都不一樣的根本。只需進(jìn)行分配、疊代、移位、異或等簡(jiǎn)單的變換即可完成反映的任務(wù)。
  (4)封裝。算法經(jīng)封裝后可方便地被各種程序調用。算法的入口參數有三個(gè):EN_KEY、Data、Mode。其中EN_KEY為64位的加密密鑰;Data為64位被加密或被解密的數據;Mode為工作方式,有加密或解密兩種。
  HCS300芯片發(fā)送的數據主要由固定碼和加密碼組成。固定碼34bit,加密碼32bit。固定碼主要由28位序列號、4位功能碼(按鍵信息)和2位標志組成。加密碼則由16位同步碼、28位序列號(可擴展)、4位功能碼組成。經(jīng)后可用于數據加密的格式如圖2所示。

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



圖2 數據發(fā)送格式

  在發(fā)送時(shí)還要加入檢錯和糾錯功能。檢錯視系統的要求可選奇偶校驗、CRC校驗等。糾錯可以用漢明碼。該碼的實(shí)現原理是在數據中加入幾個(gè)校驗位,并把數據的每個(gè)二進(jìn)制位分配在幾個(gè)奇偶校驗組中;當某位出錯后,就會(huì )引起有關(guān)的幾個(gè)校驗組的值發(fā)生變化。這不但可以發(fā)現錯誤,還能指出哪一位,為自動(dòng)糾錯提供了依據。
3.3 接收過(guò)程
  算法的解密密鑰由學(xué)習時(shí)接收并存儲在EEPROM中。其加密和解密的密鑰是一樣的,解密是加密的逆過(guò)程。接收過(guò)程主要包括序列號搜索、比對、解密、同步碼的比對等過(guò)程。接收方的程序流程如圖3所示。


圖3 接收流程圖

  本文提出的技術(shù)的加密算法中的實(shí)現技術(shù),可以節約硬件成本,減少對硬件的依賴(lài),改善系統性能,擴展了在數據加密領(lǐng)域的應用,特別適合應用于無(wú)線(xiàn)傳輸領(lǐng)域的小型系統的數據加密。隨著(zhù)射頻技術(shù)、無(wú)線(xiàn)技術(shù)和藍牙技術(shù)的發(fā)展,射頻卡身份證的實(shí)施,其應用領(lǐng)域可以擴展到身份識別、安全管理、防盜報警、考勤、收費、無(wú)線(xiàn)抄表、智能監控、隨機檢測器、標識信息等諸多領(lǐng)域。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(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>