Io e il mio team stiamo sviluppando un videogioco multiplayer con Client / Server-Topology . Ciò protegge la corrispondenza dai clienti che hanno l'intenzione di imbrogliare a causa dell'autorità del server ma consente comunque al server di modificare i pacchetti in uscita e in entrata così come i dati utente sensibili dei giocatori.
Abbiamo scelto di utilizzare AES come metodo di crittografia, ma abbiamo avuto il problema di informare tutti i peer della chiave utilizzata per proteggere i pacchetti di rete con questo metodo di crittografia.
Ho letto l'algoritmo di scambio di chiavi Diffie-Hellman-Merkle che ha funzionato perfettamente tra due peer (Alice e Bob come vengono chiamati negli esempi). Il problema è che il nostro gioco consente partite con un numero variabile di giocatori, che vanno da 2 a 16.
La condizione sembra essere che ogni cliente ha bisogno di generare lo stesso numero b (esponente di g ) per condividere il risultato dell'equazione con il server, in modo che entrambi abbiano lo stesso risultato che è s .
Non ho idea di come generare una chiave segreta su ogni peer, se il tempo a cui i client si connettono e il numero di connessioni sulla corrispondenza sono variabili.