Quiero verificar una clave pública como esta:
- Alice genera un par de claves públicas / privadas para el cifrado
- Alice genera un par de claves pública / privada para la firma
- Alice firma una palabra aleatoria de 4 letras + la clave de cifrado pública usando su clave de firma privada
- Alice envía sus claves públicas (ambas) y la firma a Bob
- Alicia le envía la palabra de 4 letras a Bob utilizando una forma segura y confiable
- Bob verifica la clave de cifrado pública de Alice al verificar que la firma se haya creado con la palabra de 4 letras de la manera descrita anteriormente.
Esto es de lo que no estoy seguro:
- ¿Es suficiente una palabra de 4 letras?
- ¿Verificando la firma verifique que la clave pública sea la clave original y no haya sido alterada por un "hombre en el medio", cuando el mensaje original es el secreto?
Antecedentes: quiero archivar, guardar el intercambio de claves públicas entre otras partes. Pero no hay una autoridad de terceros de confianza en la que pueda confiar.
Pero en cambio las dos partes se reunirán en persona al principio. En ese momento confían el uno en el otro. Una parte puede dar a la otra un secreto (por ejemplo, en una hoja de papel).
Por supuesto, en teoría, la otra parte podría devolver algo. Pero por razones de facilidad de uso, quiero evitar esto.
Por supuesto, la huella digital de la clave pública podría ser el secreto. Pero, una vez más, para que sea fácil de usar, quiero que el secreto sea lo más breve posible.