I am using OpenSSL 1.1.1 to implement a TLS 1.3 communication module so I tried to learn how data integrity and authentication is ensured. I read a lot about AEAD, GCM, CBC, Poly1305, EtM, MtE and E&M to the point that I know what they are, but I do not know how they are related to each other. My Questions are
- I know that TLS 1.3 uses AEAD. Does that mean that it is EtM, MtE or E&M?
- Is GCM an EtM algorithm for block ciphers?
- What does OpenSSL use by default? EtM, MtE or E&M? Which are supported?