Automotive standards for encryption use talk about the algorithms AES-128 CMAC & AES-128 ECB/CBC.

  • AES-128 CMAC use to provide Security service Authenticity
  • AES-128 ECB & CBC used to provide Security service Confidentiality

What exactly is the difference between Authenticity & Confidentiality?

What is CMAC or MAC? Does CMAC mean encrypted data coming out of the AES algorithm?

  • What exact standard are you talking about? The use of ECB is particularly egregious but even if it wasn't used, CBC usage is very outdated in this age of good AEAD ciphers... Commented Mar 7, 2021 at 18:35

3 Answers 3


Confidentiality means the data cannot be decrypted without a known key. Authenticity means you can cryptographically verify that the data has not been tampered with. A CMAC is a type of message authentication code(MAC) which uses block ciphers to ensure that a message has not been tampered with. An alternative scheme, called HMACs which uses hashes are typically used instead. Both have the same result, ensuring that, unless you know the key, you cannot tamper with the data without the other party knowing.

Think about it this way. If I send an encrypted message to my army, "8F0ajc8a Op", then with the right key, "sekrit", it may decrypt to "attack at 4 PM". With the wrong key of course, even if the key they try is one character off, like "sikrit", it will decrypt to total gibberish. Now, if the enemy catches the encrypted message, they can't read it. That's called confidentiality. Without knowing "sekrit", they will have no idea when we will attack. But what if they can modify it? They might not know what they are turning it into, but if they modify just a tiny bit, they can have it decrypt in slightly predictable ways. They can't make it say whatever they want, but maybe they can make it say "attack at 9 PM" instead. A tiny difference, but enough that they may win the battle. Changing just one part of the encrypted text may end up changing just one part of the decrypted text, in this case it changes the number 4 to the number 9. They didn't know what number it would change into, but they knew it would be enough to confuse our troops. If that encryption used a type of authentication, such as a message appended to it which is somehow derived from the decrypted message, then you could easily tell if it has been tampered with, and no one could modify without you knowing, unless they know that they key is "sekrit". Now of course, MAC algorithms are much more complex, as are ciphers, so this is just a simple example, but it should get the point across.

As for CBC and ECB are two modes of encryption. I suggest you take a look at the Wikipedia page to understand more about this. I will say however that, while CBC has its own problems, ECB should never be used unless you are encrypting one block of data, which is 16 bytes for AES, otherwise this will happen.

  • The important concept is called "malleability". CBC and CTR are very malleable. It is easy to change ciphertext to affect the cleartext in predictable ways even when you don't have the key. In CBC, together with a padding oracle, malleability gives you both decryption and also ability to forge any message encrypted using the key, all without getting the key! I repeat, lack of MAC completely break confidentiality. This is why all modern encryption uses a MAC, and actually combining encryption and MAC correctly is error prone so everyone uses AEAD, which is a standard way to do that.
    – Z.T.
    Commented Mar 7, 2021 at 9:57

Shortest possible explanations:

Confidentiality -- no adversary can learn the content of the encrypted message

Authenticity -- any attempt to tamper with the data will be detected

These two notions are independent, e.g. one-time pad provides perfect confidentiality but no authenticity (adversary can flip a bit of the ciphertext in transit and this will result in a flipped bit of the decrypted message).

Now, to provide confidentiality we use ciphers. To provide authenticity, we often employ MACs i.e. Message Authentication Codes.

MAC algorithms can be constructed using block ciphers. CMAC is an algorithm that uses a block cipher as a building block of the MAC. Depending on the underlying block cipher we talk about AES-128 CMAC when the cipher is AES with 128 bit key or e.g. Serpent-128 CMAC if the block cipher is Serpent.

CBC or ECB are modes of operation of a block cipher. Mode of operation is used to provide a way of encrypting arbitrary amount of data with a block cipher that by itself can encrypt only fixed block of data (e.g. 128-bits in case of AES). If you have anything else than 128 bits, you need to use a mode of operation.


By the way this 128bit AES comes from the modems within the telematics system, which is based on telecoms ITU-T security which incidentally covers many other aspects such as privacy, data confidentiality,authentication, integrity, non-repudiation, access control, communication security, and availability as shown in the Figure below: enter image description here So AES-128 CMAC refers to Cipher-based Message Authentication Code as defined in RFC4493 authentication algorithm which is as you pointed out a 128-bit Advanced Encryption Standard while AES-128 ECB/CBC refers to the block ciper encryption mode i.e.

  • Electronic Code Book mode(ECB)
  • Cipher Block Chaining mode(CBC)

So authentication ensures authenticity before allowing users to access its networked resources. Confidentiality refers to the end-to-end security i.e.by ensuring anonymity of the mobile phone user. Their private calls are not intercepted. To ensure the data confidentiality for instance, Cipher algorithm EEA (EPS Encryption Algorithm) is employed. Hence one deals with accessibility while the other guards against unlawful interception to private calls/data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .