杭州论坛网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1021|回复: 1
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2020-3-11 16:13:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    #pragmacomment(lib,"libeay32.lib")用于DES_ecb_encrypt((const_DES_cblock*)(



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加密和解密功能。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
回复

使用道具 举报

沙发
发表于 2020-3-11 16:13:28 | 只看该作者
网上这样的文章一搜一大把,代码原理基本一样,不一样的就是你们公司是放到芯片中,不知道芯片的安全性如何,光靠这点代码是不够的防小人的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|联系我们|杭州网

GMT+8, 2024-5-8 08:56 , Processed in 0.156250 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表