[SOLUCIONADO] AES 256 y los bytes

  • 5 Respuestas
  • 229 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Desconectado Lafleur212

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    20%
  • Reputación 1
    • Ver Perfil
    • Email

[SOLUCIONADO] AES 256 y los bytes

  • en: Julio 30, 2020, 09:24:38 am
Haciendo pruebas de criptografía, he detectado una anomalía.
Bajo C#,he programado cifrar una cadena de bytes, a esa cadena de bytes le he modificado un byte, y en el proceso de descifrado me da error. Usando naturalmente la misma clave.
El error que me da es " invalid padding".... .al ser una cadena cifrada,evidentemente no me dara el texto original al descifrarlo, pero esperaba que me diera algo, pero detiene el proceso.
La pregunta es.. cómo sabe el algoritmo AES que se ha modificado un byte? No debiera dar una cadena de bytes erratica pero darla?
Gracias

« Última modificación: Julio 30, 2020, 02:00:54 pm por DtxdF »

Desconectado DtxdF

  • *
  • Moderator
  • Mensajes: 781
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:AES 256 y los bytes

  • en: Julio 30, 2020, 10:32:34 am
Hola @You are not allowed to view links. Register or Login ^-^

Deduciendo lo que está tratando de hacer y el error me suena a que no le está pasando un relleno (pad/unpad) a los datos antes de cifrar. Me refiero a la típica función o algoritmo que rellena los datos sin formato hasta que sea múltiplo del tamaño de bloques.

Aunque depende del modo que esté usando, ya que si usamos CTR, no pasará nada, pero si usa ECB, puede obtener un error. También debe recordar que en el cifrado de bloques no sólo tiene un nombre bonito, sino que también es signiticativo a su función interna. Si trata de usar el modo ECB y le pasa 16 bytes (sin rellenar), cifrará sin problemas, pero si le pasa 17 bytes, error.

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado Lafleur212

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    20%
  • Reputación 1
    • Ver Perfil
    • Email

Re:AES 256 y los bytes

  • en: Julio 30, 2020, 10:45:53 am
En realidad uso CBC, pero no añado ni resto bytes, únicamente cambio un byte por otro. La longitud de bytes de la cadena cifrada no varía.
Simplemente cifro, acto seguido modifico un solo byte a la cadena cifrada, e intento descifrar.
No se, algo muy raro

Marked as best answer by Lafleur212 en Julio 30, 2020, 02:52:26 pm

Desconectado DtxdF

  • *
  • Moderator
  • Mensajes: 781
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:AES 256 y los bytes

  • en: Julio 30, 2020, 01:20:44 pm
@You are not allowed to view links. Register or Login

Como 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 You are not allowed to view links. Register or Login 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:

* es.wikipedia.org/wiki/Advanced_Encryption_Standard
* es.wikipedia.org/wiki/Cifrado_por_bloques


~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado Lafleur212

  • *
  • Underc0der
  • Mensajes: 19
  • Actividad:
    20%
  • Reputación 1
    • Ver Perfil
    • Email

Re:AES 256 y los bytes

  • en: Julio 30, 2020, 01:52:12 pm
You are not allowed to view links. Register or Login
@You are not allowed to view links. Register or Login

Como 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 You are not allowed to view links. Register or Login 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:

* es.wikipedia.org/wiki/Advanced_Encryption_Standard
* es.wikipedia.org/wiki/Cifrado_por_bloques


~ DtxdF

Si ya lo entiendo,gracias por las molestias, me es muy útil.

Desconectado DtxdF

  • *
  • Moderator
  • Mensajes: 781
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re:SOLUCIONADO AES 256 y los bytes

  • en: Julio 30, 2020, 02:00:25 pm
Es un placer @You are not allowed to view links. Register or Login, como siempre.

Le deseo suerte.

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 27490
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 12408
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 14753
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 18682
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 17905
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon