1、测试目标 使用已经预置DES密钥的LKT4201N系列加密芯片完成运算 2、测试环境 本示例运行环境为windows系统、测试软件LCS KIT、LKT-K100开发板。 3、测试步骤 注意:“->”表示使用LCS KIT软件操作LKT-K100向加密芯片发送数据; “<-”表示使用LCS KIT软件操作LKT-K100读回加密芯片输出的数据。 4、测试指令 使用LKT4201N内部已存放的01号30密钥和01号31密钥进行加密操作测试 ( 注: 如何创建KEY文件和写入密钥不再赘述) (1)加密指令 -> 0088 0001 08 1122334455667788 <- 61 08 -> 00C0 0000 08 <- 密文数据+9000 注:加密数据应为8字节的整数倍,不够的后面先补80,如果还是不够8字节的倍数再补00到8字节的整数倍。 (2)解密指令 -> 0088 0101 08 +密文数据 <- 61 08 -> 00C0 0000 08 <- 1122334455667788 +9000 5、OpenSSL DES接口实现3DES 和DES加解密 (1)下载OpenSSL源码,生成libeay32.dll 和libeay32.lib文件 (2)将libeay32.dll 、libeay32.lib以及OpenSSL头文件移植到VC工程中,工程中增加 #pragma comment(lib, "libeay32.lib")用于调用静态库,另外设置好头文件路径,在工程中增 加#include <openssl/des.h>, (3)DES_set_key_unchecked( (DES_cblock*)key1 , &schedule1 );调用此函数可以实现密钥设置 DES_ecb_encrypt((const_DES_cblock*)(inbuff+i8),(DES_cblock)(outbuff+i*8),&schede1,DES_ENCRYPT);此函数用于实现DES ECB模式加密。 (4)根据DES函数接口编写加解密函数 解密函数同理 (5)加解密函数接口测试 (6)测试结果 以上完成了openssl des接口实现DES和3DES加密和解密功能。