⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sjy22.h

📁 uC/IP源代码 2003-08-16[摘][码] 该软件是本人在ucos_ii基础上加上网络功能
💻 H
字号:
/* $Id: sjy22.h,v 1.1 2002/02/06 02:17:11 linfusheng Exp $
 */
#ifndef SJY22_H
#define SJY22_H

#define	F206_RAM_SIZE		4064	// F206 BCA分组长度

#define	cmdLCD_RESET		0xe0   	//
#define	cmdLCD_HORIZONTAL	0xe1   	//
#define	cmdLCD_VERTICAL		0xe2   	//
#define	cmdLCD_UPDATA		0xe3   	//
#define	cmdLCD_CPMEMORY		0xe4   	//

/* function code */
#define	cmdINIT_CARD		0x00   	//保密卡初始化函数dspResetCard()
#define cmdGET_CARD		0x01   	//获得保密卡的一般性信息(卡序号)
#define	cmdGET_LOG	       	0x02   	//获得保密卡的审计日志信息
#define	cmdGET_LOGNUM     	0x03   	//获得保密卡的审计日志信息
#define	cmdCLR_LOG	       	0x04   	//清除保密卡的审计日志信息
#define	cmdSET_TIME		0x05   	//设置保密卡内部时钟
#define	cmdGET_TIME		0x06   	//获得保密卡内部时钟

#define	cmdHAV_ICHEAD		0x2a   	//是否存在IC卡
#define	cmdSHK_IC		0x2b   	//建立IC卡与读写器的握手通道
#define	cmdWRT_ICHEAD		0x20   	//制卡时写入IC卡的头部信息
#define	cmdWRT_ICKK		0x21   	//写KK到密钥管理卡	dspWriteKKToKeyCard()
#define	cmdWRT_ICMKT		0x22   	//写MKT到密钥管理卡	dspWriteMKTToKeyCard()
#define	cmdWRT_ICUSR		0x23   	//写用户信息到操作员卡
#define	cmdCLR_IC	        0x24	//清除IC卡中所有内容	dspClearICCard()
#define	cmdGET_ICHEAD		0x25	//获得IC卡头部信息
#define	cmdGET_USRNUM	   	0x26	//取保密卡内有效用户数目
#define	cmdGET_USRPIN		0x27 	//取保密卡内某个用户信息
#define	cmdAUT_USRPIN		0x28 	//验证身份卡的身份是否合格
#define	cmdCLR_USRPIN		0x29 	//清除保密卡内某个用户信息

#define	cmdINIT_KP1	      	0x40  	//初始化主密钥	dspInitKP1()
#define	cmdWRT_KK	      	0x41  	//写入KK算法	dspWriteKKToCard
#define	cmdWRT_MKT		0x42  	//写入MKT算法	dspWriteMKTToCard()
#define	cmdCHG_KK	      	0x43  	//通过SMC自动更新KK
#define	cmdREC_MKT		0x44  	//从SMC接收新的端端密钥矩阵
#define	cmdCHG_MKT		0x45  	//启用新的端端密钥矩阵dspEnabledNewMKT()
#define	cmdSTOP_CARD		0x46  	//通过SMC自动销毁保密卡dspStopSecurityCard()

#define	cmdENC_INIT	      	0x60 	//加解密算法初始化(密钥在卡内)
#define	cmdENC_INITSTR		0x61 	//流密码算法加密初始化(密钥在卡内)
#define	cmdDEC_INITSTR		0x67 	//流密码算法解密初始化(密钥在卡内)
#define	cmdENC_INITKEY		0x62 	//加解密算法初始化(密钥由应用程序送入)
#define	cmdENC_INITKP		0x69 	//加解密算法初始化(使用主密钥)
#define	cmdENC_INITKK		0x6a 	//加解密算法初始化(使用密钥加密密钥)

#define	cmdBCA_UPD		0x63 	//分组128加解密算法 dspBCAUpdate()
#define	cmdHASH_UPD		0x64 	//Hash认证码计算函数dspHashUpdate()
#define	cmdSTR_UPD	      	0x66 	//流密码解密算法 dspStreamUpdate()
#define	cmdBCA_FIN		0x68 	//分组128加解密结束算法 dspBCAFinal()
#define	cmdHASH_FIN		0x65 	//获得最终认证码 dspHashFinal()
#define	cmdSTR_FIN	      	0x69 	//流密码解结束算法 dspStreamFinal()

#define	cmdGEN_RND		0x80 	//生成任意长的随机数bscGenerateRandom()
#define	cmdGEN_RNDBCA		0x81 	//生成任意长的高质量的随机数

#define		BCAIIE_CMD 	0x01	// 128位BCAII加密
#define		BCAIID_CMD 	0x08	// 128位BCAII解密
#define		HASH_CMD   	0x45	// 128位HASH认证
#define		STREAM_CMD 	0x00	// 128流密码算法

#define		BCA64E_CMD 	0x07	// 64位BCAII加密
#define		BCA64D_CMD 	0x03	// 64位BCAII解密
#define		HASH64_CMD  	0x47	// 64位HASH认证
#define		STREAM64_CMD 	0x00	// 64流密码算法

#define		BCAIIIE_CMD 	0xa0	// 128位BCAIII加密
#define		BCAIIID_CMD 	0xa1	// 128位BCAIII解密

#define		KSLENGTH 	16	/*会话密钥长度 */
#define		MACLENGTH 	16	/*会话密钥长度 */

#define		CARD_READY	6
#define		CARD_BAD	4
#define		CARD_BUSY	8

#define		CARD_NUM	2 	/* card number is 2 */


/* We sugguest that, the inputlen is align 8 , and key is 128 bit length */
extern int  SJY22_encrypt(unsigned char *input,int inputlen,unsigned char *output,unsigned char *keybyte,int keylen,unsigned char *iv,int ivlen);

extern int SJY22_decrypt(unsigned char *input,int inputlen,unsigned char *output,unsigned char *keybyte,int keylen,unsigned char *iv,int ivlen);



extern void SJY22_hash_Init (void *ctx);
extern void SJY22_hash_Update(void *ctx, unsigned char *input, unsigned int inputlen);
extern void SJY22_hash_Final(unsigned char output[16], void *ctx);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -