Teilen von Geheimnissen

Werbung
Teilen von Geheimnissen
Ziel Eine Nachricht M soll auf n Personen so aufgeteilt werden,
so dass
beliebige k der n Personen können die Nachricht
rekonstruieren,
weniger als k der n Personen können die Nachricht nicht
rekonstruieren.
k-aus-n-Geheimnisteilung
Stärker Weniger als k Personen sollen nichts oder wenig über
das Geheimnis erfahren können.
Geheimnisteilung – Illustration
Geheimnisteilung – Illustration
Geheimnisteilung – Illustration
Geheimnisteilung – Illustration
Anwendungen
1. Geheimzahl eines Safes soll auf Kommission aus n
Personen verteilt werden, so dass je k der n Personen
gemeinsam den Safe öffnen können.
Aufteilung einer Geheimzahl
10-aus-10-Geheimnisteilung
65497 62526 76230 12873 05189 31857 52902 21895 62745 86142
65497 62526
76230
12873
05189
31857 52902
21895
62745
65497 62526 76230 12873 05189 31857 52902 21895 62745 86142
86142
Anwendungen
1. Geheimzahl eines Safes soll auf Kommission aus n
Personen verteilt werden, so dass je k der n Personen
gemeinsam den Safe öffnen können.
2. Alice möchte geheime Daten auf n Servern speichern, so
dass die einzelnen Server die Daten nicht rekonstruieren
können, Alice jedoch aus den Teildaten von je k Servern
die Daten rekonstruieren kann.
3. Threshold Unterschriften.
4. …
Aufteilung einer Geheimzahl
10-aus-10-Geheimnisteilung
65497 62526 76230 12873 05189 31857 52902 21895 62745 86142
65497 62526
76230
12873
05189
31857 52902
21895
62745
86142
Unsicherheit über Geheimnis jeder einzelnen Person 1045
Unsicherheit über Geheimnis von m Personen
9 aus 10 Personen lernen viel über Geheimzahl!
1050-5m
Modulare n-aus-n Geheimnisteilung
Geheimnis G∈{0,1,…,M-1}
1. Wähle t1,…, tn-1 ∈{0,1,…,M-1} zufällig gleichverteilt.
2. Setze tn= G - t1 - t2 - …- tn-1 mod M.
Die Teilgeheimnisse sind t1,…, tn.
Modulare n-aus-n Geheimnisteilung
Beispiel 4-aus-4 mit M=53
Geheimnis = 23
Teilgeheimnisse t1= 17 , t2= 47 , t3= 31
Berechnung t4=
17
?:
+ 47 + 31 + ? = 23 mod 53
Teilgeheimnis t4= 34
Modulare n-aus-n Geheimnisteilung
Angenommen t1, t2,…, tn-1 bekannt.
Zu jedem G ∈ {0,1,…,M-1} existiert ein a ∈ {0,1,…,M-1},
so dass mit t n = a das Geheimnis G war.
a = G - t1 - t2 - …- tn-1 mod M.
Also Für weniger als n Personen ist die Unsicherheit über
das Geheimnis immer noch M.
Geometrische 2-aus-n Geheimnisteilung
Geheimnis
Punkt P ∈ R 2
Teilgeheimnisse n Geraden L1,….Ln mit gemeinsamen
Schnittpunkt P
Geometrische 3-aus-n Geheimnisteilung
Geheimnis
Punkt P ∈ R 3
Teilgeheimnisse n Ebenen E1,….En mit gemeinsamen
Schnittpunkt P
Geometrische 3-aus-n Geheimnisteilung
k-aus-n Geheimnisteilung – Schema von Shamir
Geheimnis G eine ganze Zahl.
Wählen Stützstellen u1, u2,…, un.
1. Setze a0 := G.
2. Wähle ganze Zahlen a1, …, ak-1 aus großem Bereich.
3. Setze p(x) = a0 + a1x + a2x2 + … + ak-1xk-1.
4. Setze ti = p(ui).
Die Teilgeheimnisse sind t1, t2, …, tn.
k-aus-n Geheimnisteilung – Beispiel
n=5, k=3
Drei aus fünf genügen, um das Geheimnis zu rekonstruieren.
Wählen die Stütztstellen
u1 = 1, u2 = -1, u3 = 2, u4 = -2, u5 = 3.
Geheimnis
G = 3.
Konstruktion des Polynoms
a0 = G = 3, a1 = 2, a2 = 1 und damit p(x) = 3 + 2x + x2.
Teilgeheimnisse
t1 = 6, t2 = 2, t3 = 11, t4 = 3, t5 = 18.
k-aus-n Geheimnisteilung – Beispiel
n=5, k=3
Drei aus fünf genügen, um das Geheimnis zu rekonstruieren.
Wählen die Stütztstellen
u1 = 1, u2 = -1, u3 = 2, u4 = -2, u5 = 3.
Polynom
p(x) = 3 + 2x +x2.
Teilgeheimnisse
t1 = 6, t2 = 2, t3 = 11,
t4 = 3, t5 = 18.
k-aus-n Geheimnisteilung – Rekonstruktion
Satz Ein Polynom p(x) vom Grad d ist durch d+1 Paare
( ui ,p ( ui ) ) ,i = 1,…,d + 1 eindeutig bestimmt.
k-aus-n Geheimnisteilung – Rekonstruktion
Satz Ein Polynom p(x) vom Grad d ist durch d+1 Paare
( ui ,p ( ui ) ) ,i = 1,…,d + 1 eindeutig bestimmt.
Lagrange-Interpolation
d+1
x − uj 

p ( x ) = ∑  p ( ui ) ∏

i=1 
j≠i ui − u j 
k-aus-n Geheimnisteilung – Sicherheit
Satz Gegeben k-1 Paaren ( u j ,p ( u j ) ) . Für alle b0 ∈ Z gibt es
ein Polynom q ( x ) mit
q ( u j ) = p ( u j ) un d q ( 0 ) = b 0 .
Lagrange − Interpolation mit Paaren ( u j ,a ( u j ) ) und ( 0,b0 ) .
⌂
Herunterladen