中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于ATSHA204的密鑰認(rèn)證系統(tǒng)設(shè)計(jì)

        一種基于ATSHA204的密鑰認(rèn)證系統(tǒng)設(shè)計(jì)

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

        ?

        本文引用地址:http://www.antipu.com.cn/article/245795.htm

        4.2 軟件設(shè)計(jì)

        系統(tǒng)運(yùn)行原理圖如圖2所示,在ATmega128平臺(tái)上面,通過(guò)程序的方式實(shí)現(xiàn)SHA-256算法,同時(shí),將challenge(消息摘要)發(fā)送到 計(jì)算好之后,發(fā)回response,再在ATmega128平臺(tái)上面實(shí)現(xiàn)對(duì)比,如果匹配成功,則程序繼續(xù)運(yùn)行,如果失敗,則程序終止運(yùn)行,從而實(shí)現(xiàn)加密的目的。通信方式采用基礎(chǔ)的I2C通信。整個(gè)程序包括兩部分:認(rèn)證程序沒(méi)計(jì)和SHA-256程序設(shè)計(jì)。下面分別描述。

        ?

        ?

        4.2.1 MAC(消息認(rèn)證)程序設(shè)計(jì)

        MAC認(rèn)證程序使用上面提及的標(biāo)準(zhǔn)的TWI讀寫(xiě)函數(shù)接口,通過(guò)發(fā)送0x00信號(hào)使SDA保持一段時(shí)間的低電平信號(hào),以wakeup加密芯片、chal lenge數(shù)組中的格式和response數(shù)組的大小詳見(jiàn)datasheet?;竞瘮?shù)流程如下:

        ?

        ?

        4.2.2 ATmega128平臺(tái)SHA-256計(jì)算程序

        SHA-256計(jì)算程序需要和芯片上面的哈希算法保持一致,因此需要移植公司提供的算法,移植之后的主程序如下:

        ?

        ?

        函數(shù)形參中的message指針指向一個(gè)88字節(jié)的輸入數(shù)組,len的值本設(shè)計(jì)中賦值88,digest指針指向返回的response數(shù)組。

        4.3 功能測(cè)試

        為了測(cè)試系統(tǒng)的可行性,驗(yàn)證哈希計(jì)算結(jié)果,本設(shè)計(jì)采用將哈希計(jì)算結(jié)果輸出到串口端的方法來(lái)測(cè)試整個(gè)程序在ATmega128平臺(tái)上面的運(yùn)行。在實(shí)際系統(tǒng)運(yùn)行時(shí),為了保證高強(qiáng)度加密,消息摘要應(yīng)該采用隨機(jī)數(shù),但為了測(cè)試方便,暫時(shí)采用固定不變的摘要信息。

        ?

        ?

        通過(guò)串口接收到的主機(jī)計(jì)算的結(jié)果(digest)和ATSHA204發(fā)送回來(lái)的結(jié)果截圖如圖3所示。圖中前32字節(jié)為SHA-256計(jì)算所得的digest,后面為device發(fā)回來(lái)的count(1字節(jié))+response(32字節(jié))+crc(2字節(jié)),可以看出中間的32字節(jié)和SHA-256計(jì)算所得相同,因此便可認(rèn)證成功。反之,如果芯片中的密鑰數(shù)據(jù)不是用戶(hù)定義的。那么返回的response和SHA-256計(jì)算的不同,則認(rèn)證不成功,從而實(shí)現(xiàn)了程序加密。

        ?

        ?

        5 測(cè)試

        為了更好地驗(yàn)證加密系統(tǒng)的可靠性與可行性,在測(cè)試認(rèn)證基本功能之后,將其嵌入到一個(gè)實(shí)際系統(tǒng)中,對(duì)加密性能進(jìn)行測(cè)試?;谝延械腁Tmega128硬件平臺(tái),選取SD卡文件系統(tǒng)讀取程序作為測(cè)試,系統(tǒng)的運(yùn)行流程如圖4所示。

        ?

        ?

        本系統(tǒng)采用開(kāi)源的Fatfs文件系統(tǒng)作為SD卡的文件系統(tǒng),SD卡與ATmega128的通信方式采用傳統(tǒng)的SPI方式,SD卡中存放已經(jīng)轉(zhuǎn)換好的單色分辨率為128×64的位圖bin文件,認(rèn)證部分只作為一個(gè)具有返回值的子函數(shù),根據(jù)返回值確定是否成功。

        如果成功,則程序繼續(xù)執(zhí)行;如果不成功,延時(shí)1 s再次啟動(dòng)加密芯片進(jìn)行認(rèn)證。如果成功,則視同認(rèn)證成功;如果還是不成功,則通過(guò)液晶顯示屏提示不成功,使用assert語(yǔ)句終止程序。

        測(cè)試中采用置換不同配置的加密芯片來(lái)測(cè)試加密的可靠性,認(rèn)證成功和失敗時(shí)的情況分別如圖5和圖6所示。

        ?

        ?

        結(jié)語(yǔ)

        本文主要介紹了公司最新加密芯片ATSHA204的原理和使用方法,初步對(duì)其中使用到的加密算法SHA-256進(jìn)行了簡(jiǎn)單介紹,最后在ATmega128平臺(tái)使用I2C總線(xiàn)接口模塊,利用中斷方式實(shí)現(xiàn)SD卡的數(shù)據(jù)發(fā)送與接收,并通過(guò)MAC方式實(shí)現(xiàn)了認(rèn)證,并詳細(xì)描述了程序流程,解析了部分程序語(yǔ)句。本設(shè)計(jì)具有很強(qiáng)的實(shí)用性,ATSHA204是目前廣泛使用的加密芯片,是公司加密芯片的典型產(chǎn)品,本設(shè)計(jì)對(duì)于指導(dǎo)實(shí)際應(yīng)用具有參考意義。


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

        關(guān)鍵詞: Atmel ATSHA204

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉