工程师您好,
我在CryptotoCC26XX.h中看到了关AES-CBC的相关加密操作,在CryptotoCC26XX.h的注释中有AES-CCM和AES-EBC的使用示例(没有AES-CBC的示例),且在此文件中表示“The driver supports encryption and decryption for both AES-ECB and AES-CCM.”。我将CryptotoCC26XX.h文件和CryptotoCC26XX.c文件移植到工程中,能实现EBC和CCM的加密解密,但是不能正确实现CBC加密和解密, 我的问题有两个:
我在CryptotoCC26XX.h中看到了关AES-CBC的相关加密操作,在CryptotoCC26XX.h的注释中有AES-CCM和AES-EBC的使用示例(没有AES-CBC的示例),且在此文件中表示“The driver supports encryption and decryption for both AES-ECB and AES-CCM.”。我将CryptotoCC26XX.h文件和CryptotoCC26XX.c文件移植到工程中,能实现EBC和CCM的加密解密,但是不能正确实现CBC加密和解密, 我的问题有两个:
1. 请问如何使用此驱动实现AES-CBC加解密?
2. 在此驱动中,我看到“ The Counter with CBC-MAC (CCM) mode of operation is a generic authenticated encryption block cipher mode. It can be used with any 128-bit block cipher. AES-CCM combines CBC-MAC with an AES block cipher.”的描述,请问此驱动的CCM是否是在AES-CBC的基础上,加上了MAC消息验证码的功能?
Viki Shi:
1、原理上是支持AES-CBC,但是目前的driver不支持AES-CBC。需要自行实现,这有段网友分享的参考代码:e2echina.ti.com/…/370581
2、AES-CCM 是(CBC-MAC)和Counter模式(CTR)的组合,常用在需要同时加密和认证的领域
Xinxin:
回复 Viki Shi:
感谢回答,但是我在程序中没有发现关于AES-CBC填充方式的配置,请问驱动采用的是什么填充方式呢?
Viki Shi:
回复 Xinxin:
应该是nopadding