Cifrado de comunicación de teléfono a servidor en Java

Esto va junto con otro hilo, aquí:Cómo implementar el cifrado AES de Java de 256 bits con CBC

Principalmente, tratando de obtener el cifrado AES en un teléfono usando Java.

Mi pregunta aquí es cómo manejar la clave de cifrado. No sé si debo guardar la clave, hacer un hash de la clave y usarla, o hacer un esquema de encriptación de clave pública. Preferiría tener una forma de no enviar un mensaje inicial del servidor al teléfono para comunicar una clave. Quiero que el teléfono esté listo para cifrar y el servidor que espera un mensaje cifrado. Para implementar algo así como un algoritmo de intercambio de claves, tendría que modificar nuestra aplicación de servidor que no es muy deseable. No es imposible, pero voy a reutilizar el código aquí =).

Respuestas a la pregunta(1)

Su respuesta a la pregunta