本文介紹rsa,aes加密方式。rsa是一種非對稱加密演算法,使用rsa加密需要一對金鑰-公鑰,私鑰,公鑰公開,私鑰只能自己知道。
關於rsa存在兩種使用方式。aes是一種對稱加密方式,加密與解密使用同一種金鑰即可。
1.公鑰加密私鑰解密
裝置a存在公鑰與私鑰,將公鑰開放給裝置b,b裝置需要傳送資料,使用公鑰加密資料,加密後的資料只能通過私鑰解密,只有a裝置存在私鑰,所以b使用公鑰加密的資料即使被其他裝置截獲,也破解不出來其中的資訊,保證了資料的不可截獲性。防止資訊洩露。
2.私鑰加密公鑰解密
裝置a存在公鑰與私鑰,裝置a需要傳送資料給b,裝置a,將資料通過私鑰加密,形成簽名,和資料內容本身傳送給裝置b,b收取到資訊後,使用公鑰解密資料與資料本身比較,可以檢視資料是否被篡改。可防止資訊被篡改。
1.生成一對金鑰
2.使用公鑰加密資料
3.使用私鑰解密
注意:公鑰加密後的資料進行了base64編碼輸出了。
**部分,非對稱金鑰較複雜,檢視原始碼實現,後續在看。
2.使用mbedtls驗證aes-ecbmo模式加密解密
#include#include#include#include#includeint main(int argc, const char *ar**)
; //加密前資料
unsigned char date[64] = "hello world";
//加密後的資料
unsigned char en_string[16];
//解密後的資料
unsigned char de_string[16];
//base64編碼
unsigned char en_base64_str[64];
unsigned char de_base64_str[64];
size_t len;
int ret;
memset(en_string,0,16);
memset(de_string,0,16);
printf("date:%s\n",date);
mbedtls_aes_init(&aes_state);
//設定金鑰
ret = mbedtls_aes_setkey_enc(&aes_state,key,128);
if(ret != 0)
size_t inlen;
inlen = strlen(date);
//使用123456金鑰加密ecb
ret = mbedtls_aes_crypt_ecb(&aes_state,mbedtls_aes_encrypt,date,en_string);
if(ret != 0)
printf("en_string:%s\n",en_string);
//列印16進製制輸出資料
int i=0;
char strhex[128] = ;
for(i=0;en_string[i] != '\0';i++)
strhex[i] = '\0';
printf("enaes hex:%s\n",strhex);
//使用base64加密,方便列印檢視字串
mbedtls_base64_encode(en_base64_str,64,&len,en_string,strlen(en_string));
printf("aes encode base64:%s\n",en_base64_str);
ret = mbedtls_aes_setkey_dec(&aes_state,key,128);
if(ret != 0)
//直接解密aes加密後的資料
mbedtls_aes_crypt_ecb(&aes_state,mbedtls_aes_decrypt,en_string,de_string);
printf("aes decode:%s\n",de_string);
return 0;
}
編譯,方法和前面一致
gcc aes_test.c -o aes_test -l/usr/local/lib -lmbedcrypto
執行可執行檔案
加密後的資料解密出來後與原資料一致。
關於FPGA加密問題
眾所周知,所有fpga基本上都是基於sram結構的,其程式 韌體 是通過jtag口直接載入或從外部flash載入到內部sram中執行的。由於flash本身無法加密,因此fpga程式加密保護是所有開發者必須面臨的乙個主要問題。目前,fpga程式加密主要有兩種方法 1 如果系統中沒有可加密的微處理器,可...
資料加密總結高階(4)
在這篇中我們將學習如何在傳輸過程中不竄改資料而達到安全目的.我們用的技術是雜湊演算法.雜湊值會驗證資料的完整性.接收到的資料的雜湊值可以和被傳出去的 資料的雜湊值進行比較,看它是否被竄改 net框架中提供了下面這幾個主要的運用雜湊的類 因為sha1現在已經被破譯,所以我們將使用md5cryptose...
關於4G資料業務問題
1 手動關閉資料或者進入飛行模式,有ue detach 2 手機資料業務正常進入wifi狀態,有ue release la位置區 plmn lacra 路由區碼 plmn lac rac ta跟蹤區 plmn tac lalocation area 位置區ra routing area 路由區lai...