3.12 Realisierung des Alpha-Systems

Es liegt im Wesen der Kryptographie, daß ständig neue kryptographische Mechanismen erfunden werden und daß sie sich hinsichtlich sicherer Algorithmen selbst korrigiert. Im folgenden soll exemplarisch illustriert werden, wie das Alpha-, Beta- und Gamma-System implementiert werden kann. Hierbei handelt es sich nicht um eine endgültige und für die langfristige Zukunft gültige Implementierungsvariante, sondern es werden lediglich Möglichkeiten der Realisierung aufgezeigt. Die Entscheidung für die eingesetzten Kryptoverfahren kann mithin zu einem Zeitpunkt in der Zukunft durch Kryptographie-Experten getroffen werden.

3.12.1 ElGamal-Verschlüsselungsschema

Für das Alpha-System wird das ElGamal-Codierungsschema (ElGamal, 1985) mit dem Schnorr-Signaturschema verwendet (Schnorr, 1991). Die Sicherheit des ElGamal Verfahrens ist äquivalent zur Diffie-Hellman-Annahme, die auf der Komplexität der Berechnung diskreter Logarithmen beruht (Diffie/Hellman, 1976): Seien p eine Primzahl und g Generator aus der Menge und (a,b) zwei Zufallszahlen aus (g ist ein Generator mod p, falls es für jedes y von 1 biseine Zahl x gibt mit ). Die Diffie-Hellman-Annahme besagt nun, daß bei gegebenen und die Berechnung von praktisch undurchführbar ist.

Im weiteren operieren wir in einer Untergruppe (der Ordnung von , wobei p eine große Primzahl, undeinen Generator der Ordnung q repräsentiert (Cramer/Gennaro/Schoenmakers, 1997). Diese Darstellungsform wird für das Schnorr-Verfahren benötigt.

Schlüsselerzeugungs-Algorithmus 

Verschlüsselungs-Algorithmus  Entschlüsselungs-Algorithmus  Die Systemparameter bestehen aus dem öffentlichen Schlüssel und korrespondierendem geheimen Schlüssel d aus Um den nötigen Speicherplatz pro Schlüsselpaar zu reduzieren, können alle Teilnehmer und Instanzen, die mit einer LA korrespondieren, gemeinsam die eindeutigen Systemparameter (p,q,g) verwenden. Diese Werte werden dann für die weitere Generierung neuer Schlüssel als konstant vorausgesetzt.

Die Entschlüsselung ist korrekt, da und somit folgt
.

3.12.2 Schnorr-Signaturschema

Die Systemparameter sind dieselben wie im ElGamal-Schema. Das Schnorr-Signaturschema (Schnorr, 1991) verwendet zusätzlich eine kryptographisch sichere Hash-Funktion.

Schlüsselerzeugungs-Algorithmus

Signatur-Algorithmus Verifikations-Algorithmus 3.12.3 Kollektivschlüssel-Erzeugungsprotokoll

Wir realisieren das oben beschriebene Kollektivschlüssel-Erzeugungsprotokoll im Schnorr-ElGamal-System. Das Kollektivschlüssel-Erzeugungsprotokoll stellt den Spezialfall n=k des (n,k)-Schwellenwertschemas zur Schlüsselverteilung von Pedersen dar (Pedersen, 1991).

,der im X.500 publiziert wird.

3.12.4 Kollektives Entschlüsselungsprotokoll

Wir realisieren das oben beschriebene Kollektivschlüssel-Erzeugungsprotokoll im Schnorr-ElGamal-System. Das Protokoll zur Entschlüsselung wird für ein codiertes Datum dargestellt. Wenn der Wahlschein gemischt codiert wurde, dann ist (siehe 3.8.8). Ansonsten gilt .

Erfolgte eine hybride Codierung dann gilt , sonst 

3.12.4.1 Chaum-Schnorr-Pedersen-Signaturschema

Die Systemparameter sind dieselben wie im ElGamal-Schema.

Schlüsselerzeugungs-Algorithmus

Signatur-Algorithmus Verifikations-Algorithmus 3.12.5 Symmetrisches Codierungsschema

Wir treffen hier keine besondere Auswahl des benützten symmetrischen Codierungsschemas. Mögliche Realisierungsarten sind u.a. DES, IDEA und BLOWFISH (siehe Schneier, 1996).

3.12.6 Hash-Funktion und Commitment

Als sichere Hash-Funktion verwenden wir den Secure Hash Algorithm (SHA). SHA produziert für jede EingabeBit eine Ausgabe der Länge 160 Bit, die als Message-Digest bezeichnet wird. "SHA wird als sicher bezeichnet, da er so entworfen wurde, daß es vom Berechnungsaufwand her nicht durchführbar ist, eine Nachricht zu einem vorgegebenen Message Digest zu bestimmen oder zwei Nachrichten zu finden, die den gleichen Message Digest ergeben" (Schneier, 1996, S. 504). Zur Zeit existieren keine bekannten Angriffe gegen SHA. Zudem bietet SHA einen akzeptablen Schutz vor Brute-Force-Angriffe (einschließlich dem Geburtstagsangriff).

Die Commitment-Funktion (BC) kann durch unterschiedliche Verfahren (u.a. mit symmetrischer Kryptographie oder mit sicheren Hash-Funktionen realisiert werden) (Realisierung siehe: Schneier, 1996, S. 104-107).