關於資料加密問題(4)

2021-09-27 02:11:05 字數 2558 閱讀 6389

本文介紹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...