文档章节

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

M
 Music121
发布于 05/10 14:03
字数 511
阅读 62
收藏 0

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

© 著作权归作者所有

M

Music121

粉丝 1
博文 24
码字总数 19178
作品 0
北京
私信 提问
加载中

评论(23)

旋转2木马
我对这个技术很感兴趣,我会一直关注的
你猜你猜你猜猜猜
这个好,都知道openssl开源,还都觉得调用很简单,但能给出示例调用的很少,顶起来
skfjfjfj
skfjfjfj

引用来自“YXG2006oschina”的评论

DES/算法用的人挺多,但是安全性是不是不太高?
各种算法都有利弊,安全性都是相对的,适合自己的产品最重要。
Y
YXG2006oschina
DES/算法用的人挺多,但是安全性是不是不太高?
旋转2木马
之前有个项目使用过,3DES好像使用的硬件加密,加解密都是很快的
阳光无限好
阳光无限好
这种芯片的运算速度和加密速度,有用过的吗?给介绍一下
g
gfdsgg0620
很技术的一篇文章,我收了给我们研发看看
sssyyysss
sssyyysss

引用来自“还没想好呢”的评论

实现openssl和加密芯片这个有啥用,是PC和加密芯片做认证,还是线路数据加解密?
验证和线路加解密都能用,openssl只是一个接口。具体怎么使用还要看研发人员,不过应该还是线路加解密上用的多。
还没想好呢
还没想好呢
实现openssl和加密芯片这个有啥用,是PC和加密芯片做认证,还是线路数据加解密?
M
Music121

引用来自“阳光无限好”的评论

能支持RSA和ECC那还挺厉害。不知道性能怎么样,运算速度快不快?
能同时支持RSA和ECC算法,既然叫加密芯片,侧重点肯定还是在安全方面,运算速度肯定不能跟主控相比,具体运算参数要根据自己的项目决定
3des 加密

有两句话是这么说的: 1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。 注意,这可不...

zhanghongjie0302
2017/07/30
0
0
数据加密算法--详解DES算法原理与实现

DES算法简介 DES(Data Encryption Standard)是目前最为流行的加密算法之一。DES是对称的,也就是说它使用同一个密钥来加密和解密数据。 DES还是一种分组加密算法,该算法每次处理固定长度的数...

IDreamo
2018/07/30
0
0
Android安全开发之浅谈密钥硬编码

Android安全开发之浅谈密钥硬编码 作者:伊樵、呆狐@阿里聚安全 1 简介 在阿里聚安全的漏洞扫描器中和人工APP安全审计中,经常发现有开发者将密钥硬编码在Java代码、文件中,这样做会引起很大...

阿里聚安全
2016/05/16
676
1
eBay CEO作序推荐《web商务安全设计与开发宝典》:对称加密系统

eBay CEO作序推荐《web商务安全设计与开发宝典》:对称加密系统 使 用密码的目的是防止信息在传输和存储过程中被除目标接受者以外的任何人读取和理解。理想情况下,未经授权的个人永远都不能...

louise
2012/09/17
0
0
用openssl对文件加密及解密

Openssl是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应用程序、SSL协议库。Openssl实现了SSL协议所需要的大多数算法。 下面我将单介绍使用Openssl进行文件的对称...

独钓渔
2014/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式场景下如何保证消息队列实现最终一致性

考虑一个分布式场景中一个常见的场景:服务A执行某个数据库操作成功后,会发送一条消息到消息队列,现在希望只有数据库操作执行成功才发送这条消息。下面是一些常见的作法: 1. 先执行数据库...

中关村的老男孩
18分钟前
1
0
招银网络面试题、考点、知识点总结(Java岗)

java基础 全是基础不用多说肯定考的多,尤其是招银 OOP特性/java语言特性:封装、继承、多态 多态具体的表现:多态应用举例、如何调用父类方法(super)、重写和重载(重写父类方法的规则、构...

戎码益深
23分钟前
0
0