Il modo più semplice sarebbe utilizzare una qualche forma di email sicura: S / MIME o PGP. Entrambi hanno vantaggio e svantaggio che sono fuori portata ma entrambi ti permetteranno di proteggere la password (puoi proteggere anche il file TC ma non è necessario).
potresti eseguire uno scambio di contratti di chiave DH via email , attenzione:
Non ti consiglio di seguire questi passaggi: usare un pacchetto standard di sicurezza della posta sarà sia più semplice che più sicuro
Ecco come lo faresti, tuttavia:
- Invia un primo messaggio in cui sei d'accordo sui valori di P e G (ci sono un sacco di librerie che possono aiutarti a farlo o potresti persino scegliere una combinazione esistente)
- Scegliete il vostro intero segreto (abbastanza grande) a eb
- Ogni esecuzione (A = G ^ a mod P) e (B = G ^ b mod P) e scambio A e B
- Ogni esecuzione (s = b ^ a mod P) e (s = b ^ a mod P) per ottenere un segreto condiviso s
- usa s come password per il tuo file TC.
Si noti, tuttavia, che è necessario utilizzare valori di dimensioni ragionevoli per la sicurezza (P deve essere almeno di circa 1024 bit, per esempio), quindi sarà necessario utilizzare l'aritmetica numerica per manipolarli e sarà necessario per verificare che non appartengano a una classe speciale di valori deboli (vedere la risposta a questa domanda che descrive il problema).
Per questo motivo, la scelta di P e G può essere complicata e complessa. Ti consiglio di utilizzare OpenSSL per farlo nel modo seguente:
openssl dhparam 1024 -text
Questo genererà un P lungo 1024 utilizzando il generatore predefinito G = 2 e lo visualizzerà in un formato (piuttosto) leggibile.