| Diffie/Hellman | Mathematische Grundlagen |
Eine Möglichkeit der Schlüsselverteilung ist Bloms Schema. Bei einem Schema für
User sind die Schlüssel aus der Menge
, wobei
eine öffentlich bekannte Primzahl ist, für die
gilt. Weiterhin gibt es einen Sicherheitsparameter
, der die größte Anzahl Teilnehmer einer Koalition angibt (damit ist gemeint, dass
Personen untereinander Informationen austauschen können), so dass das Schema noch sicher ist. Mögliche Werte für diesen Parameter liegen in der Menge
.
Das Schema funktioniert nun wie folgt.
Für jeden User
gibt es eine öffentliche Zahl
, wobei je zwei User verschiedene öffentliche Zahlen besitzen. Ein Trust Center wählt nun zufällig Zahlen
,
und
, mit
für
, die das folgende Polynom in den Variablen
und
bestimmen
Für jeden User
berechnet das Trust Center in
ein Polynom
und sendet dem User
das Polynom
über einen sicheren Kanal.
Falls die User
und
kommunizieren wollen, berechnen sie jeweils
und
und erhalten den Kommunikationsschlüssel
Der Vorteil bei Bloms Schema ist, dass jeder User A je nach Sicherheitsparameter nur
Elemente aus
speichern muss, nämlich die Koeffizienten des Polynoms
.
Beweis Das Trust Center habe die Funktion
Ein User
möchte den Kommunikationsschlüssel
mit
und
öffentlich bekannt, aber
,
sowie
sind unbekannt.
Der Angreifer
kennt sein Polynom
der Kommunikationsschlüssel von
und
ist. Die Information, welche
zur Verfügung steht, kann man mittels eines Gleichungssystems darstellen, bei dem
bestimmt werden sollen:
und
, da
eine Primzahl ist. Da die Determinante ungleich Null ist, ist das Gleichungssystem für jeden angenommenen Schlüssel
eindeutig nach
,
und
auflösbar. Der Schlüssel
kann nicht von
identifiziert werden.
Zwei User
und
in einer Koalition können jedoch den Schlüssel
für
berechnen. Sie kennen nämlich
also mit
:
Damit lässt sich
mit (1.1) oder (1.3) leicht berechnen. Analog erhält man aus (1.2) und (1.4) den Wert von
, damit kennen
und
das geheime Polynom
und können alle Schlüssel berechnen. Analog kann man zeigen: