estoy leyendo la wikipedia sobre criptografía de clave pública de clave pública (http://en.wikipedia.org/wiki/Public-key_cryptography) y en ella se dice:¿Cómo combinar una clave privada y una clave pública de un secreto compartido en Java
En el Esquema de intercambio de claves de Diffie-Hellman, cada parte genera un par de claves público/privado y distribuye la clave pública ... Después de obtener una copia auténtica de las claves públicas de los demás, Alice y Bob pueden calcular un secreto compartido sin conexión. El secreto compartido se puede usar, por ejemplo, como la clave para un cifrado simétrico.
Me pregunto cómo lograr esto en Java? es decir, dada una clave pública arbitraria y una clave privada arbitraria, ¿cómo generar un secreto compartido de ella?
Para hacerlo más claro:
Alice tiene un par de claves pública/privada key_pair_alice,
Bob tiene un par de claves pública/privada key_pair_bob,
Asumiendo mi entendimiento es bien, debe haber un método combine_keys() para que:
combine_keys(key_pair_alice.private, key_pair_bob.public) ==
combine_keys(key_pair_alice.public, key_pair_bob.private)
Mi pregunta es cómo implementar el método combine_keys() en Java.
Gracias.
Posible duplicado de http://stackoverflow.com/questions/4219197/how-to-create-a-pki-in-java – nwaltham
Gracias por la pregunta y la investigación posterior, básicamente, la mayoría de la gente piensa en el "RSA" restricciones "donde esta buena propiedad no es generalmente posible, por lo tanto, malinterpretar la pregunta ... – joshis