CMAC的认证方式,发送方发送的是密文和MAC还是明文和MAC
时间: 2024-03-11 11:44:26 浏览: 23
CMAC的认证方式中,发送方会发送明文和MAC。具体来说,发送方首先对明文进行加密,然后计算出MAC值,并将明文和MAC值一起发送给接收方。接收方在接收到明文和MAC值后,会对明文进行解密,然后使用相同的密钥计算MAC值,并将计算出的MAC值与接收到的MAC值进行比较,以此来验证消息的完整性和认证发送方的身份。
相关问题
在CMAC认证方式中,发送发发送密文和MAC,接收方接受到后,对密文进行解密,再对解密得到明文求MAC可以吗?
在CMAC认证方式中,发送方发送的是明文和MAC,而不是密文和MAC。因此,接收方在收到消息后,不需要对密文进行解密,而是直接对收到的明文计算MAC值,然后将计算出的MAC值与接收到的MAC值进行比较来验证消息的完整性和认证发送方的身份。如果接收方对密文进行解密,那么计算出的MAC值与发送方计算的MAC值就不一致,验证就会失败。因此,在CMAC认证方式中,接收方不需要对密文进行解密,只需要对明文计算MAC值即可。
BLE签名过程中Data、SignCounter、CSRK、MAC和AES-CMAC的使用关系
在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值的算法,用于保证消息的完整性和真实性。