Ich hab da mal ein etwas merkwürdigeres Problem.
Was ich vorhabe:
Für Gameserver möchte ich gern, dass ich in den Servereinstellungen Admins etc eintragen kann.
Die müssen sich ja natürlich irgendwie authentifizieren. Dafür habe ich mir folgendes, imho umständliches Prinzip überlegt und wollte wissen ob das nicht einfacher geht:
Der Client generiert aus der Seriennummer des Spiels ein Public-Private-Key-Pair und kann dann in den Listen der Server mit dem Public Key eingetragen werden und sich damit authentifizieren (Server verschlüsselt irgendwas mit dem Public Key und der Client muss den entschlüsselten Wert wieder an den Server übertragen)
Warum aus der Seriennummer? Naja die bekommt man als Spieler ja einmal, also ist es nicht schlimm, wenn man mal seinen Computer wechselt, das Spiel neu installiert oder sonst etwas macht, was dafür sorgen würde, dass ein zufällig generiertes Schlüsselpaar verloren geht.
Warum ich das so machen will und nicht eine zentrale Instanz erstelle die für die Authentifizierung sorgt ist einfach: Wenn die Instanz ausfällt geht halt nichts mehr und das möchte ich verhindern.
Das Problem an dem Ansatz: Ich müsste die Erzeugung des Schlüsselpaares selber machen, bzw eine offene Implementierung finden, wo ich dem Zufallsgenerator einen Seed übergeben kann, der auf der Seriennummer basiert.
Also meine Frage ist ob das nicht irgendwie mit weniger Aufwand möglich ist? Oder falls nicht ob nicht jemand eine .NET Implementierung eines assymetrischen Verschlüsselungsverfahren kennt, bei dem ich den generierten Schlüssel irgendwie von meiner Seriennummer ableiten kann?
Ich bin nämlich nicht sonderlich heiß darauf RSA selber zu implementieren...
Ich bin für jede Hilfe und jeden Denkanstoß dankbar