ECIES - ¿Cuándo es malo firmar y cifrar usando las mismas claves?

Supongamos que tengo una clave pública para un usuario en particular (quizás extraída al usar el nuevo formato de recuperación de clave pública incluido en las transacciones P2SH y BIP32).

  • ¿Está bien la misma clave para la firma y el cifrado?

Dado que obtengo la clave pública de un mensaje, un script PS2H o una billetera BIP32, quiero asegurarme de que se mantengan todos los secretos (Bitcoins, claves privadas y privacidad relacionada con BIP32) y que no exista ningún riesgo para la privacidad.

  • ¿Cuáles son algunos escenarios conocidos, seguros (o inseguros) para usar la misma clave para firmar y cifrar?

Respuestas (1)

Dado que obtengo la clave pública de un mensaje, un script PS2H o una billetera BIP32, quiero asegurarme de que se mantengan todos los secretos (Bitcoins, claves privadas y privacidad relacionada con BIP32) y que no exista ningún riesgo para la privacidad.

Aunque podría haber cambiado en las revisiones de BIP0032, en algunas situaciones puede poner en riesgo toda la billetera si expone una sola clave privada. Básicamente, nunca quieres que eso suceda, tanto por motivos de privacidad como de seguridad.

Necesitará a alguien más en sintonía con EC como Gregory Maxwell para responder las preguntas específicas de cifrado, en Bitcoin solo firmamos y nunca ciframos, por lo que es algo que nunca he investigado profundamente. Creo que en los conjuntos de cifrado SSL más recientes, EC solo se usa para el acuerdo clave y el resto se transfiere a un cifrado simétrico con fines de velocidad.

Recuerde que las direcciones de Bitcoin generalmente no están diseñadas para quedarse, basar cualquier forma de encriptación en algo que es inherentemente desechable probablemente no sea una idea particularmente sabia. El único uso real que tenemos para las funciones de firma de mensajes es para sistemas como Eligius, que ya tienen una dirección estática debido a su función, y necesitamos probar que el mismo usuario está autorizando un cambio.