• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • STM32使用mbedtls的AES加密

    標簽: STM32

    Author:果果小師弟 電子信息專業在讀研究生
    有一點思考,有一點想法,有一點理性!
    定個小小目標,努力成為習慣!在最美的年華遇見更好的自己!
    CSDN@果果小師弟,CSDN首發,果果原創
    唯一博客更新的地址為: 果果小師弟的博客

    一、安裝mbedtls

    轉到keil官網http://www.keil.com/dd2/pack/
    找到ARM mbed Cryptographic and SSL/TLS library for Cortex-M devices并下下載

    2.安裝下載的ARM.mbedTLS.1.6.0.pack文件

    二、加載mbedtls

    1.加載mbedtls
    2.修改mbedTLS_config.h文件。需要啟用的宏如下。

    #define MBEDTLS_AES_ROM_TABLES
    #define MBEDTLS_CIPHER_MODE_CBC
    #define MBEDTLS_AES_C
    

    三、應用mbedtls

    此處我用的ECB模式的加密即可滿足我的需要,所以應用了ECB模式。但是ECB模式只能實現16字節加密解密,如有需要更長字節請使用CBC模式。

    #include "sys.h"
    #include "delay.h"
    #include "mbedtls/aes.h"
     
    //**
    unsigned char key[16] = "520199112301234";
    //明文 
    unsigned char plain[16] = "DaoBanMoJieYJW";
    //密文
    unsigned char cipher[16] = {0};
    //解密后的明文
    unsigned char plain_decrypt[16] = {0};
     
    mbedtls_aes_context aes;
     
    int main(void)
    { 
    	delay_init(168);		  
    	mbedtls_aes_init(&aes);	//初始化
    	while(1)
    	{
     
    		mbedtls_aes_setkey_enc(&aes, key, 128);	//設置加***
    		mbedtls_aes_crypt_ecb(&aes, MBEDTLS_AES_ENCRYPT, plain, cipher);//ECB加密
    		
    		mbedtls_aes_setkey_dec(&aes, key, 128);//設置解***
    		mbedtls_aes_crypt_ecb(&aes, MBEDTLS_AES_DECRYPT, cipher, plain_decrypt);//ECB解密
     
    		delay_ms(500);                     
    	}
    }
    

    四、對比驗證

    隨意找一個在線AES加密的。例如https://the-x.cn/cryptography/Aes.aspx
    輸入之前的明文和**

    ** "520199112301234"
    明文 "DaoBanMoJieYJW"
    

    驗證結果:


    兩個加密結果一致!!!

    ??本次的分享就到這里



    好書不厭百回讀,熟讀自知其中意。將學習成為習慣,用知識改變命運,用博客見證成長,用行動證明努力。
    如果我的博客對你有幫助、如果你喜歡我的博客內容,請 “點贊” “評論” “收藏” 一鍵三連哦!
    聽說 點贊 的人運氣不會太差,每一天都會元氣滿滿呦!^ _ ^ ? ? ?
    碼字不易,大家的支持就是我堅持下去的動力。點贊后不要忘了 關注 我哦!

    更多精彩內容請前往 果果小師弟的微信公眾號


    如果以上內容有任何錯誤或者不準確的地方,歡迎在下面 留個言。或者你有更好的想法,歡迎一起交流學習~~~

    版權聲明:本文為qq_39400113原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_39400113/article/details/109147101

    智能推薦

    STM32之PWM的使用

    1. 時鐘的配置 在時鐘樹上面,PWM對應的外設時鐘為APB1 Timer Clock, 48MHz. 2. PWM通道的配置 選擇內部時鐘,也就是說基準頻率為48MHz,通道使能CH1、CH2、CH3,其余不變。 Period=2400,也就是說PWM的頻率為48000KHz/2400=20KHz Pulse設置為1200表示高電平占用的時間 Fast Mode勾選,快速輸出管腳電平,其余不變。...

    【STM32】SysTick的使用

    SysTick的使用 前提 寄存器介紹 CTRL LOAD VAL CALIB 延時函數 前提 最近,在學習STM32的嵌入式開發,使用的是STM32F103C8T6,在使用延時函數時注意到SysTick模塊,故進行學習。STM32F103C8T6使用的是M3內核,本文亦是參考M3內核文檔PM0056和STM32寄存器手冊RM0008完成。 SysTick是單片機內核中的一個計數器,可與總線時鐘并...

    STM32 串口的使用

    STM32 串口的使用–以串口調試助手為例 @(STM32基本外設) 串口介紹 USART ((Universal Synchronous Asynchronous Receiver and Transmitter, 通用同步異步收發器), 是一 個串行通信設備,可以靈活地與外部設備進行全雙工數據交換。有別于 USART 還有一個 UART(Universal Asynchronous...

    stm32 學習之 keil4 添加mbedTLS 包

    下載mbedTLS 包 git clone https://github.com/ARMmbed/mbedtls.git 添加到工程,人比較懶 全部添加 添加全局宏定義 修改需要的功能 mbedTLS_config.h 編譯(如果不添加 全局宏定義,可能會出現如下錯誤) 測試結果...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡