Después de cifrar un archivo (GPG con AES) y dividirlo en trozos (dividir), ¿es más fácil descifrar una de las partes en comparación con el archivo completo? (Tal vez porque puede perder algunos bits importantes).
Después de cifrar un archivo (GPG con AES) y dividirlo en trozos (dividir), ¿es más fácil descifrar una de las partes en comparación con el archivo completo? (Tal vez porque puede perder algunos bits importantes).
No. Aún debe encontrar la misma clave de cifrado de longitud para descifrar los datos en texto sin formato. Encontrar la clave es la parte difícil, descifrar una imagen total o parcial es trivial una vez que se tiene la clave.
Si está utilizando un esquema de cifrado en el que el archivo está cifrado y descifrado de manera determinística en función de la sección que se descifró (de / en) el último, puede ser más difícil terminar de manera confiable con el mismo texto sin formato que hubiera obtenido debe realizar el mismo descifrado en todo el archivo, si el archivo se divide después de encriptación. Esto es semi relevante para los esquemas de cifrado CBC. Puede recuperar bloques de texto sin formato si su archivo separa los archivos en segmentos de dos o más bloques de texto cifrado o más. Si tuviera que separar todo el texto cifrado en segmentos de un bloque de cifrado cada uno, haría que cualquier bloque que falte a ambos bloques adyacentes sea indescifrable.
Si está utilizando un esquema que aplica una clave de cifrado diferente a cada segmento más pequeño, está aumentando el número de claves necesarias para descifrar el mensaje completo, pero eso se está volviendo muy específico de la implementación.
EDITAR:
Con respecto a la "pérdida de bits importantes": supongo que quiere decir que si dividiera el archivo cifrado y eliminara algunos de los segmentos (o los almacenara en otro lugar), podría estar eliminando partes del archivo que aseguran la seguridad de los contenidos, como una suma de comprobación o algo así.
La forma en que funciona el criptográfico moderno, su resultado final son dos datos: su clave de cifrado y el texto cifrado. Un buen algoritmo criptográfico no tendrá "partes" distintas en el texto cifrado. Debería ser indistinguible del ruido blanco, idealmente. De lo contrario, está abriendo su texto cifrado tanto para la detección como para la ingeniería inversa. Por lo tanto, a partir de un texto cifrado, no hay bits específicamente importantes que perder.
Una excelente manera de pensar acerca de una pregunta de "¿Hace esto más fácil de atacar?", es preguntarse a sí mismo "¿Puede el atacante hacerlo de forma trivial?".
Si dividir un archivo en trozos estuviese haciendo que sea más fácil atacar, este sería el procedimiento predeterminado para cada atacante. Esto nos lleva a una observación importante: los esquemas de cifrado no tienen una "fuerza" fija. Solo son tan fuertes como el mejor ataque actualmente conocido.
Tomemos RSA, por ejemplo: RSA se basa en el hecho de que la factorización prima es difícil. Si alguien desarrollara un algoritmo que hiciera que el doble de factores primos grandes fuera más fácil, entonces el RSA se debilitaría.
No. Dividir tu archivo después del cifrado no facilita el ataque. De hecho, cuando utiliza un algoritmo como AES, la salida (su archivo cifrado) es casi equivalente a un conjunto de bits aleatorios para alguien que no conoce la clave utilizada. Por lo tanto, eliminar una parte de este conjunto no les ayudará en ningún caso.
En aras de la integridad, señalaré que es posible dividir un archivo de manera peligrosa.
¿Cómo? Bueno, si la ubicación de la división de alguna manera depende de la clave en sí (por ejemplo, tal vez divide la clave en trozos de 4 bytes y luego divide el archivo en las compensaciones dadas por cada valor de 4 bytes), entonces esto obviamente puede filtrarse. la clave.
¿Cómo pudo suceder esto en un accidente?
Le dice a su hijo de 12 años que divida el archivo de una manera "divertida" y él decide hacerlo en base a las compensaciones dadas por la clave.
Estás increíblemente aburrido y sin darte cuenta de posibles problemas de seguridad y, por lo tanto, trata de ser "creativo" con la división, por lo que haces algo similar.
De manera realista, no sucedería si estuvieras prestando atención a lo que estás haciendo.
En primer lugar, observe que cuando encripta un archivo usando GPG con AES, lo que en realidad está cifrando ya está dividido en dos partes, ya que confía en una llamada " esquema de encriptación híbrido ":
Ahora, obviamente, puede dividir el texto cifrado en la parte "RSA" y la parte "AES" sin que en realidad sea más difícil que el atacante se rompa: aún tendría que romper la parte RSA o la parte AES, pero eso podría dificultar que el atacante obtenga realmente la parte que está dispuesta a romper (a nivel operativo).
Ahora, con respecto a los datos en sí, el cifrado con AES significa que está utilizando el modo de operación junto con su cifrado simétrico porque AES simple solo puede cifrar 1 bloque de 128 bits. Pero el OpenPGP standard está definiendo su variante muy propia del modo CFB, lo que significa que estás confiando en ella cuando usas GPG con AES.
Dado que la variante CFB utilizada por OpenPGP en realidad presenta una "verificación de clave correcta" dentro de sus dos primeros bloques de datos encriptados, es suficiente tener los dos primeros bloques de texto cifrado para saber si uno ha encontrado la clave correcta o no. sin embargo, el proceso de descifrado de cualquier bloque solo se basa en AES DEK y el bloque de texto cifrado anterior.
Entonces, desde un punto de vista operacional , dividir los datos de tal manera que no se transmitan dos bloques simultáneos probablemente aumentaría la complejidad del ataque, ya que el atacante carecería de la IV incluso si ella tuviera la clave, y por lo tanto necesitaría fuerza bruta tanto la IV de los bloques como la clave ... Sin embargo, desde el punto de vista de seguridad teórica , no hay un aumento o disminución significativo de la seguridad proporcionada por AES y el modo de operación de CFB al dividir los datos en múltiples partes.
Tenga en cuenta que el cifrado AES solo se considera seguro siempre que la clave sea secreta. (Y se supone que el IV no es un secreto). Esto no cambia cuando se realiza ninguna operación (no relacionada con la clave) solo en el texto cifrado, de lo contrario, un atacante podría simplemente hacerlo ella misma.
Lea otras preguntas en las etiquetas cryptography gnupg