色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言實(shí)現(xiàn)AES算法

嵌入式應(yīng)用開(kāi)發(fā) ? 來(lái)源: 嵌入式應(yīng)用開(kāi)發(fā) ? 作者: 嵌入式應(yīng)用開(kāi)發(fā) ? 2022-11-21 19:29 ? 次閱讀

AES加密算法流程圖如下圖所示:

pYYBAGN7X1KAAgBSAABxCYz0hKI495.png

明文P:未加密的原始數(shù)據(jù);密鑰K:加密原始數(shù)據(jù)密碼,對(duì)稱算法中,加密與解密所需的密鑰相同,該密鑰不能直接進(jìn)行傳輸,否則會(huì)造成密鑰泄露;常規(guī)的做法是使用非對(duì)稱算法對(duì)密鑰進(jìn)行加密之后再進(jìn)行傳輸。

AES加密函數(shù)加密函數(shù)將傳入的密鑰K與明文P進(jìn)行處理,之后生成一個(gè)被加密的信息密文C。

密文C:經(jīng)過(guò)密鑰加密后的數(shù)據(jù)。

AES解密函數(shù)解密函數(shù)將傳入的密鑰K與密文C進(jìn)行處理,之后生成一個(gè)沒(méi)有加密的明文P。

代碼部分講解:

AES算法相關(guān)接口在AES.h內(nèi),主要的接口:

uint8_t *aes_init(size_t key_size);
void aes_key_expansion(uint8_t *key, uint8_t *w);
void aes_inv_cipher(uint8_t *in, uint8_t *out, uint8_t *w);
void aes_cipher(uint8_t *in, uint8_t *out, uint8_t *w);

aes_init()函數(shù)作用:初始化aes變量,創(chuàng)建擴(kuò)展密鑰所需要的內(nèi)存
key_size:擴(kuò)展密鑰所需內(nèi)存大小

aes_key_expansion()作用:創(chuàng)建擴(kuò)展密鑰
key:擴(kuò)展密鑰
w:擴(kuò)展密鑰內(nèi)存首地址

aes_inv_cipher()作用:數(shù)據(jù)解密
in:輸入加密的信息
out:輸出解密后的信息
w:擴(kuò)展密鑰內(nèi)存首地址

aes_cipher()作用:數(shù)據(jù)加密
in:輸入未加密的信息
out:輸出加密后的信息
w:擴(kuò)展密鑰內(nèi)存首地址

代碼實(shí)現(xiàn)例程如下:

int main() {
    uint8_t i = 0;
    /* 256 bit key */
    uint8_t key[] = {
        0x00, 0x01, 0x02, 0x03,
        0x04, 0x05, 0x06, 0x07,
        0x08, 0x09, 0x0a, 0x0b,
        0x0c, 0x0d, 0x0e, 0x0f,
        0x10, 0x11, 0x12, 0x13,
        0x14, 0x15, 0x16, 0x17,
        0x18, 0x19, 0x1a, 0x1b,
        0x1c, 0x1d, 0x1e, 0x1f};
    uint8_t in[] = {
        0x00, 0x11, 0x22, 0x33,
        0x44, 0x55, 0x66, 0x77,
        0x88, 0x99, 0xaa, 0xbb,
        0xcc, 0xdd, 0xee, 0xff};
    uint8_t out[16];
    uint8_t *w = NULL;

    w = aes_init(sizeof(key));
    aes_key_expansion(key, w);
    printf("Plaintext message:n");
    for (i = 0; i < 4; i++) {
        printf("%02x %02x %02x %02x ", in[4*i+0], in[4*i+1], in[4*i+2], in[4*i+3]);
    }
    printf("n");
    aes_cipher(in, out, w);
    printf("Ciphered message:n");
    for (i = 0; i < 4; i++) {
        printf("%02x %02x %02x %02x ", out[4*i+0], out[4*i+1], out[4*i+2], out[4*i+3]);
    }
    printf("n");
    aes_inv_cipher(out, in, w);
    printf("Original message (after inv cipher):n");
    for (i = 0; i < 4; i++) {
        printf("%02x %02x %02x %02x ", in[4*i+0], in[4*i+1], in[4*i+2], in[4*i+3]);
    }
    printf("n");
    free(w);
    return 0;
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4698

    瀏覽量

    94728
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140315
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70253
  • 加密算法
    +關(guān)注

    關(guān)注

    0

    文章

    216

    瀏覽量

    25768
  • AES算法
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    7912
收藏 0人收藏
  • jf_354121731

評(píng)論

相關(guān)推薦
熱點(diǎn)推薦

C語(yǔ)言實(shí)現(xiàn)數(shù)字信號(hào)處理算法

C語(yǔ)言實(shí)現(xiàn)數(shù)字信號(hào)處理算法
發(fā)表于 08-16 23:17

CRC算法c語(yǔ)言實(shí)現(xiàn)

CRC算法c語(yǔ)言實(shí)現(xiàn)
發(fā)表于 08-20 19:21

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)
發(fā)表于 02-06 17:08

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)
發(fā)表于 04-02 11:39

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)
發(fā)表于 05-01 11:03

請(qǐng)問(wèn)如何使用Verilog硬件描述語(yǔ)言實(shí)現(xiàn)AES密碼算法

如何使用Verilog硬件描述語(yǔ)言實(shí)現(xiàn)AES密碼算法
發(fā)表于 04-14 06:29

C語(yǔ)言實(shí)現(xiàn)常用排序算法是什么?

C語(yǔ)言實(shí)現(xiàn)常用排序算法是什么?
發(fā)表于 10-19 06:41

CRC算法原理及C語(yǔ)言實(shí)現(xiàn)

CRC算法原理及C語(yǔ)言實(shí)現(xiàn):本文從理論上推導(dǎo)出CRC 算法實(shí)現(xiàn)原理,給出三種分別適應(yīng)不同計(jì)算機(jī)或微控制器硬件環(huán)境的
發(fā)表于 09-23 23:38 ?31次下載

C語(yǔ)言實(shí)現(xiàn)DES算法

C語(yǔ)言實(shí)現(xiàn)DES算法 本DES算法,使用了效率很高的C完成。目前,國(guó)內(nèi)知名企業(yè)的POS終端中,單DES
發(fā)表于 01-16 10:09 ?3302次閱讀

C語(yǔ)言實(shí)現(xiàn)FFT算法

C語(yǔ)言實(shí)現(xiàn)FFT算法 /*****************fft programe*********************/#include "typedef.h" #include "math.h" struct
發(fā)表于 10-30 13:39 ?6450次閱讀

DSP算法c語(yǔ)言實(shí)現(xiàn)

DSP算法c語(yǔ)言實(shí)現(xiàn),又需要的朋友下來(lái)看看。
發(fā)表于 05-09 10:59 ?0次下載

卡爾曼濾波算法C語(yǔ)言實(shí)現(xiàn)

卡爾曼濾波算法C語(yǔ)言實(shí)現(xiàn) 可以運(yùn)行STM32 和 arduino上 已測(cè)試成功
發(fā)表于 09-27 16:34 ?68次下載

PID控制算法C語(yǔ)言實(shí)現(xiàn)(完整版)

PID控制算法C語(yǔ)言實(shí)現(xiàn)一 PID算法原理
發(fā)表于 11-05 15:45 ?0次下載

4個(gè)重要算法C語(yǔ)言實(shí)現(xiàn)源代碼

4個(gè)重要算法C語(yǔ)言實(shí)現(xiàn)源代碼
發(fā)表于 06-10 08:00 ?13次下載

CRC校驗(yàn)算法原理及c語(yǔ)言實(shí)現(xiàn)

CRC校驗(yàn)算法原理及c語(yǔ)言實(shí)現(xiàn)
發(fā)表于 11-30 10:04 ?10次下載
主站蜘蛛池模板: 久久午夜一区二区 | 久久性生大片免费观看性 | 久久黄色录像 | 99久久久精品免费观看国产 | xx在线观看 | 日本xxxx裸体xxxx | 亚洲AV成人片色在线观看网站 | 冈本视频黄页正版 | 亚洲狠狠97婷婷综合久久久久 | 中文字幕 亚洲 有码 在线 | 欧洲美女高清一级毛片 | 公交车轮C关老师 | 恋夜影视列表免费安卓手机版 | 全文都是肉高h文 | 国偷自产视频一区二区99 | 99久久国产极品蜜臀AV酒店 | 精品国产成人系列 | 国产女人与黑人在线播放 | 国产亚洲欧美ai在线看片 | 亚欧洲乱码视频一二三区 | 亚洲精品久久7777777 | 亚洲国产在线午夜视频无 | 97人妻精品全国免费视频 | 麻豆一区二区三区蜜桃免费 | 儿子操妈妈视频 | 曰曰夜夜在线影院视 | 成人在线观看国产 | 日产国产欧美韩国在线 | 久久婷婷国产五月综合色啪最新 | 午夜伦理 第1页 | 超碰97av 在线人人操 | 久久视频精品38在线播放 | 亚洲色图在线播放 | 宿舍BL 纯肉各种PLAY H | 中文字幕亚洲欧美日韩2o19 | 99久久久无码国产精品免费人妻 | 97一期涩涩97片久久久久久久 | 新新电影理论中文字幕 | 三级黄在线播放 | 亚洲视频91| 国产在线观看99 |

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品