<sub id="rfsed"></sub>
  • <s id="rfsed"></s>
      <sub id="rfsed"><dl id="rfsed"></dl></sub>
      <small id="rfsed"></small>

        上海動信微電子科技有限公司

        技術(shù)資料

        您的當(dāng)前位置:首頁 > 新聞中心 > 技術(shù)資料

        DX8加密芯片應(yīng)用開發(fā)手冊(五)

        發(fā)布時間:2017-09-03瀏覽次數(shù):載入中...來源:m.xiaocw.cn


        DX8加密芯片應(yīng)用開發(fā)手冊(五)這個章節(jié)主講DX81C04防抄板加密芯片的函數(shù)使用


        7.2.防抄板認(rèn)證函數(shù):


        防抄板認(rèn)證的原理:主機(jī)發(fā)送隨機(jī)挑戰(zhàn)給DX8芯片,DX8芯片根據(jù)內(nèi)部配置的密鑰(KEYA)計算并返回結(jié)果,主機(jī)收到結(jié)果后,按照同樣的方法對挑戰(zhàn)隨機(jī)數(shù)進(jìn)行計算,然后比較兩個結(jié)果,一致表示認(rèn)證通過。


        7.2.1. DX8芯片計算響應(yīng)


        u8_x DX8_HostAuth(u8_x  *challenge, u8_x  len, u8_x  *response);

        功能描述:DX8芯片根據(jù)輸入的挑戰(zhàn)動態(tài)計算響應(yīng)

        參數(shù):    challenge  輸入的挑戰(zhàn)隨機(jī)數(shù)

                      len        挑戰(zhàn)隨機(jī)數(shù)的長度

                      response  返回的響應(yīng)結(jié)果,20個字節(jié)

        返回值:  響應(yīng)計算成功返回0,否則返回錯誤代碼


        7.2.2. 主機(jī)軟件計算響應(yīng)


        void Lib_HostAuth(u8_x *challenge, u8_x len, u8_x *buf, u8_x *response);

        功能描述:主機(jī)軟件根據(jù)挑戰(zhàn)計算響應(yīng)結(jié)果

        參數(shù):    challenge  輸入的挑戰(zhàn)隨機(jī)數(shù)

                  len        挑戰(zhàn)隨機(jī)數(shù)的長度

                  buf        輸入的16個字節(jié)KEYA

                  response  返回的響應(yīng)結(jié)果,20個字節(jié)

        返回值:  計算成功返回0,否則返回錯誤代碼

        示例代碼:

        u8_x rv;

        u8_x challenge[32],reponse_1[20],response_2[20];

        GetSoftRandom(challenge,32);

        rv = DX8_HostAuth (challenge, 32response_1);  //DX8芯片計算

        if (rv) {

           printf(“HostAuth calculation failed, rv = 0x%.2x\n”, rv);

           return rv;

        }

        Lib_HostAuth(chanllenge, 32, keya_value, reponse_2); //主機(jī)軟件計算

        if (memcmp(reponse1, response_2)) {  // 比較響應(yīng)結(jié)果

           printf(“Host Authentication Error??!\n”);

        } else {

           printf(“Host Authentication Passed??!\n”);

        }

        說明:keya_value是在使用Dx8Configuration.exe時產(chǎn)生的dx8_engineer.h中定義,需要將dx8_engineer.h包含到應(yīng)用程序中


        7.3.讀寫EEPROM函數(shù)


        DX81/DX82將芯片內(nèi)部的EEPROM存儲區(qū)域分成4-16zone,需要預(yù)先通過燒寫器對每個zone的訪問模式及其密鑰進(jìn)行配置,每個zone可以配置成三種訪問模式:

        l  正常模式

        l  認(rèn)證模式

        l  加密模式

        若配置為認(rèn)證模式和加密模式,每個zone需要獨立設(shè)定16個字節(jié)的訪問密鑰,zone密鑰驗證通過后才可對該zone進(jìn)行讀或者寫,出廠所有zone默認(rèn)為正常模式。具體每個zone配置好的信息在調(diào)用DX8_Reset()函數(shù)后存儲在dx8-_info的結(jié)構(gòu)體中,用戶可直接訪問:

         

        模式

        Read

        Write

        正常模式

        不需要認(rèn)證,傳輸線明文

        不需要認(rèn)證,傳輸線明文

        認(rèn)證模式

        不需要認(rèn)證,傳輸線明文

        需要認(rèn)證,傳輸線明文

        加密模式

        需要認(rèn)證,傳輸線密文

        需要認(rèn)證,傳輸線密文

         

        說明: 每個zone分區(qū)的地址都從0開始,正常模式時zone分區(qū)的大小為dx8_info.ZoneSize,認(rèn)證模式和加密模式時zone分區(qū)的可用大小為dx8_info.ZoneSize-16,因為有16個字節(jié)用作該zone分區(qū)的密鑰空間,該密鑰空間永遠(yuǎn)無法訪問。


        7.3.1. 驗證Zone Key


        u8_x DX8_VerifyZone(u8_x zone, u8_x *seed, u8_x *buf);

        功能描述:對指定的Zone分區(qū)密鑰進(jìn)行驗證

        參數(shù):    zone   指定的zone分區(qū)(0 — ZoneNum-1)

                  seed   輸入的32個字節(jié)的隨機(jī)數(shù),主機(jī)對DX8認(rèn)證

                  buf    輸入指定zone16個字節(jié)的密鑰,DX8對主機(jī)認(rèn)證

        返回值:  認(rèn)證通過返回0,否則返回錯誤代碼

        說明:若指定的zone為認(rèn)證模式或者加密模式,并且該zone key驗證通過后,才能執(zhí)行對該zone的讀或者寫操作,任何出錯或者非此zone的讀寫命令,都會將此zone的認(rèn)證通過標(biāo)志清除,若要繼續(xù)此zone讀或者寫,需要重新對此zone key進(jìn)行驗證。

        示例代碼(以驗證zone0為例)

        u8_x rv;

        u8_x seed[32];

        GetSoftRandom(seed,32);

        rv = DX8_VerifyZone(0, seed, zkey_0);  // 驗證Zone0

        if (rv) {

           printf(“Verify PIN failed, rv = 0x%.2x\n”, rv);

           return rv;

        }

        說明:zkey_0是在使用Dx8Configuration.exe時產(chǎn)生的dx8_engineer.h中定義,需要將dx8_engineer.h包含到應(yīng)用程序中


        7.3.2. EEPROM


        u8_x DX8_WriteZone(u8_x zone, u16_x address, u16_x len, u8_x *buf);

        功能描述:對指定的zone的地址空間進(jìn)行數(shù)據(jù)操作

        參數(shù):    zone      指定的zone分區(qū)(0—(dx8_info.ZoneNum-1))

                  address   寫入數(shù)據(jù)的起始地址

                  len        寫入數(shù)據(jù)的長度

                  buf        要寫入的數(shù)據(jù)buffer

        返回值:  寫成功返回0,否則返回錯誤代碼

        說明:如該zone為認(rèn)證模式或者加密模式,需要先用該zone的密鑰DX8_VerifyZone驗證成功后,才能執(zhí)行寫該zone的操作,輸入的起始地址與操作的長度之和不能超過該zone的范圍大小,否則會返回相應(yīng)錯誤代碼。

        示例代碼:

        u8_x rv;

        u8_x buf[32];

        for (int i=0;i<32;i++) buf[i] = i;

        rv = DX8_WriteZone(0,0,32,buf); // Zone 00地址開始寫32個字節(jié)

        if (rv) {

           printf(“Write Zone failed, rv = 0x%.2x\n”, rv);

           return rv;

        }


        7.3.3. EEPROM


        u8_x DX8_ReadZone (u8_x zone, u16_x address, u16_x len, u8_x *buf);

        功能描述:對指定的zone的地址空間進(jìn)行數(shù)據(jù)操作

        參數(shù):    zone      指定的zone分區(qū)(0--(dx8_info.ZoneNum-1))

                  address   讀出數(shù)據(jù)的起始地址

                  len        讀出數(shù)據(jù)的長度

                  buf        返回數(shù)據(jù)buffer

        返回值:  讀成功返回0,否則返回錯誤代碼

        說明:如該zone為加密模式,需要先用該zone的密鑰DX8_VerifyZone驗證成功后,才能執(zhí)行讀該zone的操作,輸入的起始地址與操作的長度之和不能超過該zone的可訪問空間,否則會返回相應(yīng)錯誤代碼。

        示例代碼:

        u8_x rv;

        u8_x buf[32];

        rv = DX8_ReadZone(0,0,32,buf); // Zone 00地址開始讀取32個字節(jié)

        if (rv) {

           printf(“Read Zone failed, rv = 0x%.2x\n”, rv);

           return rv;



        待續(xù)......

        【返回列表】
        F3GucYS9NNQ2KfvHYGVJmmqB9B021S0kOGKxlI1lk0knNEziMzZA0y+ON+2xBRGs9Dokt8Mj/9a5GDEma0IfOud4SqU7qUG9014Uq7YJg1//b31znI04eJbp8ApVjjODrhomygt13adNTWfYPDEYqUp4aZ8M4BCo2D65vW4c6hsfX+x+N3jEsATN445sBn5PEVax6upyXA6lWwm7VkQQxA==
        <sub id="rfsed"></sub>
      1. <s id="rfsed"></s>
          <sub id="rfsed"><dl id="rfsed"></dl></sub>
          <small id="rfsed"></small>

            久久久18禁一区二区三区精品 | 亚洲免费视频在线观看| 操BBB操BBB| 五月影院| 天堂无码在线| 围内精品久久久久久久久久‘变脸 | 亚洲男人的天堂av| 一级成人片在线观看| 久久午夜夜伦鲁鲁一区二区| 欧美人妻视频在线| 狠狠干狠狠爱| 一区二区小视频| 亚洲三级片在线观看| 亚洲国产三级片| H网站在线观看| 国产传媒av| 亚洲天堂在线视频观看| 久久久久一区| 男女av免费观看| 中文字幕无码精品| 超碰97免费| 国产午夜无码视频在线观看| 五十路老国产| 五月丁香亚洲综合| 成人社区视频| 91中文字幕在线| 伊人77| 婷婷网五月天| 亚洲福利影院| 成人做爰A片一区二区app| 麻豆一区二区三区四区| 国产精品男女| 2025四虎在线视频观看| 国产中文字幕在线视频| 懂色AV一区二区三区国产中文在线 | 亚洲无码成人电影| 美日韩无码| 欧洲美一区二区三区亚洲| 免费AV网站在线| 精品一区国产探花| 天天日天天射天天干| 亚洲区一| 老司机午夜免费精品视频| 日韩欧美在线中文| 黄色成人在线观看| 亚洲综合视频在线观看| 国产伦子伦一级A片在线| 另类老妇性BBwBBw图片| 台湾中文字幕网| 成人国产欧美日韩在线视频| avav无码| 成人无码区免费AV毛片| 蜜桃Av噜噜一区二区三区四区| 东方成人AV| 国产福利电影在线观看| 山西真实国产乱子伦| 青青草小视频| 操逼资源| 国内成人精品网站| 嫩BBB嫩BBB嫩BBB| 日韩人妻精品无码制服| 少妇bbw搡bbbb搡bbbb| 男人天堂视频在线观看| 国产av播放| 靠逼网站免费观看| 婷婷另类小说| 成人性爱自拍| 国产精品无码久久久久成人app | 精品无码视频在线观看| 国内不卡一卡二视频| 成人小说亚洲一区二区三区| 亚洲日本中文字幕在线观看| 国产成人超碰| 午夜福利码一区二区| 色老汉视频| 成人性爱在线| 欧美一卡| 午夜乱伦福利| 嫩BBB槡BBBB槡BBBB免费视频| 人人爽人人操人人爱| 一区性爱| 欧美成人片免费看| 日本免费A片| 91精品电影18| 中文字幕第五页| 色欲av伊人久久大香线蕉影院| 强奸乱伦五月天| 欧美大香蕉伊人| 日韩美在线| 最新中文字幕无码| 欧美激情婷婷| 亚洲黄色电影| 天堂综合网| 欧美在线一区二区三区| 91女人18片女毛片60分钟| 青娱乐成人在线| 国产精品黄色片| 在线国产91| 91福利网站| 性生活无码| 国产3p露脸普通话对白| 国产无码一| 欧美激情xxx| 中文资源在线a| 精品aaa| 伊人小视频| 欧美一级黄色A片| 青青草青娱乐| 男女视频网站| 亚洲国产三级片| 五月天伊人| 91欧美日韩综合| 国产欧美日本| 国产成人午夜福利在线| 91精品久久久久久粉嫩| 麻豆成人无码精品视频| 亚洲夜夜操| 天堂毛片| 中文字幕人妻日韩在线| 九九热在线观看| 东京热这里只有精品| 欧美性爱小说| 91精品国产综合久久久不打电影| 97人妻人人澡人人爽人人精品| 国产乱伦自拍| 日韩操逼网站| 色五月网| www.99爱| 亚洲精品一区二区三区| 日本在线免费观看| 国产免费一区二区三区四区六区在线| 91成人免费| 麻豆mdapp03.tⅴ| 中文字幕在线网站| 日韩美女视频19| 人妻在线观看| 亚洲三级片在线播放| 欧美在线视频99| 国产av高清| 强开小嫩苞一区二区三区视频| 蜜桃91精品秘入口| 在线观看国产| 97在线鲁碰免费视频| 人妻少妇一区二区| 国产精品9999久久久久仙踪林| 亚洲欧美日韩性爱| 亚洲情免| 日本一区二区三区四区| 亚洲va欧美ⅴa在线| 国产又爽又黄视频| 骚骚网| 麻豆91精品91久久久| 精品视频999| 亚洲1区| 亚洲无码视频免费| 99热这里只有精| JLZZJLZZ亚洲女人| 欧美性猛交XXXX乱大交| www.17c嫩嫩草色蜜桃网站| 青青草精品| www.四虎成人网站| 亚洲AV无码第一区二区三区蜜桃 | 99re热| 一区二区AV| 日本高清色清di免费观看| 激情AAA| 91大熟女91大腚女人| 婷婷开心色四房播播免费| 黄色一级在线| 无码精品一区二区免费| 中文字幕av网| 尿在小sao货里面好不好| 国产探花在线观看| 色婷婷一区二区三区久久| 一本色综合亚洲精品| 操逼在线播放| 一级a片在线观看| 高清无码视频网站| 亚洲精品欧美久久婷婷| 在线天堂9|