【BLE-CC2640】CC2640之数据加密与解密

本篇博文最后修改时间:2017年06月02日,22:42。


一、简介

本文以SimpleBLEPeripheral工程为例,介绍如何在工程中使用加密与解密算法


二、实验平台

协议栈版本:ble_cc26xx_2_01_00_44423

编译软件:IAR Embedded Workbench for ARM Version 7.40

硬件平台:CC26xxDK开发板

仿真器:XDS100V3(香瓜)


版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
香瓜单片机之Linux群:512598061
香瓜单片机之职场交流群:450154342
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、 实验前提
1、在进行本文步骤前,请先 阅读 以下博文:
1)《CC2541之数据加密与解密》:http://blog.csdn.net/feilusia/article/details/50085225
2)《CC2640 AES Encryption》:http://processors.wiki.ti.com/index.php/CC2640_AES_Encryption

2、在进行本文步骤前,请先 实现以下博文:
1)《CC2640之按键》:http://blog.csdn.net/feilusia/article/details/52221525


五、实验步骤
1、工程中添加加密文件
1)确保本电脑的TIOS路径中有加密文件
在“C:\ti\tirtos_simplelink_2_13_00_06\products\cc26xxware_2_21_01_15600\driverlib” 请找到 rom_crypto.c和rom_crypto.h。
如果没有,说明TIOS的版本过低,请下载最新的TIOS,比如香瓜又去TI的官网下载最新的TIOS(tirtos_cc13xx_cc26xx_2_18_00_03版本)。

并将 “C:\ti\tirtos_cc13xx_cc26xx_2_18_00_03\products\cc26xxware_2_23_03_17162\driverlib”的rom_crypto.c和rom_crypto.h
拷贝至
本电脑使用的TIOS路径“C:\ti\tirtos_simplelink_2_13_00_06\products\cc26xxware_2_21_01_15600\driverlib”

2)工程中添加rom_crypto.c和rom_crypto.h


2、应用层中调用
1)修改按键处理函数(simpleBLEperipheral.c中GUA_HandleKeys)
static void GUA_HandleKeys(uint8 keys)  
{  
  //加密秘钥 16个字节=128bit  
  uint8 key[16] = {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};  
  
  //需要加密的数据  
  uint8 data[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};  
  
  //加密后数据存放区  
  static uint8 EncryptedData[16] = {0};  
  
  //解密后数据存放区  
  static uint8 DeccryptedData[16] = {0};  
  
  //UP键
  if ( keys & KEY_UP ) 
  {    
    //加密
    AES_ECB_EncryptData(data, 16, key);
    memcpy(EncryptedData, data, 16);
  
    //解密
    AES_ECB_DecryptData(data, 16, key);
    memcpy(DeccryptedData, data, 16);    
  }    
}  

六、实验结果

如上图,设置断点并仿真运行工程,可见最开始的数据1~16,最终会被解密到DeccryptedData缓冲区中。具体细节自己单步看看便知。
因此实验成功~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值