04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

MEHR ANZEIGEN
WENIGER ANZEIGEN

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).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!