Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
� � t<br />
n -Secret-Sharing Die meisten Vertreter redundanter Secret-Sharing-Verfahren<br />
sind sogenannte Threshold-Verfahren (Schwellwertverfahren). Hierbei werden<br />
alle n ausgegebenen Anteile als gleichwertig betrachtet, so daß eine beliebige<br />
Kombination von mindestens t dieser Anteile ausreicht, um das Geheimnis zu<br />
rekonstruieren. Ein solches Verfahren wird dann als � � t<br />
n -Secret-Sharing bezeichnet.<br />
2.2.1 Das Shamir-Verfahren<br />
Die bekannteste Umsetzung von redundantem Secret-Sharing ist das von Adi<br />
Shamir vorgeschlagene Polynominterpolationsverfahren [Sha79]. Um ein � � t<br />
n -<br />
Secret-Sharing einer geheimen Zahl s zu betreiben, wählt der Geber ein zufälliges<br />
Polynom f(x) von Grad t − 1 mit Achsenabschnitt f(0) = s und teilt jedem<br />
Teilnehmer i den Funktionswert si = f(i) mit. Mit dem Satz von Lagrange kann<br />
dann aus t Funktionswerten das Polynom (inklusive des Achsenabschnittes s)<br />
rekonstruiert werden. Da das Polynom über einer primen Restklasse ausgewertet<br />
wird, sind bei Kenntnis von weniger als t Interpolationsstellen weiterhin alle<br />
denkbaren Achsenabschnitte möglich und gleichwahrscheinlich.<br />
Erzeugung der Teilgeheimnisse Der Geber wählt zunächst eine Primzahl<br />
p, die größer ist als jede mögliche geheime Zahl s, und gibt sie öffentlich bekannt.<br />
Alle folgenden Berechnungen werden in der Restklasse (Z/pZ) ausgeführt. Da<br />
p eine Primzahl ist, sind insbesondere alle von Null verschiedenen Elemente der<br />
Restklasse invertierbar. Die Primzahl p muß nicht für jedes Geheimnis, das verteilt<br />
werden soll, neu gewählt werden, sondern kann auch als fester Bestandteil<br />
des Verfahrens angesehen und somit global bekannt sein.<br />
Um die geheime Zahl s ∈ (Z/pZ) zu verteilen, wählt der Geber zufällige<br />
Koeffizienten aj ∈R (Z/pZ), 1 ≤ j ≤ t − 1, wodurch sich das Polynom<br />
f(x) = s + a1x + . . . + at−1x t−1<br />
(mod p)<br />
ergibt. Dieses Polynom hat den Grad t − 1, wird also durch t seiner Stützstellen<br />
eindeutig festgelegt. Jeder Teilnehmer i ∈ {1 . . . n} erhält den Funktionswert<br />
si = f(i) als seinen Anteil des Geheimnisses.<br />
Rekonstruktion des Geheimnisses Wenn sich mindestens t der n Teilnehmer<br />
zusammenfinden, können sie das Geheimnis durch Offenlegung ihrer<br />
Teilgeheimnisse gemeinsam rekonstruieren. Wir wollen die Menge der Nummern<br />
dieser Teilnehmer als Λ ⊂ {1 . . . n} bezeichnen. Unter Verwendung der<br />
Interpolationsformel von Lagrange<br />
�t−1<br />
f(x) = aix i =<br />
i=0<br />
t�<br />
f(xi)<br />
i=1<br />
t�<br />
xl − x<br />
xl − xi<br />
l=1,l�=i<br />
für beliebige Stützstellen xi ergibt sich das Geheimnis s als<br />
s = f(0) = �<br />
i∈Λ<br />
si<br />
�<br />
l∈Λ\{i}<br />
10<br />
l<br />
l − i<br />
(mod p).