激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

HMAC認證協(xié)議的單片機實(shí)現

時(shí)間:2024-09-13 12:17:17 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

HMAC認證協(xié)議的單片機實(shí)現

摘要:HMAC是一種基于密鑰的Hash算法的認證協(xié)議,可以應用于電子商務(wù)領(lǐng)域。我們通過(guò)國有自主知識產(chǎn)權的單片機ZQ032SA,實(shí)現了以MD5算法為核心的HMAC協(xié)議,并把它調用于IP電話(huà)計費認證系統。

引言

在開(kāi)放的通信和計算機系統中,建立安全可靠的電子商務(wù)平臺是十分重要的。通常需要通過(guò)加密的方法對客戶(hù)的有關(guān)信息,如密碼、合同等加以保護,使之不被盜取或篡改。當客戶(hù)提出服務(wù)申請時(shí),必須對客戶(hù)身份的合法性、報文的完整性進(jìn)行確認。

HMAC(Keyed-Hashing for Message Authentication)是一個(gè)公開(kāi)的協(xié)議。它是一種基于密鑰的報文完整性的驗證方法,其安全性是建立在Hash算法基礎上的。它要求通信雙方共享密鑰、約定算法、對報文進(jìn)行Hash運算,如MD5、SHA、RIPEMD等,形成固定長(cháng)度的認證碼。通信雙方通過(guò)認證碼的校驗來(lái)確定報文的合法性。這個(gè)協(xié)議可以用來(lái)作加密、數字簽名、報文驗證等。

利用HMAC協(xié)議可以建立一個(gè)身份認證的電子商務(wù)平臺,客戶(hù)和服務(wù)端雙方需要預先約定唯一的公鑰和加密算法;客戶(hù)單方面保留自己密碼作為密鑰,服務(wù)端只保留公鑰和認證碼。這個(gè)認證碼是密鑰經(jīng)HMAC協(xié)議加密得到定長(cháng)碼字。當客戶(hù)提出服務(wù)申請時(shí),應提交鑰和密鑰的認證碼。服務(wù)端通過(guò)公鑰確認客戶(hù)的基本身份,再檢驗認證碼確定客戶(hù)的合法性。這樣,客戶(hù)的私密信息在服務(wù)端、傳輸媒介中都是加密隱藏的。

我們利用服務(wù)器建立了服務(wù)端的模擬用戶(hù)數據庫,單片機實(shí)現客戶(hù)端的加密算法,電話(huà)線(xiàn)作為傳輸介質(zhì),實(shí)現了HMAC協(xié)議在IP電話(huà)計費系統中的應用。

1 HMAC的算法原理

1.1 HMAC算法定義

用公式表示如下:

HMAC=H(key xor opad,H(key xor ipad,text))

H(X,Y)代表對X Y的消息進(jìn)行一種Hash運算;

ipad代表重復B次的單字節十六進(jìn)制常數0x36;

opad代表重復B次的單字節十六進(jìn)行常數0x5c;

key代表64字節的字符串,由密鑰組成,不足的補0;

text代表任意長(cháng)度文本。

密鑰≥L字節。當大于B時(shí),先經(jīng)Hash計算形成L字節的秘鑰(B是Hash算法中一次迭代運算的數據塊字節數;L是Hash算法形成報文摘要的字節數)。

HMAC協(xié)議定義了迭代兩次的Hash加密算法,最終形成報文摘要(DIGEST)值就是認證碼;谒惴ǖ目煽啃、安全性和易于計算機實(shí)現特性,先用Hash中的MD5算法實(shí)現HMAC,其B=64,L=16。

1.2 MD5算法定義

MD5算法以對任意長(cháng)度消息多次循環(huán)迭代的散列運算,最終形成16 Byte報文摘要。這個(gè)摘要對文本具有唯一性,可作為認證碼。在目標計算機的計算速度下,這個(gè)摘要是難于破解的。

(1)報文填充

MD5算法要求對任意長(cháng)度報文進(jìn)行填充,構成N×64 Byte消息分組,N為整數。其中每一分組又劃分為16個(gè)4字節子分組。

填充數據分2步。首先,填充使得數據位長(cháng)度恰好為(N×64-8)Byte的數,即在報文有效數據后補1個(gè)0x1,其它補0x0至滿(mǎn)足上述要求。然后,再后補上8字節(64位)的報文數據長(cháng)度(填充前字節數)。這樣,數據就被填充為64Byte(512bit)的整數倍。

(2)初始化MD5參數

4個(gè)4字節位變量(A、B、C、D)用來(lái)作為報文摘要的初始值:

A=0x01234567

B=0x89abcdef

C=0xfedcba98

D=0x76543210

(3)算法

MD5算法是對消息分組依次迭代算法。第1次運算的初始值為ABCD,以后每一次迭代運算的結果都替換ABCD作為下一次的初始值,共經(jīng)過(guò)N次的迭代運算,就得到該消息的報文摘要,如圖1所示。

對每一消息分組的運算方法是相同的。首先把初始值ABCD放入變量abcd,然后進(jìn)行4輪相似的運算變換,每輪包含16次操作。每次操作對其中的3個(gè)變量(4字節)bcd做1次非線(xiàn)性運算,將其結果加上變量a,一個(gè)消息子分組Mi,一個(gè)常數Ti;將所得結果向環(huán)移一個(gè)不定的數Si,再加變量b,然后用該結果取代變量a,變換abcd

【HMAC認證協(xié)議的單片機實(shí)現】相關(guān)文章:

單片機實(shí)現對CF卡的讀寫(xiě)03-18

用CPLD實(shí)現單片機讀寫(xiě)模塊03-20

用OPENSSL實(shí)現電子商務(wù)中的CA認證03-18

利用VB實(shí)現PC機與多單片機通訊03-18

電子車(chē)速里程表的單片機實(shí)現方案03-21

用單片機實(shí)現SRAM工藝FPGA的加密應用03-19

基于Web的單片機遠程監控系統的設計與實(shí)現03-07

在VC 中用ActiveX控件實(shí)現與單片機的串行通信03-19

SPI總線(xiàn)在51系列單片機系統中的實(shí)現03-19

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频