Protegiendo datos a través de una operación XOR con claves suficientemente largas

0

Supongamos que dos partes, S y D, quisieran proteger un canal de comunicación . Por lo tanto, S y D intercambian dos secuencias de teclas suficientemente largas SB y DB de bits aleatorios a través de un canal seguro [por ejemplo, no a través de Internet]. Después de este intercambio, ambos se conocen las llaves.

Por ejemplo, S y D podrían (físicamente) intercambiar memorias USB de 64 GB que contienen la secuencia de teclas del otro.

Si S quiere enviar un mensaje M a D, S realmente envía M xor SB *.

  • Si SB y DB contienen suficiente entropía [por lo tanto, se basan en una buena fuente aleatoria],
  • y SB y DB son suficientemente largos
  • ¿Esta técnica protegerá el mensaje M contra terceros ?

¿Cómo calcularía un tercero las claves SB y DB?

¿No suena esto mucho como una línea pad de una sola vez ?

Aunque utilicé XOR , en realidad me refiero a una operación matemática simple (por ejemplo, bitwise op + add). En general, pensé en la pregunta, si es posible una criptografía sólida con matemáticas simples.

    
pregunta SteAp 08.09.2013 - 15:10
fuente

3 respuestas

8

Lo que estás describiendo es un pad de una sola vez.

Suponiendo que cada bit de la clave se use solo una vez, el pad de una sola vez se considera un cifrado perfecto . Por supuesto, si reutiliza cualquier parte de la clave, todo el esquema se convertirá en algo ridículo débil .

La mayor debilidad del esquema es la dificultad del método de intercambio de claves. Las teclas utilizadas en el teclado de una sola vez deben ser de la misma longitud o más largas que el mensaje. Si tiene un método seguro para transferir una cantidad arbitraria de información para usar como material clave, ¿por qué no usar el mismo método de transferencia para transferir el mensaje real?

Además, el material clave debe ser verdaderamente aleatorio.

    
respondido por el Ayrx 08.09.2013 - 15:22
fuente
4

También necesita autenticación y verificación de integridad con un MAC fuerte que se envía con el texto cifrado para evitar ataques de volcado de bits. Cifre el MAC también con algunos de los datos aleatorios también (utilizando el mismo proceso de cifrado).

Necesitarás una forma de mantenerte en sincronía con el otro usuario para no reutilizar datos aleatorios accidentalmente. Piense en cómo manejará la pérdida de paquetes, la pérdida de un mensaje o la interferencia de un atacante. Echa un vistazo al protocolo SSH para algunas pistas de diseño. Una vez que haya utilizado parte de los datos aleatorios, debe eliminarse inmediatamente para evitar que se reutilicen. Debe designar partes separadas de los datos para que cada parte los envíe, de manera que ambos usuarios no envíen accidentalmente utilizando los mismos datos aleatorios.

Asegúrese de que su entropía sea correctamente aleatoria. Definitivamente no debería confiar ciegamente en lo que sea que el sistema operativo le brinda, especialmente con la nueva solución en chip desarrollada en connivencia con la NSA y la NSA insertando puertas traseras en todo. Incluya también alguna entrada de usuario aleatoria. Probablemente necesitará una fuente física de aleatoriedad, tal vez una solución de hardware y recopilación de múltiples fuentes de entropía. Asegúrese de ejecutar toda la entropía a través de un extractor de aleatoriedad antes de usarlo también. Por ejemplo, tendría que generar 128 GB de entropía y luego ejecutarlo a través del proceso de blanqueo de Von Neumann, que le dará 64 GB de entropía utilizable. No uses un CSPRNG si puedes evitarlo, los patrones sutiles podrían revelar la semilla utilizada para generar los datos aleatorios completos.

Para 64GB que tomará un tiempo crear. Si realmente quisiera usar un CSPRNG, potencialmente podría generar 3 claves largas (1024 bits +). Ejecute cada uno a través de un algoritmo CSPRNG separado para generar 3 salidas separadas de 128GB. A continuación, ejecute las salidas separadas a través del extractor de entropía para obtener 64 GB para cada salida, y finalmente, XORUE las salidas juntas (salida 1 salida XOR 2 salida XOR 3 ). La salida final debería ser buena para 64 GB de datos aleatorios seguros e impredecible para cualquier atacante.

La belleza del teclado de una sola vez es que el texto cifrado se puede descifrar a cualquier texto plano de la misma longitud. Un atacante puede probar todas las claves que desee, solo revelará todos los plaintexts posibles. Si mantiene la administración de claves adecuada (eliminando las claves después del uso) y otra seguridad en torno a la implementación, entonces tiene una negación plausible. Si un atacante te obliga a revelar tu llave (con una manguera o una llave de goma), ya no tienes la llave para ayudarlos. Y cualquier cosa que envíes se puede cambiar a cualquier cosa que quieras decir. Hay una razón por la cual los militares y los gobiernos todavía lo usan. Una vez que el intercambio de claves de criptografía cuántica se haga más disponible, el pad de una sola vez se utilizará aún más. Hasta entonces, resuelva los problemas prácticos menores y disfrute de la libertad y el secreto perfecto.

    
respondido por el KnightSeven 09.09.2013 - 07:15
fuente
2

Hay otra forma de visualizar un teclado de una sola vez que puede ayudar a ampliar su visión de lo que es la seguridad de datos simétricos.

Considere un mensaje P (texto sin formato) de longitud N (bytes) :

  • Puedes dividir este mensaje (mitosis criptográfica en realidad) en dos secretos aleatorios ( A y B ) de longitud N , usando un fuente de datos R (bytes) de longitud N . Después de la división, se pueden descartar P y R . Los secretos A y B se convierten en la clave / texto cifrado uno del otro .
  • El texto simple se regenera simplemente combinando los dos secretos A y B .
  • Secreto A o B se puede dividir en más secretos de longitud N usando datos aleatorios adicionales completamente nuevos ( R 2 ).
  • Cada pieza secreta A , B , C , D , E , F , ... etc. es:

    • Igualmente necesario para producir el texto en claro.
    • Se puede combinar en cualquier orden para llegar al texto simple
    • es igual de seguro; independientemente de saber 1 de 10 secretos o 9 de 10 secretos.
  • Esto significa que puede asegurar un secreto dividiéndolo en varios CD o memorias USB; ya sea escondido en diferentes lugares o dado a diferentes personas. Solo se necesita una buena fuente de datos aleatorios para la mitosis inicial.

Esta es simplemente una manera diferente de conceptualizar el mismo modelo de cifrado de una sola vez; pero una práctica, ya que resalta el texto cifrado y las claves como conceptos totalmente intercambiables para las libretas de una sola vez, siempre que el atacante no tenga todos los secretos.

Se aplican las restricciones habituales para las almohadillas de un solo uso.

    
respondido por el LateralFractal 09.09.2013 - 13:50
fuente

Lea otras preguntas en las etiquetas