EFR32 AES-CCM

环境:Windows 10、Simplicity Studio 5

SDK: EmberZnet SDK 6.8.2.0

简介

EFR32 系列芯片自带AES硬件加密,官方也提供了软件加密,在插件上可以选择使用哪一种。

This plugin provides the AES-CCM* api for encryption, decryption, and Message Integrity Authentication. Implementation can be provided by the mbedTLS framework, or through software
在这里插入图片描述

使用注意点

  1. 要先初始化AES-CCM模块,Silicon 将其封装了,找不到接口,只能先加入网络,让其进行初始化。
  2. 提供 13 bytes nonce 初始化向量IV;
  3. packet指针的可使用内存大小为待加密数据的字节数加 MIC_LENGTH;
  4. MIC:Message integrity check,消息完整性检查,附加在加密数据后。
  5. AES-CCM参考:安全协议系列(二)----CCM与CCMP

代码

  uint8_t nonce[NONCE_LENGTH];
  uint8_t packet[4 + MIC_LENGTH] = {0x45, 0x67, 0x89, 0x10, 0, 0, 0, 0};

  EmberStatus status = 0;

  for(uint8_t i = 0; i < sizeof packet; i++)
    packet[i] = i;

  Print(" packet, status %d: ", status);
  PrintBuffer(packet, sizeof packet, true);
  status = emberCcmEncryptAndTagPacket(nonce, packet, 0 , 4);
  Print("encrypt, status %d: ", status);
  PrintBuffer(packet, sizeof packet, true);
  status = emberCcmAuthDecryptPacket(nonce, packet, 0, 4);
  Print("decrypt, status %d: ", status);
  PrintBuffer(packet, sizeof packet, true);

日志

UM> packet, status 0: 00 01 02 03 04 05 06 07
UM>encrypt, status 0: BF E2 35 85 D5 40 39 73
UM>decrypt, status 0: 00 01 02 03 D5 40 39 73

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值