xiaoyuhzou1228的个人空间 https://www.eechina.com/space-uid-139997.html [收藏] [复制] [RSS]

博客

LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密

热度 9已有 1063 次阅读2019-5-10 09:41

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+i*8),(DES_cblock*)(outbuff+i*8),&schede1,DES_ENCRYPT);此函数用于实现DES ECB模式加密。

4)根据DES函数接口编写加解密函数

解密函数同理

5)加解密函数接口测试

6)测试结果

以上完成了openssl des接口实现DES和3DES加密和解密功能。


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (23 个评论)

回复 Mr.Wang 2019-5-16 17:17
DES/3DES运用还是很广泛的,但是安全性是不是不太高?
回复 QL87 2019-5-17 08:11
Mr.Wang: DES/3DES运用还是很广泛的,但是安全性是不是不太高?
各种算法都有利弊,安全性都是相对的,适合自己的产品最重要。
回复 wang0327 2019-5-17 08:54
这个好,都知道openssl开源,还都觉得调用很简单,但能给出示例调用的很少,顶起来
12

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部