Sto progettando un protocollo sicuro (per scopi accademici / di apprendimento) e sono al punto in cui ho bisogno di (ri) progettare il passaggio chiave di scambio.
Nella mia precedente implementazione, usavo fare affidamento su RSA per crittografare quindi firmare un paio di chiavi AES generate casualmente che avrei poi utilizzato per la crittografia del traffico.
È stato portato alla mia attenzione che l'uso di Diffie Hellman per lo scambio di chiavi potrebbe adattarsi meglio alle mie esigenze, ma non mi sento troppo a mio agio con un algoritmo che non capisco abbastanza bene, quindi le domande:
Mi piacerebbe usare EC-DHE e ho letto che la chiave generata non era casuale (leggi: ha una struttura, che suppongo provenga dai concetti matematici sottostanti). Ho sempre sentito che l'uso di chiavi generate casualmente era altamente raccomandato per algoritmi di cifratura simmetrica. Anche se ho cancellato il tasto DHE risultante, non sarà ancora "casuale". Va ancora bene usarlo a tale scopo?
Ho capito (correggimi se ho torto), che in EC-DHE, la scelta della curva ellittica è fondamentalmente un modo semplice per scegliere i parametri DH. C'è qualcosa di cui dovrei essere a conoscenza quando scelgo la curva ellittica? Devo lasciare che gli utenti decidano quale EC possono usare?