Autenticación de One-Time Pad y seguridad teórica de la información

1

Estoy intentando crear un sistema de cifrado "Información teóricamente segura", inspirado en el One-Time Pad.
Ahora me enfrento al obstáculo de la autenticación ...

¿Qué tan buena es esta solución (que utiliza el método "Cifrar que MAC")? ¿Y puede este beneficio de la "Seguridad teórica de la información" proporcionada por la OTP?

|| = concatenation

OTPKey = (OTPKeyPartForThePlaintext || OTPKeyPartForTheDigest)
ciphertext = (plaintext XOR OTPKeyPartForThePlaintext)
digest = sha256(OTPKey || ciphertext)
encryptedDigest = (digest XOR OTPKeyPartForTheDigest)
message = (ciphertext || encryptedDigest)

Gracias :)

    
pregunta Riccardo Leschiutta 28.10.2015 - 13:14
fuente

2 respuestas

-1

MAC pretende ofrecer integridad y autenticidad.

Sin embargo, usar una OTP no necesita autenticidad, ya que solo usted y la otra parte tienen la clave OTP. Esto solo es necesario para el cifrado de clave pública, donde todos pueden cifrar un mensaje que solo usted puede descifrar. Por lo tanto, en ese caso necesita autenticidad, pero para el cifrado simétrico no hay necesidad de autenticidad y, por lo tanto, no para MAC.

Por supuesto, aún necesita integridad, pero en este caso lo siguiente tiene más sentido:

mensaje = texto cifrado = (texto sin formato || sha256 (texto sin formato)) XOR OTPKey

Cuando se usa una OTP, no hay inconveniente en usar este método, ya que la estructura creada en el texto simple + sha del texto simple no se puede explotar cuando se usan las OTP.

    
respondido por el Selenog 29.10.2015 - 08:30
fuente
1

El autor es correcto:

  

Ya he pensado en esta solución, pero creo que es vulnerable a los ataques de texto plano conocido ... Si se conoce el texto simple, Mallory puede procesarlo y obtener el resumen. Con (texto sin formato || resumen) puede obtener la OTPKey completa y enviar a Bob el mensaje que desee.

Si Alicia envía:

{plaintext} {sha256 of plaintext}
XOR {OTP keystream}

Mallory puede interceptar esto y (sabiendo el texto en claro) calcular

 {ciphertext}
 XOR {plaintext} {sha256 of plaintext}

para obtener {OTP keystream}, lo que les permite calcular:

 {modified evil message} {sha256 of modified evil message}
 XOR {OTP keystream}

y reemplaza el mensaje con este creado.

Consulte la respuesta a esta pregunta: Autenticación segura incondicional

    
respondido por el Anonymousse 27.08.2016 - 08:36
fuente

Lea otras preguntas en las etiquetas