微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > BLE的各种KEY都有什么用?

BLE的各种KEY都有什么用?

时间:10-02 整理:3721RD 点击:

在gapbondmgr.h中定义了如下内容:

/** @defgroup GAPBOND_KEY_DIST_DEFINES GAP Bond Manager Key Distribution
 * @{
 */
#define GAPBOND_KEYDIST_SENCKEY                  0x01  //!< Slave Encryption Key
#define GAPBOND_KEYDIST_SIDKEY                   0x02  //!< Slave IRK and ID information
#define GAPBOND_KEYDIST_SSIGN                    0x04  //!< Slave CSRK
#define GAPBOND_KEYDIST_SLINK                    0x08  //!< Slave Link Key
#define GAPBOND_KEYDIST_MENCKEY                  0x10  //!< Master Encrypton Key
#define GAPBOND_KEYDIST_MIDKEY                   0x20  //!< Master IRK and ID information
#define GAPBOND_KEYDIST_MSIGN                    0x40  //!< Master CSRK
#define GAPBOND_KEYDIST_MLINK                    0x80  //!< Master Link Key
/** @} End GAPBOND_IO_CAP_DEFINES */

总结下来,就是Encryption Key, IRK, SRK, Link Key。我想问如下5个问题:

1. IRK、SRK若不设置,是不是不影响绑定和通讯?这两个Key会影响什么?

2. Encryption Key和Link Key的区别是什么?手机上输入的000000是Link Key吗?

3. 若密码是123456,输入后空中数据是否被加密传输了?这个加密的Key是由123456在底层自动生成的吗?

4. Encryption Key是在哪一层加密的?已经绑定还要再加个Encryption Key吗?

5. AES这个外设在哪个Key调用了?手动调用还是设置好了Key,用了API函数后自动调用?

希望能得到各位高手的详细解答,谢谢!

Haitao Bi,

实际上你应用开发的时候并不太需要关心这些Key,但如果你有兴趣,可以参考一下这篇文章:

http://bbs.21ic.com/blog-1827100-160300.html

这里面有对常用到的Key的一些解释,以及在什么地方用到。

谢谢 Y !

您推荐的这篇文章很好用,感谢解答!

hi 你好 我现在碰到了flash紧缺想把你说的这些key去掉,如你之前说的 去掉后会影响连接吗?

不能去掉,这些是蓝牙协议需要的。

上一篇:CC2541低功耗
下一篇:CC2640R2 距离测试

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top