1. 程式人生 > >LKT系列加密芯片DES加解密以及OpenSSL DES接口實現加解密

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

pragma 開發 密文 set kit 輸出 操作 解密 t42

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

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