BLE签名过程中Data、SignCounter、CSRK、MAC和AES-CMAC的使用关系
时间: 2024-01-28 08:02:49 浏览: 157
Java AES-128加解密demo
4星 · 用户满意度95%
在BLE签名过程中,Data和SignCounter是需要被签名的数据,CSRK是用于签名的私钥,MAC是签名后的数据,用于验证消息的合法性。而AES-CMAC是用于计算MAC的算法,具体使用关系如下:
1. 发送方将要传输的数据Data和当前的SignCounter值打包成一个消息,然后使用AES-CMAC算法对该消息进行计算,得到一个MAC值;
2. 发送方使用CSRK对MAC值进行加密,得到签名后的数据;
3. 发送方将打包后的消息和签名后的数据一起传输给接收方;
4. 接收方收到消息后,使用发送方的公钥解密签名后的数据,得到MAC值;
5. 接收方使用AES-CMAC算法对收到的消息进行计算,得到一个MAC值;
6. 接收方比较解密后的MAC值和计算出的MAC值是否一致,如果一致,则说明该消息是合法的,否则则认为该消息可能被篡改或伪造;
7. 最后,接收方将收到的消息解包,获取Data和SignCounter的值,然后根据自己的需求进行处理。
总的来说,BLE签名过程中,Data和SignCounter是需要被签名的数据,CSRK是用于签名的私钥,MAC是签名后的数据,用于验证消息的合法性。而AES-CMAC算法则是用于计算MAC值的算法,用于保证消息的完整性和真实性。
阅读全文