AES加密學習筆記

2021-09-25 12:10:03 字數 1324 閱讀 5436

aes對稱加密(aes/ecb/pkcs5padding)

aes簡介

pkcs5padding

aes原始碼

做專案要用到aes加密,選擇這個開源aes包,其blocksize是16位元組(每16位元組資料進行加密)。

pkcs5padding:以八字節為處理單位,padding的值是:1-7,如果資料的長度為8的整數倍,則還要在待加密的資料後再加八字節的0x08。

aes.c

裡的改動

void aes_ecb_encrypt(const struct aes_ctx* ctx, uint8_t* buf, uint32_t length)

if(num != 0)

else if(num == 0)

else

}}//有些問題,但是可以用,解密長度沒有計算,接收的資料全解密,大小不一定是接收到的資料大小,

void aes_ecb_decrypt(const struct aes_ctx* ctx, uint8_t* buf, uint32_t length)

invcipher((state_t*)buf, ctx->roundkey);

}

main.c

int i;

struct aes_ctx ctx;

int datalen = 17;

int endatalen;//加、解密輸出的大小

uint8_t key = ;

uint8_t in31 = ;

if(datalen%8)

else

printf("\n加密開始\n");

printf("原資料");

for(i = 0; i < datalen; i++)

printf("\n");

aes_init_ctx(&ctx, key);

aes_ecb_encrypt(&ctx, in, datalen);

printf("加密後");

for(i = 0; i < endatalen; i++)

printf("\n");

aes_ecb_decrypt(&ctx, in, datalen);

printf("解密後");

for(i = 0; i < endatalen; i++)

printf("\n");

printf("\n解密結束\n");

具體用法可參考源**的test.c

學習筆記 加密技術之私鑰和AES

最近我媳婦兒他們公司老闆抽風了,他們的所有電腦被監控了,所有的聊天記錄都會被老闆看到,侵犯人權哪!不過這倒是讓我回憶起了 algorithmes 第一章的加密技術,於是重新溫習了一下,溫故而知新嘛 我們就拿他們公司做個簡單的例子,我 richard,代號r 我媳婦兒 diana,代號d 他們老闆 b...

AES加密原理

0 aes簡介 美國國家標準技術研究所在2001年發布了高階加密標準 aes aes是乙個對稱分組密碼演算法,旨在取代des成為廣泛使用的標準。根據使用的密碼長度,aes最常見的有3種方案,用以適應不同的場景要求,分別是aes 128 aes 192和aes 256。本文主要對aes 128進行介紹...

AES加密加固

一 反編譯 1.定義 利用編譯程式從源語言編寫的源程式產生目標程式的過程。2.怎麼進行反編譯?先了解apk對檔案構造 二 加固方案的手段 1.反模擬器 模擬器執行apk,可以用模擬器監控到apk的各種行為,所以在實際的加固apk執行中,一旦發現模擬器在執行該apk,就停止核心 的執行。2.虛擬化 虛...