@Lafleur212Como le mencioné, el error es muy frecuente (sin importar la implementación) cuando el modo a usar requiere que sea un múltiplo del tamaño del bloque, es aplicado tanto para cifrar como para su contraparte, descifrar, por lo que si usted borra uno o más bytes de la cadena cifrada ocurrirá el susodicho error; si modifica un byte por otro, pero la longitud sigue siendo un múltiplo del tamaño del bloque, el error dependerá de la implementación de AES y el modo CBC.
Para ilustrar mejor lo que traté de describir, veamos lo que sucede cuando cifro un dato y le elimino el último byte para luego descifrarlo:
Simplemente generó un error porque la longitud original era de 16 y ahora es de 15 bytes.
Veamos otro, pero a diferencia del anterior en el siguiente no descifraremos la cadena cifrada completamente, sino un múltiplo de ésta:
Como se puede apreciar, se descifra correctamente a pesar de no ser de la misma longitud que la original, pero es un múltiplo del tamaño de bloques, es por es que es satisfactorio.
Ahora veamos lo que sucede cuando se trata de descifrar la cadena cifrada con el útimo byte modificado:
Se descifró correctamenete, aunque también si se es observador, no es la cadena original la que obtenemos.
Bien, tal vez usted dirá
pero a mí me genera un error cuando modifico un byte, como le dije depende de la implementación misma y del algoritmo. En esta Los enlaces son solo para miembros.
Registrate o
iniciá sesión puedes cifrar datos usando AES en dos modos ECB y CBC, si se trata de hacer todo lo que he hecho en las imágenes, genera un error, por lo que sería mejor descripción de lo ya expliqué.
Tal vez le interese:
* Los enlaces son solo para miembros. Registrate o iniciá sesión
* Los enlaces son solo para miembros. Registrate o iniciá sesión~ DtxdF