¿Que es una verificacion de la integracion del mensaje y como se hace en python?
Especificamente con pycryptodome, algoritmo AES, metodo de cifrado CTR.
Segun veo en la documentacion, este metodo de cifrado puede ser atacado mediante una vulnerabilidad llamada "Bit-flipping attacks", y que con el uso de una verificacion de la integridad del mensaje, esto se arreglara.
Muchas gracias.
La crypto en su parte primaria se puede definir como cifrar y descifrar, quiero decir, que el mundo tiene esa imagen "pura" de lo que es la crypto. Ahora, un atacante con máscara de villano puede reemplazar mensajes a placer, entonces, como puede Bob saber si lo que recibió desde Alice realmente llegó intacto? Y como puede saber que fue Alice quien lo envió? Y como sabe que nadie hizo un reenvio? Todos estas cuestiones realmente forman lo que es la criptografía moderna, además del subyaciente criptoanálisis de estos métodos, todo ello formano la Criptología (cryptography + cryptanalysis).
Si quieres usar AES deberás de estar seguro primero que modo de operación utilizar junto al algoritmo de integridad y/o autenticación. Tienes el modo AE (Authenticated Encryption):
Authenticated encryption (AE) and authenticated encryption with associated data (AEAD) are forms of encryption which simultaneously assure the confidentiality and authenticity of data. These attributes are provided under a single, easy to use programming interface.
Matando dos pájaros de un tiro. Sino HMAC hace bien su trabajo o Poly1305, el cual también recomiendo por su alto rendimiento con AES.
Saludos.