No . El cifrado de mensajes solo funciona en circunstancias bien definidas para autenticar un mensaje, no es una solución de autenticación general.
Si un atacante puede capturar este mensaje, no podrá hacer nada a menos que sepa las claves.
Esto es falso. Aquí hay una serie de circunstancias en las que falla por completo: Imagine que está utilizando un cifrado de bloque utilizando bloques de 8 bytes en el modo ecb. En ese modo, un bloque precedente no influye en el siguiente bloque.
Ahora asume que Alice le encripta un secreto a Bob, a saber, "¡Te quiero, Bob!". Esto produce "ztlk43aAb2329iw2". Quiero cambiar este mensaje. A Alice realmente no le gusta el trabajo de Bob, y si puedo incitarla a que encripte algo como "¡Odio tu trabajo!" con la misma clave, eso podría producir algo como "7ZutlwNmsdlfdsaK". Ahora simplemente tomo los primeros 8 bytes de este y pego los últimos 8 bytes del mensaje original hasta el final, dando como resultado "7ZutlwNmb2329iw2". Cuando Bob desencripta esto, produce "Te odio, Bob!".
Falló la autenticación, y el amor incipiente murió a mediados del vuelo.
Como dijo Christian, necesitas usar un hmac para autenticarte. Hmacs funciona mediante la concatenación de un secreto (contraseña) del mensaje que se va a cifrar y su codificación (es un poco más complicado que eso, de hecho, porque la concatenación no sería segura), y usted autentica el mensaje haciendo lo mismo con El secreto conocido y comparando el valor hash resultante.
Solía haber un debate entre las personas de seguridad sobre si cifrar-luego-autenticar o autenticar-y luego cifrar, lo que demuestra que el cifrado por sí solo no se considera suficiente, incluso si la secuencia de las dos operaciones no fuera suficiente. No es inmediatamente obvio.
De hecho, creo que la forma correcta de hacerlo es cifrar y luego autenticar (y en el extremo del receptor autenticar y luego descifrar), de modo que nunca intente descifrar un mensaje que no se autenticó primero.