基于stm32f030单片机的AES128bit加解密算法例程

上传者: liuwenliang2012 | 上传时间: 2019-12-21 20:10:37 | 文件大小: 1.59MB | 文件类型: zip
一个基于stm32f030单片机的AES128bit加解密算法例程, 该算法我已经验证通过并做了部分优化,该算法的加解密方式为AES-128bit/ECB/PKCS5Padding AES加密过程是先通过key进行加密,然后利用base64方式编码变成了最终的密文。 解密过程正好相反,是先利用base64方式解码,然后利用key进行解密成最终的明文。 该算法比较占内存,当然也跟你需要加解密的数据长度有关。算法当中用到了malloc分配 内存空间,如果运行不成功,建议将单片机堆栈稍微改大一点再试。

文件下载

资源详情

[{"title":"( 79 个子文件 1.59MB ) 基于stm32f030单片机的AES128bit加解密算法例程","children":[{"title":"16字节加解密的AES算法","children":[{"title":"STM32F0_FWLib","children":[{"title":"inc","children":[{"title":"stm32f0xx_gpio.h <span style='color:#111;'> 13.46KB </span>","children":null,"spread":false},{"title":"stm32f0xx_usart.h <span style='color:#111;'> 26.37KB </span>","children":null,"spread":false},{"title":"stm32f0xx_rcc.h <span style='color:#111;'> 27.22KB </span>","children":null,"spread":false},{"title":"stm32f0xx_misc.h <span style='color:#111;'> 4.31KB </span>","children":null,"spread":false},{"title":"stm32f0xx_syscfg.h <span style='color:#111;'> 29.44KB </span>","children":null,"spread":false}],"spread":true},{"title":"src","children":[{"title":"stm32f0xx_usart.c <span style='color:#111;'> 92.32KB </span>","children":null,"spread":false},{"title":"stm32f0xx_syscfg.c <span style='color:#111;'> 19.40KB </span>","children":null,"spread":false},{"title":"stm32f0xx_rcc.c <span style='color:#111;'> 68.81KB </span>","children":null,"spread":false},{"title":"stm32f0xx_misc.c <span style='color:#111;'> 5.92KB </span>","children":null,"spread":false},{"title":"stm32f0xx_gpio.c <span style='color:#111;'> 20.54KB </span>","children":null,"spread":false}],"spread":true},{"title":"Release_Notes.html <span style='color:#111;'> 61.43KB </span>","children":null,"spread":false}],"spread":true},{"title":"使用必读.txt <span style='color:#111;'> 914B </span>","children":null,"spread":false},{"title":"Project","children":[{"title":"JLinkLog.txt <span style='color:#111;'> 128.41KB </span>","children":null,"spread":false},{"title":"16BytesAES.uvguix.Administrator <span style='color:#111;'> 139.30KB </span>","children":null,"spread":false},{"title":"16BytesAES.uvoptx <span style='color:#111;'> 12.04KB </span>","children":null,"spread":false},{"title":"Listings","children":[{"title":"16BytesAES.map <span style='color:#111;'> 68.50KB </span>","children":null,"spread":false},{"title":"startup_stm32f030.lst <span style='color:#111;'> 30.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"JLinkSettings.ini <span style='color:#111;'> 671B </span>","children":null,"spread":false},{"title":"Objects","children":[{"title":"main.d <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"stm32f0xx_misc.d <span style='color:#111;'> 956B </span>","children":null,"spread":false},{"title":"aes.d <span style='color:#111;'> 1.29KB </span>","children":null,"spread":false},{"title":"serial.o <span style='color:#111;'> 232.86KB </span>","children":null,"spread":false},{"title":"stm32f0xx_usart.d <span style='color:#111;'> 973B </span>","children":null,"spread":false},{"title":"main.o <span style='color:#111;'> 237.14KB </span>","children":null,"spread":false},{"title":"16BytesAES.lnp <span style='color:#111;'> 612B </span>","children":null,"spread":false},{"title":"stm32f0xx_misc.crf <span style='color:#111;'> 195.14KB </span>","children":null,"spread":false},{"title":"stm32f0xx_gpio.o <span style='color:#111;'> 242.30KB </span>","children":null,"spread":false},{"title":"main.crf <span style='color:#111;'> 206.27KB </span>","children":null,"spread":false},{"title":"stm32f0xx_syscfg.d <span style='color:#111;'> 990B </span>","children":null,"spread":false},{"title":"mcu_config.o <span style='color:#111;'> 233.48KB </span>","children":null,"spread":false},{"title":"16BytesAES.build_log.htm <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"stm32f0xx_syscfg.o <span style='color:#111;'> 237.49KB </span>","children":null,"spread":false},{"title":"startup_stm32f030.o <span style='color:#111;'> 4.46KB </span>","children":null,"spread":false},{"title":"startup_stm32f030.d <span style='color:#111;'> 60B </span>","children":null,"spread":false},{"title":"16BytesAES.sct <span style='color:#111;'> 479B </span>","children":null,"spread":false},{"title":"serial.crf <span style='color:#111;'> 205.34KB </span>","children":null,"spread":false},{"title":"stm32f0xx_usart.o <span style='color:#111;'> 295.38KB </span>","children":null,"spread":false},{"title":"16BytesAES.axf <span style='color:#111;'> 260.65KB </span>","children":null,"spread":false},{"title":"stm32f0xx_rcc.d <span style='color:#111;'> 939B </span>","children":null,"spread":false},{"title":"stm32f0xx_syscfg.crf <span style='color:#111;'> 196.21KB </span>","children":null,"spread":false},{"title":"mcu_config.crf <span style='color:#111;'> 195.70KB </span>","children":null,"spread":false},{"title":"stm32f0xx_misc.o <span style='color:#111;'> 227.49KB </span>","children":null,"spread":false},{"title":"16BytesAES.htm <span style='color:#111;'> 40.64KB </span>","children":null,"spread":false},{"title":"stm32f0xx_rcc.crf <span style='color:#111;'> 203.52KB </span>","children":null,"spread":false},{"title":"stm32f0xx_it.d <span style='color:#111;'> 944B </span>","children":null,"spread":false},{"title":"system_stm32f0xx.crf <span style='color:#111;'> 196.32KB </span>","children":null,"spread":false},{"title":"aes.o <span style='color:#111;'> 277.32KB </span>","children":null,"spread":false},{"title":"stm32f0xx_it.crf <span style='color:#111;'> 195.24KB </span>","children":null,"spread":false},{"title":"ExtDll.iex <span style='color:#111;'> 19B </span>","children":null,"spread":false},{"title":"aes.crf <span style='color:#111;'> 224.02KB </span>","children":null,"spread":false},{"title":"stm32f0xx_gpio.crf <span style='color:#111;'> 197.13KB </span>","children":null,"spread":false},{"title":"stm32f0xx_usart.crf <span style='color:#111;'> 203.58KB </span>","children":null,"spread":false},{"title":"mcu_config.d <span style='color:#111;'> 862B </span>","children":null,"spread":false},{"title":"serial.d <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"system_stm32f0xx.o <span style='color:#111;'> 228.30KB </span>","children":null,"spread":false},{"title":"stm32f0xx_gpio.d <span style='color:#111;'> 956B </span>","children":null,"spread":false},{"title":"stm32f0xx_it.o <span style='color:#111;'> 231.05KB </span>","children":null,"spread":false},{"title":"system_stm32f0xx.d <span style='color:#111;'> 906B </span>","children":null,"spread":false},{"title":"16BytesAES_16BytesAES.dep <span style='color:#111;'> 14.07KB </span>","children":null,"spread":false},{"title":"stm32f0xx_rcc.o <span style='color:#111;'> 283.02KB </span>","children":null,"spread":false}],"spread":false},{"title":"16BytesAES.uvprojx <span style='color:#111;'> 17.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"CORE","children":[{"title":"core_cmFunc.h <span style='color:#111;'> 16.74KB </span>","children":null,"spread":false},{"title":"core_cmInstr.h <span style='color:#111;'> 20.03KB </span>","children":null,"spread":false},{"title":"arm_math.h <span style='color:#111;'> 236.76KB </span>","children":null,"spread":false},{"title":"startup_stm32f030.s <span style='color:#111;'> 10.43KB </span>","children":null,"spread":false},{"title":"arm_common_tables.h <span style='color:#111;'> 4.57KB </span>","children":null,"spread":false},{"title":"core_cm0.h <span style='color:#111;'> 32.27KB </span>","children":null,"spread":false}],"spread":true},{"title":"OBJ","children":null,"spread":false},{"title":"USER","children":[{"title":"AES.c <span style='color:#111;'> 20.90KB </span>","children":null,"spread":false},{"title":"stm32f0xx_conf.h <span style='color:#111;'> 3.33KB </span>","children":null,"spread":false},{"title":"Serial.c <span style='color:#111;'> 775B </span>","children":null,"spread":false},{"title":"system_stm32f0xx.c <span style='color:#111;'> 12.31KB </span>","children":null,"spread":false},{"title":"Mcu_config.h <span style='color:#111;'> 755B </span>","children":null,"spread":false},{"title":"Mcu_config.c <span style='color:#111;'> 2.98KB </span>","children":null,"spread":false},{"title":"AES.h <span style='color:#111;'> 222B </span>","children":null,"spread":false},{"title":"stm32f0xx_it.h <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"stm32f0xx_it.c <span style='color:#111;'> 3.70KB </span>","children":null,"spread":false},{"title":"Serial.h <span style='color:#111;'> 263B </span>","children":null,"spread":false},{"title":"stm32f0xx.h <span style='color:#111;'> 451.67KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 4.57KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}]

评论信息

  • ulynn8203 :
    感谢分享!
    2019-04-23
  • 无味逝水 :
    正好适合我,谢谢分享!
    2018-12-03
  • LOVEFOREVE :
    很好的 ,学习一下
    2018-06-22
  • 三哥他打我 :
    只能加密字符~~~~~~~~
    2018-04-26
  • 挖宝人 :
    不会用,结果不正确
    2016-10-31

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明