国产高清视频一区三区,国产裸体美女永久免费无遮挡 ,亚洲日本VA中文字幕无码,精品久久久久久中文字幕人妻最新

上海動(dòng)信微電子科技有限公司

技術(shù)資料

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

DX8加密芯片應(yīng)用開(kāi)發(fā)手冊(cè)(三)

發(fā)布時(shí)間:2017-08-31瀏覽次數(shù):載入中...來(lái)源:上海動(dòng)信微電子科技有限公司

6.??DX8_API庫(kù)概述


DX8加密芯片應(yīng)用開(kāi)發(fā)手冊(cè)這章節(jié)主講DX8_API函數(shù)的概述


6.1. DX8_API庫(kù)函數(shù)列表:


函數(shù)名稱

功能描述

備注

DX8系統(tǒng)函數(shù)

DX8_Version

獲取DX8_API版本信息

?

DX8_Reset

復(fù)位DX8

?

DX8_Sleep

DX8睡眠

?

Dx8_Wakeup

喚醒DX8

?

DX8_GetRandom

DX8獲取隨機(jī)數(shù)

?

DX8_VerifyPin

驗(yàn)證PIN

?

DX8防抄板認(rèn)證函數(shù)

DX8_HostAuth

DX8芯片計(jì)算挑戰(zhàn)響應(yīng)

兩者結(jié)果一致,認(rèn)證通過(guò)

Lib_HostAuth

軟件計(jì)算挑戰(zhàn)響應(yīng)

DX8讀寫EEPROM函數(shù)

DX8_VerifyZone

驗(yàn)證Zone Key

當(dāng)分區(qū)Zone配置成密鑰訪問(wèn)模式時(shí),

需要Zone Key驗(yàn)證通過(guò)后才能讀寫

DX8_WriteZone

EEPROM分區(qū)Zone

DX8_ReadZone

EEPROM分區(qū)Zone

DX82基于標(biāo)識(shí)數(shù)據(jù)加解密函數(shù)

DX8_InitSessionKey

直接初始化會(huì)話密鑰

僅適用于DX82

DX8_GenSessionKey

根據(jù)標(biāo)識(shí)產(chǎn)生會(huì)話密鑰

DX8_DoCrypto

數(shù)據(jù)加解密計(jì)算

DX8 SHA1計(jì)算函數(shù)

DX8_Sha1Init

SHA1初始化

僅適用于DX82

DX8_Sha1Update

SHA1數(shù)據(jù)計(jì)算

DX8_Sha1Final

獲取SHA1結(jié)果

?軟件流加密函數(shù)

Lib_InitStreamKey

初始化流加密密鑰

軟件流加密函數(shù)

Lib_StreamEncryption

流加密

Lib_StreamDecryption

流解密


6.2. DX8_API庫(kù)函數(shù)返回值定義


返回值

定義

描述

0x00

DX8_SUCCESS

成功

0x01

DX8_BUS_ERR

硬件接口總線錯(cuò)誤

0x02

DX8_NO_INIT

DX8沒(méi)有執(zhí)行初始化

0x03

DX8_RESET_ERR

復(fù)位錯(cuò)誤

0x04

DX8_CHIP_INFO_ERR

DX8芯片信息錯(cuò)誤

0x05

DX8_RESPONSE_LEN_ERR

返回?cái)?shù)據(jù)長(zhǎng)度錯(cuò)誤

0x06

DX8_TRANSFER_CRC_ERR

傳輸數(shù)據(jù)CRC錯(cuò)誤

0x07

DX8_STATUS_DATERR

命令數(shù)據(jù)的長(zhǎng)度或CRC錯(cuò)誤

0x08

DX8_STATUS_RIGHTERR

命令執(zhí)行權(quán)限錯(cuò)誤

0x09

DX8_STATUS_CMDERR

命令字節(jié)或者命令參數(shù)錯(cuò)誤

0x0a

DX8_STATUS_TIMEOUT

DX8命令執(zhí)行超時(shí)錯(cuò)誤

0x0b

DX8_SLEEP_ERR

DX8進(jìn)入Sleep狀態(tài)錯(cuò)誤

0x0c

DX8_WAKEUP_ERR

DX8喚醒錯(cuò)誤

0x0d

DX8_VERIFY_PIN_ERR

PIN驗(yàn)證錯(cuò)誤

0x0e

DX8_VERIFY_KEY_ERR

Zone Key驗(yàn)證錯(cuò)誤

0x0f

DX8_WRITE_ZONE_LEN_ERR

EEPROM數(shù)據(jù)長(zhǎng)度錯(cuò)誤

0x10

DX8_READ_ZONE_LEN_ERR

EEPROM數(shù)據(jù)長(zhǎng)度錯(cuò)誤

0x11

DX8_CRYPTO_KEY_ERR

產(chǎn)生會(huì)話密鑰錯(cuò)誤

0x12

DX8_CRYPTO_LEN_ERR

加解密數(shù)據(jù)長(zhǎng)度錯(cuò)誤

?


6.3. 主機(jī)隨機(jī)數(shù)產(chǎn)生


在調(diào)用DX8_VerifyPinDX8_HostAuth,DX8_VerifyZone等函數(shù)時(shí),需要主機(jī)自身產(chǎn)生隨機(jī)數(shù)字節(jié)來(lái)對(duì)DX8進(jìn)行認(rèn)證,如果隨機(jī)數(shù)有規(guī)律的話,會(huì)給系統(tǒng)帶來(lái)安全隱患。

C語(yǔ)言中使用rand()函數(shù)產(chǎn)生。為了使rand()函數(shù)產(chǎn)生真隨機(jī)數(shù),在使用rand()函數(shù)前,需要對(duì)其隨機(jī)種子進(jìn)行動(dòng)態(tài)初始化,在具有時(shí)間的系統(tǒng)中,一般推薦采用時(shí)間作為隨機(jī)因子,如果系統(tǒng)中沒(méi)有時(shí)間,也可采用其他盡量動(dòng)態(tài)的參數(shù)作為隨機(jī)因子(CPU的心跳值),以此來(lái)增強(qiáng)系統(tǒng)的安全性。

?

示例代碼:


void GetSoftRandom(u8_x *random, u16_x len)

{

? u16_x i;

? srand((unsigned int)time(0) + (unsigned int)jiffies + (srand_cnt++));

? for (i=0; i

}


6.4. 程序員使用的密鑰


程序員在調(diào)用相關(guān)DX8_API庫(kù)函數(shù)需要輸入相關(guān)的密鑰參數(shù),這些密鑰由Dx8Configuration.exe配置軟件在將配置寫入USBKEY時(shí)自動(dòng)產(chǎn)生,在dx8_engineer.h中,程序員需要將該頭文件內(nèi)容嵌入到應(yīng)用開(kāi)發(fā)中,例如下:


密鑰參數(shù)

?

6.5. DX8_API庫(kù)版本


由于所使用的CPU、編譯器和操作系統(tǒng)的不同,我們會(huì)根據(jù)您的硬件環(huán)境生成與之對(duì)應(yīng)的DX8_API庫(kù)文件,全力協(xié)助您完成超快速Design In,目前常用的版本如下:

?

操作系統(tǒng)

CPU

DX8_API版本

Android java

Cotex-A系列

libjdx8_spi2c.so

libjdx8_com.so(ble/wifi)

Linux C

Cotex-A系列

libcdx8_axx.a

Windows

PC

libdx8_win32.lib

libdx8_win32usb.lib

無(wú)操作系統(tǒng)

通用8051

libdx8_8051.lib

CC2540/CC2541

libdx8_cc254x.a

STM32

libdx8_stm32.lib

dsPIC33

libdx8_dsPIC33.a

xxxxx

libdx8_xxxxx.a


根據(jù)目前的應(yīng)用需求,DX8_API主要有以下三種語(yǔ)言版本:

l? C

l? Java

l? Object C (正在開(kāi)發(fā)中,敬請(qǐng)期待)


6.6. C語(yǔ)言開(kāi)發(fā)

?

?C語(yǔ)言代碼一

?C語(yǔ)言代碼二

?

1.7.Java語(yǔ)言開(kāi)發(fā)


Java語(yǔ)言一


Java語(yǔ)音二


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






【返回列表】
L2aWw2n/GAE/aWgGcOPFOWqB9B021S0kZTD1uGFezggbVrQMvSbkRWC38yUcjZKTO1Atzf61lsZba0UkQE5bqwf1pL0UqxSgSts0Gzxj/MbmcoNGBHnmWd/h16Fm3b54mhzPRaGo063AXE4TE0KMJZQ0hwkwkPqeDmj7YKiOEmYaFqjN+l6lJOL+pQlE2Ybnm3FvVjSjEdl1+zsPAdi6VgDDTwd2o0gD