1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. HMAC認證協議的單片機實現

        時間:2024-09-13 12:17:17 理工畢業論文 我要投稿
        • 相關推薦

        HMAC認證協議的單片機實現

        摘要:HMAC是一種基于密鑰的Hash算法的認證協議,可以應用于電子商務領域。我們通過國有自主知識產權的單片機ZQ032SA,實現了以MD5算法為核心的HMAC協議,并把它調用于IP電話計費認證系統。

        引言

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

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

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

        我們利用服務器建立了服務端的模擬用戶數據庫,單片機實現客戶端的加密算法,電話線作為傳輸介質,實現了HMAC協議在IP電話計費系統中的應用。

        1 HMAC的算法原理

        1.1 HMAC算法定義

        用公式表示如下:

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

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

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

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

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

        text代表任意長度文本。

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

        HMAC協議定義了迭代兩次的Hash加密算法,最終形成報文摘要(DIGEST)值就是認證碼;谒惴ǖ目煽啃浴踩院鸵子谟嬎銠C實現特性,先用Hash中的MD5算法實現HMAC,其B=64,L=16。

        1.2 MD5算法定義

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

        (1)報文填充

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

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

        (2)初始化MD5參數

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

        A=0x01234567

        B=0x89abcdef

        C=0xfedcba98

        D=0x76543210

        (3)算法

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

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

        【HMAC認證協議的單片機實現】相關文章:

        單片機實現對CF卡的讀寫03-18

        用CPLD實現單片機讀寫模塊03-20

        用OPENSSL實現電子商務中的CA認證03-18

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

        電子車速里程表的單片機實現方案03-21

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

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

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

        SPI總線在51系列單片機系統中的實現03-19

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>