Moin Siri,
wie würde das richtige Konzept dazu ausschauen (grob skizziert)? Man benötigt einen Schlüssel. Wo sollte der abgelegt werden. Sinnigerweise doch beim User, oder? Aber wie soll das gehen im Webumfeld und wenn jemand verschiedene Endgeräte benutzt?
Es gibt da überlicherweise zwei Ansätze. Entweder, der Schlüssel ist ein Passwort oder eine Passphrase, die der User eingeben muss oder der Schlüssel wird verschlüsselt mit einem Passwort oder einer Passphrase des Users gespeichert in einer Datenbank abgelegt.
Und wie wäre es dann möglich, jemand anderem z.B. eine Datei zugänglich zu machen, ohne ihm den Schlüssel zu verraten?
Jetzt muss man umsteigen auf Private-Public-Key-Verfahren. Bei diesem Verschlüsselungsverfahren besitzt ein User ein Schlüsselpaar: einen privaten Schlüssel und einen öffentlichen Schlüssel. Der öffentliche Schlüssel ist bekannt, man lädt ihn einfach irgendwo im Internet hoch (für GPG gibt es dafür sogar Schlüsselserver). Der wird benutzt, um Nachrichten an dich zu verschlüsseln. Der private Schlüssel ist geheim und nur dir bekannt. Mit dem kannst du Dateien entschlüsseln, die mit deinem öffentlichen Schlüssel verschlüsselt wurden.
Man würde also die Datei, die du weitergeben willst, entschlüsseln, eine Kopie der Datei erstellen und mit dem Public Key des Users, dem man die Datei zukommen lassen will, verschlüsseln. Der User kann sie dann wieder entschlüsseln mit seinem Private Key.
Oft kannst du aber an dieser Funktionalität erkennen, dass der Betreiber lügt.
LG,
CK