上海赌场微电子科技有限公司

宁夏雷火棋牌:技术资料

您的当前位置:首页 > 雷火电子游戏 > 宁夏雷火棋牌:技术资料

雷火加密雷火应用开发手册(三)

发布时间:2017-08-31浏览次数:载入中...来源:上海赌场微电子科技有限公司

6.  雷火_API库概述


雷火加密雷火应用开发手册这章节主讲雷火_API函数的概述


6.1. 雷火_API库函数列表:


函数名称

功能描述

备注

雷火系统函数

雷火_Version

获取雷火_API版本信息

 

雷火_Reset

复位雷火

 

雷火_Sleep

雷火睡眠

 

雷火_Wakeup

唤醒雷火

 

雷火_GetRandom

雷火获取随机数

 

雷火_VerifyPin

验证PIN

 

雷火赌场认证函数

雷火_HostAuth

雷火雷火计算挑战响应

两者结果一致,认证通过

Lib_HostAuth

软件计算挑战响应

雷火读写EEPROM函数

雷火_VerifyZone

验证Zone Key

当分区Zone配置成电子游戏访问模式时,

需要Zone Key验证通过后才能读写

雷火_WriteZone

EEPROM分区Zone

雷火_ReadZone

EEPROM分区Zone

雷火2基于标识数据加解密函数

雷火_InitSessionKey

直接初始化会话电子游戏

仅适用于雷火2

雷火_GenSessionKey

根据标识产生会话电子游戏

雷火_DoCrypto

数据加解密计算

雷火 SHA1计算函数

雷火_Sha1Init

SHA1初始化

仅适用于雷火2

雷火_Sha1Update

SHA1数据计算

雷火_Sha1Final

获取SHA1结果

 软件流加密函数

Lib_InitStreamKey

初始化流加密电子游戏

软件流加密函数

Lib_StreamEncryption

流加密

Lib_StreamDecryption

流解密


6.2. 雷火_API库函数关注值定义


关注值

定义

描述

0x00

雷火_SUCCESS

成功

0x01

雷火_BUS_ERR

硬件接口总线错误

0x02

雷火_NO_INIT

雷火没有执行初始化

0x03

雷火_RESET_ERR

复位错误

0x04

雷火_CHIP_INFO_ERR

雷火雷火信息错误

0x05

雷火_RESPONSE_LEN_ERR

关注数据长度错误

0x06

雷火_TRANSFER_CRC_ERR

传输数据CRC错误

0x07

雷火_STATUS_DATERR

命令数据的长度或CRC错误

0x08

雷火_STATUS_RIGHTERR

命令执行权限错误

0x09

雷火_STATUS_CMDERR

命令字节或者命令参数错误

0x0a

雷火_STATUS_TIMEOUT

雷火命令执行超时错误

0x0b

雷火_SLEEP_ERR

雷火进入Sleep状态错误

0x0c

雷火_WAKEUP_ERR

雷火唤醒错误

0x0d

雷火_VERIFY_PIN_ERR

PIN验证错误

0x0e

雷火_VERIFY_KEY_ERR

Zone Key验证错误

0x0f

雷火_WRITE_ZONE_LEN_ERR

EEPROM数据长度错误

0x10

雷火_READ_ZONE_LEN_ERR

EEPROM数据长度错误

0x11

雷火_CRYPTO_KEY_ERR

产生会话电子游戏错误

0x12

雷火_CRYPTO_LEN_ERR

加解密数据长度错误

 


6.3. 主机随机数产生


在调用雷火_VerifyPin雷火_HostAuth雷火_VerifyZone等函数时,需要主机自身产生随机数字节来对雷火进行认证,如果随机数有规律的话,会给系统带来安全隐患。

C语言中使用rand()函数产生。为了使rand()函数产生真随机数,在使用rand()函数前,需要对其随机种子进行动态初始化,在具有时间的系统中,一般推荐采用时间作为随机因子,如果系统中没有时间,也可采用其他尽量动态的参数作为随机因子(CPU的心跳值),以此来增强系统的安全性。

 

示例代码:


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. 程序员使用的电子游戏


程序员在调用相关雷火_API库函数需要输入相关的电子游戏参数,这些电子游戏由雷火Configuration.exe配置软件在将配置写入USBKEY时自动产生,在雷火_engineer.h中,程序员需要将该头文件内容娱乐到应用开发中,例如下:


电子游戏参数

 

6.5. 雷火_API库版本


由于所使用的CPU、编译器和操作系统的不同,我们会根据您的硬件环境生成与之对应的雷火_API库文件,全力协助您完成超快速Design In,目前常用的版本如下:

 

操作系统

CPU

雷火_API版本

Android java

Cotex-A系列

libj雷火_spi2c.so

libj雷火_com.so(ble/wifi)

Linux C

Cotex-A系列

libc雷火_axx.a

Windows

PC

lib雷火_win32.lib

lib雷火_win32usb.lib

无操作系统

通用8051

lib雷火_8051.lib

CC2540/CC2541

lib雷火_cc254x.a

STM32

lib雷火_stm32.lib

dsPIC33

lib雷火_dsPIC33.a

xxxxx

lib雷火_xxxxx.a


根据目前的应用需求,雷火_API主要有以下三种语言版本:

C

l  Java

l  Object C (正在开发中,敬请期待)


6.6. C语言开发

 

 C语言代码一

 C语言代码二

 

1.7.Java语言开发


Java语言一


Java语音二


待续......






【关注列表】
T0jlaEFcU6I8zPXl1uUfImqB9B021S0k+WfrsTOIv4KG1G13NTWD3r26fIk64vErB1U31hoxqSwTiWRyDOREy/RMupzLL5Mt7gAisSpj0k/+3Mm6X0gE8G/y/T8sinoIPG+cyTy14mvJ1XoW4RcJjTO7Kro0X9Cl/AJ25HGTwnRXzQOWP37daQ==