¿Cómo cifrar más de 16 bytes usando AES?

8

Estoy intentando implementar AES en una imagen de tamaño 256x256 (65536 bytes) pero AES funciona en un tamaño de imagen 4x4 (16 bytes).

¿Qué debo hacer? ¿Se puede implementar o no? Y si es así, ¿entonces cómo?

    
pregunta Anshul Aggarwal 23.02.2014 - 19:52
fuente

2 respuestas

20

AES es un cifrado de bloque, funciona en bloques de 16 bytes (128 bits). AES, por sí solo, no puede trabajar con datos menores o mayores a 16 bytes. Los datos más pequeños deben rellenarse hasta que tengan 16 bytes, y los datos más grandes deben dividirse en bloques de 16 bytes (y, por supuesto, rellenados cuando sea necesario *)

Afortunadamente, hay algoritmos que lo ayudan a lograr eso (trabajar con datos más grandes que el tamaño de bloque del cifrado), se llaman Bloquear los modos de operación de cifrado . Describen cómo debería ser el proceso de cifrado y descifrado mediante el cifrado de bloque.

Importante: Si está escribiendo su propia implementación de AES para cifrar datos reales para uso personal y / o profesional, entonces STOP NOW! En su lugar, utilice bibliotecas bien examinadas, con pruebas de tiempo y famosas para eso. Sin embargo, si lo haces con fines educativos, adelante, diviértete.

Si desea utilizar AES para mantener la confidencialidad (es decir, mantener la imagen en secreto), use cualquiera de los modos que ofrece su biblioteca, excepto el BCE, que es no es seguro . Si también desea proteger la integridad de la imagen (es decir, para detectar si se ha modificado), use el modo de cifrado autenticado . / p>

* Hay mucho más que rellenar que la necesidad de llegar al tamaño de bloque, pero no voy a entrar en eso. Lea más sobre esto si está interesado.

    
respondido por el Adi 23.02.2014 - 20:50
fuente
2

Se encuentran aquí varias formas de cifrar datos usando AES . Utiliza una biblioteca de alto nivel como Bouncy Castle o .NET para implementar el cifrado autenticado mediante AES GCM

    
respondido por el random65537 25.03.2014 - 22:00
fuente

Lea otras preguntas en las etiquetas