国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > [組圖]一種基于KEELOQ的改進(jìn)加密算法及其在單片機中的實

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

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

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

本文引用地址:http://m.ptau.cn/article/172855.htm



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

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


圖3 接收流程圖

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉