¿Cuál es el problema con el cifrado múltiple y cómo sabe si ha descifrado un cifrado?

2

Tengo 2 preguntas que están algo relacionadas:

  1. Cuando intentas adivinar la clave en un programa (de una manera de fuerza bruta), ¿cómo sabe el programa si lo hizo bien y que había descifrado el mensaje? pero solo una larga cadena de texto)?
  2. ¿Cuál es el problema con el cifrado en cascada / el cifrado múltiple? Si la única forma de responder a la pregunta 1 es usar algo como un procesador de idiomas, ¿no son todos los encriptados múltiples irrompibles utilizando métodos de fuerza bruta?
pregunta shoham 25.04.2014 - 06:08
fuente

3 respuestas

2

Para el cifrado múltiple, había una pregunta anterior: Is ¿Es una buena idea el cifrado múltiple?

En cuanto a cómo saber si lo descifras correctamente, normalmente miras la salida y decides si tiene sentido. Por ejemplo, ¿tiene el formato de archivo de un archivo gif / jpeg / zip? Si se trata de texto simple, ¿es todo ASCII o UTF-8 correctamente codificado? Al ignorar los puntos de código que no son ASCII, solo se pueden imprimir 96 de los 256 valores posibles de un byte. Por lo tanto, si descifraste el mensaje de basura con la clave incorrecta y el mensaje tenía 1000 caracteres, la probabilidad de que todas sean letras ASCII imprimibles por azar solo será (96/256) 1000 o aproximadamente 1 en 10 400 . Incluso permitiendo UTF-8, los personajes tienen que estar en ciertas combinaciones; por ejemplo, si el primer byte tiene la forma 1110xxxx (donde cada x podría ser un 1 o un 0), eso significa que los dos siguientes caracteres deben ser la forma 10xxxxxx para ser unicode adecuado. Este tipo de cosas rara vez ocurren por casualidad.

También hay a menudo rellenos (que necesitan cierta forma en el texto simple), sumas de comprobación o códigos de autenticación de mensajes que ayudan a distinguir los datos de basura de la clave incorrecta, de los datos reales.

EDITAR: Si cifraste un archivo dos veces con dos claves diferentes (simétricas) k1 y k2 y trataste de descifrar c = E (k1, E '(k2, m)), no hay una manera en que puedas simplemente atacar -Force adivinar k1 solo examinando la salida de D (k1 ', c), que aparecerá aleatoriamente para cualquier patrón. Tendría que aplicar fuerza bruta, k1 y k2 simultáneamente para descubrir las propiedades de m.

Sin embargo, es extremadamente imposible adivinar una clave privada de alta entropía mediante la fuerza bruta. La cantidad de trabajo para forzar la fuerza de una clave AES de 128 bits es aproximadamente 2 128 , por ejemplo, mil millones (10 9 ) computadoras que prueban un billón (10 12 ) las claves por segundo durante 1000 años solo tendrían una posibilidad de 1 en 10 millones para encontrar la clave correcta. Por lo tanto, la ganancia del cifrado múltiple en este escenario no parece ser mucho.

Por otra parte, si tenía un cifrado asimétrico con una clave pública conocida, puede verificar rápidamente si la clave privada adivinada es correcta. ¿Puede cifrar un mensaje con la clave pública conocida y luego descifrarlo con su clave? clave privada adivinada para recuperar el mensaje original?

    
respondido por el dr jimbob 25.04.2014 - 06:43
fuente
1

En realidad, estamos utilizando técnicas de protocolo de múltiples capas para nuestras comunicaciones inteligentes del Proyecto Inferix AI-AI. La mayoría de la gente dice que no debes colocar capas, ya que presenta debilidades en forma de más oportunidades para el pirata informático.

Pero creemos que configurar protocolos dinámicos u ocultos dentro de los protocolos puede generar (al menos) dudas sobre si el descifrado realmente ha alcanzado el "nivel base" del cifrado para revelar "el mensaje verdadero" ... por ejemplo, en un nivel simple, un mensaje descifrado de un nivel puede revelar un mensaje plausible y luego Eve podría pensar que ha escuchado a escondidas ese mensaje ... pero el mensaje real podría haber bajado algunos niveles más.

De todos modos ... buena suerte al retirar las capas para buscar mensajes ocultos reales pero más pequeños en un mensaje o imagen mucho más grande oculta por protocolos previamente organizados que pueden ser influenciados por diferentes flujos de datos (por ejemplo, por número de transmisiones, o número de archivos, etc.).

kbo me :)

    
respondido por el Clive Williams 05.04.2018 - 02:24
fuente
1

El cifrado múltiple no aumenta la fuerza de bits más que el uso de una clave más larga. Parece que piensas que un atacante solo podría intentar una tecla pero no lo harían. Intentarían varias claves para ver si la salida de varias rondas produce el texto sin formato. Puede estar pensando que sería "difícil" pero no es más difícil que una clave única equivalente.

Por ejemplo, el cifrado simétrico con una clave de 256 bits tomará un promedio de 2 intentos 256 para encontrar la clave adecuada mediante la fuerza bruta. Hacer dos rondas con claves de 128 bits tomará 2 intentos 128 × 2 128 = 2 256 también. Ahora bien, podría decir que usaría dos rondas con claves de 256 bits. Ok eso requiere 512 bits de claves. No es más fuerte que una sola ronda con una clave de 512 bits.

La realidad es que algo más allá de 128 está más allá de la fuerza bruta. No hay suficiente energía en nuestra estrella para contar hasta 2 256 antes de que se queme mucho menos la fuerza bruta de una tecla. La criptografía fuerte es fuerte. No es necesario inventar formas inteligentes de ofuscarlo.

Podrías decir Hello NSA aquí es el archivo cifrado. Utiliza AES-256 en modo de bloque CBC y aquí está el IV. Intenta romperlo. El cifrado fuerte es fuerte Referencia obligatoria al escenario de llave xkcd aparte, no lo están rompiendo. Podrían arruinar el país y construir una computadora de tamaño planetario y no lo están rompiendo. 2 256 es mucho más grande de lo que crees. Entonces, si 2 128 o 2 256 es tan grande que está más allá de la fuerza bruta, ¿por qué necesitaría un múltiplo de eso? Protege contra una amenaza inexistente.

El enlace débil es cómo generaste esa clave. Se deriva de una contraseña. Tal vez uno tan débil como "P @ ssw0rd!"? Bueno, ¿eso es mucho más fácil de atacar que una clave aleatoria de 256 bits? La "debilidad" en la criptografía moderna no es lo primitivo. Ellos son bien entendidos. Es todos los detalles de la implementación. Si el modo de bloqueo CTR y reutiliza el IV? Tu debilidad. ¿Se deriva de una contraseña débil? Tu debilidad. ¿Hiciste un simple hash sin sal de una contraseña en lugar de usar un KDF? Tu debilidad. ¿Su PRNG tiene un defecto o puerta trasera? Tu debilidad. Nadie fuerza las llaves con 128 bits de entropía. Nadie. Así que tu solución es una en busca de un problema. Si su implementación es defectuosa, es muy probable que también sea defectuosa para varias claves, por lo que todavía es débil. Lo simple es bueno, hay menos para equivocarse.

    
respondido por el Gerald Davis 01.07.2015 - 03:10
fuente

Lea otras preguntas en las etiquetas