You are on page 1of 14

Prelegerea 5

Sisteme de partajare a secretelor


5.1 Sistemul condent ial al lui Shamir

Intr-o banca, seiful trebuie deschis n ecare zi. Banca are trei directori, dar nu ncredint eaza
combinat ia seifului nici unuia din ei. Ea doreste sa dispuna de un sistem de acces prin care
orice asociere de doi directori sa poata deschide seiful, dar acest lucru sa e imposibil pentru
unul singur.
Ca un exemplu, conform revistei Time Magazin (4 mai 1992), n Rusia, accesul la arma
nuclear a utilizeaza un astfel de sistem doi - din - trei. Cele trei persoane sunt Presedintele
t arii, Presedintele Parlamentului si Ministrul Apar arii.
Sa prezentam ntai un sistem de partajare a secretului numit sistem condent ial.
1
Denit ia 5.1 Fie t, w doua numere ntregi pozitive, t w. Un sistem condent ial (t, w) este
o metoda de partajare a unei chei K ntre membrii unei mult imi T de w participant i, astfel
ncat orice asociere de t participant i sa poata calcula K, lucru imposibil pentru asocieri de t 1
sau mai put ini participant i.
Exemplul precedent este deci un sistem condent ial (2, 3).
Valoarea lui K este aleasa de un arbitru
2
D. Vom presupune ca D , T. D va distribui n
secret componente ale cheii membrilor grupului T, astfel nc at nici un participant sa nu cunoasca
componentele celorlalt i si nici sa e capabil ca din componenta sa sa poata recompune cheia
K.
Ulterior, participant ii unei submult imi B T pot pune n comun componentele cheii cunos-
cute de ei (sau sa le dea unei autoritat i n care au ncredere) cu scopul de a determina K. Ei
trebuie sa poata reusi n aceasta tentativa daca si numai daca card(B) t.
Sa notam
T= P
i
[ 1 i w
mult imea celor w participant i. / este spat iul tuturor cheilor posibile, iar o este spat iul
componentelor (toate componentele posibile ale cheii).
Sistemul prezentat n aceasta sect iune este datorat lui Shamir si a fost creat n 1979. Fie
p (p w + 1) un numar prim si /= Z
p
, o= Z
p
. Deci cheile si componentele sunt numere din
Z
p
. Sistemul condent ial al lui Shamir, prezentat mai jos, se bazeaza pe un polinom aleator
1
Threshold scheme n engleza, a seuil n franceza.
2
Dealer n engleza, initiateur n franceza.
55
56 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
a(X) de grad cel mult t 1, n care termenul liber este K. Fiecare participant P
i
aa un punct
(x
i
, y
i
) de pe gracul acestui polinom.
1. (Init ializare): D alege w elemente distincte x
1
, . . . , x
w
Z
p
(x
i
publice), ecare x
i
ind comunicat lui P
i
.
2. Sa presupunem ca D doreste sa repartizeze cheia K Z
p
. D va selecta aleator t 1
elemente a
1
, . . . , a
t1
Z
p
si construieste polinomul
a(X) = K
t1

j=1
a
j
X
j
(mod p).
3. D calculeaza y
i
= a(x
i
) si comunic a aceasta valoare lui P
i
(1 i w).
Fie acum o submult ime P
i
1
, . . . , P
i
t
de participant i care doresc sa reconstituie cheia. Ei stiu
valorile x
i
j
si y
i
j
= a(x
i
j
) pentru 1 j t; a(X) Z
q
[X] este polinomul (secret) folosit de D.
Cum gradul lui este cel mult t 1, putem scrie
a(X) = a
0
+ a
1
X + . . . + a
t1
X
t1
unde a
0
= K iar a
0
, . . . , a
t1
Z
q
sunt necunoscute. Ele se aa rezolvand sistemul liniar
de t ecuat ii y
i
j
= a(x
i
j
). Daca ecuat iile sunt independente, solut ia este unica, iar valoarea lui
a
0
este chiar cheia K.
Exemplul 5.1 Sa presupunem p = 17, t = 3, w = 5, iar x
i
= i, (1 i 5). Daca
B = P
1
, P
3
, P
5
vor sa ae cheia aducand ecare informat iile 8, 10 si respectiv 11, ei vor
scrie polinomul general a(X) = a
0
+ a
1
X + a
2
X
2
si vor reduce problema la rezolvarea n Z
17
a
sistemului liniar
_

_
a(1) = a
0
+ a
1
+ a
2
= 8
a(3) = a
0
+ 3a
1
+ 9a
2
= 10
a(5) = a
0
+ 5a
1
+ 8a
2
= 11
Acesta admite solut ia unica n Z
17
: a
0
= 13, a
1
= 10, a
2
= 2.
Deci valoarea cautata este K = 13.
Teorema 5.1

In sistemul condent ial al lui Shamir, orice mult ime B de t participant i poate
reconstitui n mod unic cheia K.
Demonstrat ie: Fie a(X) = a
0
+ a
1
X + . . . + a
t1
X
t1
polinomul ales de D, unde a
0
= K.
Armat ia se reduce la a arata ca sistemul de ecuat ii y
i
j
= a(x
i
j
) (1 j t), de necunoscute
a
0
, . . . , a
t1
, admite solut ie unica. Determinantul acestui sistem este

1 x
i
1
x
2
i
1
. . . x
t1
i
1
1 x
i
2
x
2
2
1
. . . x
t1
i
2
. . .
1 x
i
t
x
2
it
. . . x
t1
it

1j<kt
(x
i
k
x
i
j
) (mod p)
Deoarece toate numerele x
i
sunt distincte, iar Z
p
este corp, rezulta ca acest produs este
nenul, deci sistemul are totdeauna solut ie unica, iar a
0
este chiar cheia cautat a. 2
Ce se nt ampl a daca un grup de t 1 participant i ncearc a sa calculeze cheia K ?
5.1. SISTEMUL CONFIDENT IAL AL LUI SHAMIR 57
Daca procedeaza conform algoritmului anterior, vor obt ine un sistem de t 1 ecuat ii cu t
necunoscute. Fie y
0
o valoare arbitrara a cheii K. Vom avea y
0
= a
0
= a(0), care formeaza a
t - a ecuat ie a sistemului. Acesta ofera de asemenea solut ie unica. Deci, pentru orice valoare
K Z
p
exista un polinom unic a
K
(X) Z
p
[X] care verica toate condit iile:
y
i
j
= a
K
(x
i
j
) (1 j t 1), y
0
= a
K
(0).
Rezulta ca orice valoare a lui K este consistent a cu componentele det inute de cei t 1
participant i; asocierea lor nu ofera nici o informat ie suplimentara pentru aarea cheii.
Mai exista o modalitate de abordare a sistemului condent ial al lui Shamir: folosind poli-
noamele de interpolare Lagrance. Acestea ofera o exprimare explicita a polinomului a(X), sub
forma
a(X) =
t

j=1
y
i
j

1 k t
k ,= j
x x
i
k
x
i
j
x
i
k
.
Evident, acesta este un polinom de grad cel mult t 1, cu proprietatea y
i
j
= a(x
i
j
), j =
1, . . . , t. Cum un astfel de polinom este unic, rezulta ca el este chiar polinomul cautat.
Un grup B de t participant i poate calcula a(X) pe baza acestei formule. De fapt, nici nu
este nevoie se determine tot polinomul: este sucient sa obt ina K = a(0). Deci, nlocuind n
formul a pe X cu 0, avem
K =
t

j=1
y
i
j

1 k t
k ,= j
x
i
k
x
i
k
x
i
j
.
Daca denim
b
j
=

1 k t
k ,= j
x
i
k
x
i
k
x
i
j
(1 j t),
aceste valori pot precalculate si facute publice de catre arbitru. Cheia este atunci o combinat ie
liniara de t componente:
K =
t

j=1
b
j
y
i
j
.
Exemplul 5.2 Sa revenim la Exemplul 5.1. Participant ii P
1
, P
3
, P
5
pot calcula b
1
, b
2
, b
3
;
se obt ine (calculele sunt facute modulo 17):
b
1
=
x
3
x
5
(x
3
x
1
)(x
5
x
1
)
= 3 5 (2)
1
(4)
1
= 4.
Similar, b
2
= 3, b
5
= 11. Cu componentele 8, 10 si 11, cheia se determina imediat:
K = 4 8 + 3 10 + 11 11 = 13 (mod 17)
Aceasta varianta ofera o simplicare a algoritmului Shamir pentru cazul w = t. Ea funct ioneaza
pentru /= Z
m
, o= Z
m
(m nu este obligatoriu numar prim si chiar mai mult este posibil
ca m w). Noul algoritm este:
58 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
1. D alege aleator t 1 elemente y
1
, . . . , y
t1
Z
m
;
2. D calculeaza y
t
= K
t1

i=1
y
i
(mod m);
3. Fiecare element y
i
este transmis n secret lui P
i
(1 i t).
Cei t participant i pot determina cheia K pe baza formulei
K =
t

i=1
y
i
(mod m).
Evident, t 1 participant i nu pot obt ine cheia K. Chiar daca pun n comun componentele lor,
ei pot determina valoarea K y, unde y este componenta celui care lipseste. Cum y este o
valoare aleatoare din Z
m
, nu se va obt ine nici o informat ie suplimentar a referitoare la cheie.
Acesta este deci un sistem condent ial (t, t).
5.2 Structura de acces si partaj a secretului general

In paragraful precedent am studiat situat ia cand orice asociere de t participant i din totalul
de w poate calcula cheia. Vom restrange aici aceasta condit ie, specicand ce submult imi de
participant i pot avea acces la cheie si pentru ce submult imi acest acces este interzis. Fie o
mult ime de submult imi ale lui T, ecare din ele reprezentand o asociat ie autorizata sa calculeze
cheia K. se numeste structura de acces, iar submult imile ei se numesc submult imi autorizate.
Fie / o mult ime de chei si o o mult ime de componente. Cand arbitrul D doreste sa
repartizeze o cheie K /, el va distribui cate o component a ecarui participant, urmand ca
ulterior, o submult ime de participant i sancerce sa determine K punandn comun componentele
cunoscute de ei.
Denit ia 5.2 Un sistem perfect de partajare a secretelor cu structura de acces este un pro-
cedeu de partajare a secretului unei chei K peste o mult ime T de participant i, astfel ncat:
1. Orice submult ime autorizata B T de participant i poate reconstitui cheia din componen-
tele cunoscute de ei;
2. Orice submult ime neautorizata B T de participant i nu poseda nici o informat ie despre
valoarea lui K.
Un sistem condent ial (t, w) realizeaza structura de acces = B T [ card(B) t. O
asemenea structura de numeste structura condent iala. Conform paragrafului precedent, sis-
temul condent ial al lui Shamir este perfect si realizeaza o structura condent ial a.
Sa studiem securitatea sistemelor de partajare a secretelor. Ca de obicei, nu se impune nici
o restrict ie asupra puterii de calcul a submult imilor neautorizate.
Fie B si B C T. Daca C cauta sa determine cheia K, ea va reusi lucrand numai
cu B si ignorand participant ii din C B. Altfel spus, structura de acces satisface condit ia de
monotonie:
5.3. CONSTRUCT IA CIRCUITELOR MONOTONE 59
Daca B si B C T, atunci C .

In continuare vom presupune ca orice structura de acces este monotona.


Un element B este minimal daca A B = A , . Vom nota cu
0
mult imea
elementelor minimale din . Se observa ca aceasta mult ime caracterizeaza complet . Mai
exact,
= C T [ B
0
, B C.
Spunem ca este nchiderea lui
0
si notam prin =
0
.
Exemplul 5.3 Fie T= P
1
, P
2
, P
3
, P
4
si
0
= P
1
, P
2
, P
4
, P
1
, P
3
, P
4
, P
2
, P
3
. Vom avea
= P
1
, P
2
, P
4
, P
1
, P
3
, P
4
, P
2
, P
3
, P
1
, P
2
, P
3
, P
2
, P
3
, P
4
, P
1
, P
2
, P
3
, P
4
.
Invers, ind dat , se vede imediat ca
0
este mult imea part ilor sale minimale.

In cazul structurilor condent iale de acces, baza este mult imea submult imilor formate cu t
participant i.
5.3 Construct ia circuitelor monotone
Ideea din aceasta sect iune apart ine lui Benaloh si Leichter; ea consta n construirea unui cir-
cuit combinat ional care recunoaste structura de acces si genereaza un sistem de partajare a
secretului. Un astfel de circuit este numit de autori circuit monoton.
Fie C un circuit computat ional cu w intr ari notate prin variabilele booleene x
1
, . . . , x
w
(corespunzatoare celor w participant i P
1
, . . . , P
w
) si o iesire booleana y = C(x
1
, . . . , x
w
). Pre-
supunem ca la construct ia circuitului sunt folosite numai port i AND si OR (far a port i NOT).
Un astfel de circuit este numit monoton daca modicarea unei intr ari din 0 n 1 nu va implica
niciodata transformarea iesirii y din 1 n 0.
Vom nota
B(x
1
, . . . , x
w
) = P
i
[ x
i
= 1
mult imea participant ilor asociat i n mult imea B. Presupunand ca circuitul C este monoton,
vom avea
(C)= B(x
1
, . . . , x
w
) [ C(x
1
, . . . , x
w
= 1.
Circuitul C ind monoton, (C) este o mult ime monotona de part i ale lui T.
Fiind data o mult ime monotona de part i ale lui T, se poate construi usor un circuit
monoton C cu (C)= . Un exemplu de construct ie este urmatorul:
Fie
0
o baza a lui . Vom construi formula booleana (n forma normal disjunctiva)

B
0
_
_

P
i
B
P
i
_
_
Fiecare clauza din aceasta forma normala este legata printr-o poarta AND, iar disjunc-t ia
nala corespunde unei port i OR. Numarul total de port i folosite este card(
0
) + 1.
Fie acum C un circuit monoton care recunoaste . Vom prezenta un algoritm care permite
arbitrului D sa construiasca un sistem perfect de partajare a secretului cu structura de acces
. Vom folosi sistemul condent ial (t, t) din paragraful anterior. Mult imea cheilor este deci
/= Z
m
.
Algoritmul parcurge circuitul de la iesire spre intrare, marcand recursiv cu x
V
/, ecare
arc V parcurs (n sens invers). Init ial, arcului care marcheaz a iesirea y i se atribuie valoarea
x
out
= K a cheii. Formal, algoritmul este:
60 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
1. x
out
K;
2. pentru orice poarta G din care iese un arc marcat x, iar arcele care intr a sunt
nemarcate, executa:
(a) Daca G este o poarta OR, atunci x
V
x pentru orice arc V care intr a n G;
(b) Daca G este o poarta AND si V
1
, . . . , V
t
sunt arcele care intra n G, atunci
i. Alege aleator x
V,1
, . . . , x
V,t1
Z
m
;
ii. Calculeaza x
V,t
= x
t1

i=1
x
V,i
(mod m);
iii. Marcheaz a arcul V
i
cu x
V,i
, (1 i t).
Exemplul 5.4 Pentru mult imea din Exemplul 5.3, avem
0
= P
1
, P
2
, P
4
, P
1
, P
3
, P
4
,
P
2
, P
3
, deci se poate asocia expresia booleana
(P
1
P
2
P
4
) (P
1
P
3
P
4
) (P
2
P
3
).
Circuitul monoton asociat este desenat mai jos; n paralel au fost marcate si arcele, conforma
algoritmului descris:



?
? -
?
?
? ?
u u u u
? -
? ?
?
? ?
?
?
-
?
?
?
-
?
x
1
x
2
x
3
x
4
K
K K
K
a
1 b
1
a
2
c
1 Kc
1
b
2
Ka
1
a
2
Kb
1
b
2
Aici a
1
, a
2
, b
1
, b
2
, c
1
, c
2
sunt numere alese aleator n Z
m
. Fiecare participant primeste drept
componenta doua numere:
1. a
1
si b
1
pentru P
1
,
2. a
2
si c
1
pentru P
2
,
3. b
2
si K c
1
pentru P
3
,
4. K a
1
a
2
si K b
1
b
2
pentru P
1
.
Fiecare submult ime autorizata poate calcula valoarea lui K. Astfel, P
1
, P
2
, P
4
determina
K = a
1
+a
2
+(K a
1
a
2
), submult imea P
1
, P
3
, P
4
calculeaza K = b
1
+b
2
+(K b
1
b
2
),
iar P
2
, P
3
va calcula K = c
1
+ (K c
1
).
Sa vedem acum ce se nt ampl a cu mult imile neautorizate.
Ca o remarca, daca o mult ime B este neautorizata, orice submult ime a sa va de asemenea
neautorizata.
Denit ia 5.3 O mult ime B T este maximal neautorizat a daca
B
1
B = B
1
.
Este sucient deci de demonstrat ca mult imile maximal neautorizate nu pot aa cheia din
informat iile pe care le det in.
5.4. RATA DE INFORMAT IE 61
Exemplul 5.5 Revenind la exemplul anterior, mult imile maximal neautorizate sunt P
1
, P
2
,
P
1
, P
3
, P
1
, P
4
, P
2
, P
4
, P
3
, P
4
.

In ecare caz, pentru determinarea cheii K lipseste o
informat ie denita aleator. De exemplu, P
1
, P
2
det in informat iile a
1
, a
2
, b
1
si c
1
. Pentru a
reconstitui cheia K ar avea nevoie cel put in de numarul K a
1
a
2
, sau de K c
1
.
Sisteme cu aceeasi structura de acces pot obt inute folosind si alte circuite.
Exemplul 5.6 Sa reluam Exemplul 5.3 si sa rscriem expresia booleana sub forma normal con-
junctiva:
(P
1
P
2
) (P
1
P
3
) (P
2
P
3
) (P
2
P
4
) (P
3
P
4
)
Construind sistemul condent ial corespunzator acestei expresii, vom avea urmatoarea distri-
but ie a componentelor (omitem detaliile):
1. P
1
primeste a
1
si a
2
;
1. P
2
primeste a
1
, a
3
si a
4
;
1. P
3
primeste a
2
, a
3
si K a
1
a
2
a
3
a
4
;
1. P
4
primeste a
4
si K a
1
a
2
a
3
a
4
;
Teorema 5.2 Fie C un circuit boolean monoton. Construct ia sa genereaza un sistem perfect
de partajare a secretului, a carui structura de acces este (C).
Demonstrat ie: Vom folosi o recurent a asupra num arului de port i din circuitul C. Cazul cand
C are o singura poarta este banal: daca poarta este OR, ecare participant cont ine cheia K
si structura de acces este mult imea tuturor part ilor nevide ale lui T; daca poarta este AND si
are t intrari, se obt ine sistemul condent ial (t, t) denit anterior.
Sa presupunem ca pentru j > 1, orice circuit C cu mai put in de j port i veric a teorema,
si e C un circuit cu j port i. Vom considera ultima poarta G a acestui circuit (din care iese
rezultatul y). Ea nu poate decat OR sau AND. Daca G este o poarta OR, sa consideram cele
t arce care intra n G : V
i
(1 i t). Acestea sunt arcele de iesire din t circuite C
i
; conform
ipotezei de induct ie, ecare astfel de circuit deneste un sub-sistem de partajare a secretului,
cu structura de acces (C
i
). Vom avea evident
(C) =
t
_
i=1
(C
i
).
Cum valoarea cheii se atribuie ecarui arc V
i
, sistemul va avea structura de acces (C).
Procedeul este similar daca G este o poarta AND.

In acest caz,
(C) =
t

i=1
(C
i
).
Deoarece K este repartizata peste toate arcele V
i
conform unui sistem condent ial (t, t),
sistemul total va admite (C) drept structura de acces. 2
Cand o mult ime autorizata B doreste aarea cheii, ea trebuie sa stie circuitul utilizat de
arbitru pentru construirea sistemului si sa deduca de aici ce componente sunt necesare pentru
parcurgerea arcelor respective. Aceasta informat ie trebuie sa e publica. Numai valoarea
componentelor trebuie sa e secreta.
5.4 Rata de informat ie
Fie T o mult ime de participant i si o spat iul tuturor componentelor posibile ale cheii. O
distribut ie de componente este o funct ie
62 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
f : T o
Ea codica matematic modalitatea de repartizare a informat iilor ntre participant i. f(P
i
)
va componenta distribuita participantului P
i
(1 i w).
Pentru ecare K /, e T
K
mult imea tuturor distribut iilor posibile ale cheii K.

In general,
T
K
este publica. Denim
T=
_
KK
T
K
.
T este ansamblul complet al tuturor distribut iilor posibile de chei. Rolul arbitrului va de
a selecta aleator un element f T
K
si de a distribui componentele n conformitate cu aceasta
alegere.
Pentru o submult ime B T (autorizata sau nu) de participant i, se deneste S(B) =
f[
B
[ f T, unde funct ia f
B
: B o este restrict ia distribut iei de part i f la submult imea
B; ea este deci denita prin f
B
(P
i
) = f(P
i
), P
i
B.
Deci S(B) este mult imea tuturor distribut iilor posibile ale componentelor la elementele
submult imii B.
Ne punem acum problema evalu arii performant elor sistemelor perfecte de partajare a se-
cretelor construite anterior, pe baza structurilor de acces monotone.

In cazul unui sistem condent ial (t, w), circuitul boolean construit pe baza expresiei n forma
normal disjunctiva are 1 + C
t
w
port i. Fiecare participant primeste o componenta formata din
C
t1
w1
numere din Z
m
. Aceasta partajare este foarte slaba comparativ cu sistemul condent ial
al lui Shamir (t, w), care ofera acelasi rezultat folosind componente formate dintr-un singur
num ar.
Pentru masurarea performant elor sistemelor perfecte de partajare a secretelor, vom folosi
un instrument numit rata de informat ie.
Denit ia 5.4 Consideram un sistem perfect de partajare a secretelor cu structura de acces .
Rata de informat ie a unui participant P
i
este prin denit ie

i
=
log
2
(card(X))
log
2
(card(S(P
i
)))
.
S(P
i
) o este mult imea componentelor posibile pe care le poate primi participantul P
i
. S-a
notat cu X = / mult imea cheilor posibile.
Rata de informat ie a sistemului este
= min
i
[ 1 i w.
Exemplul 5.7 Sa comparam cele doua sisteme date ca exemplu n paragraful anterior. Sis-
temul din Exemplul 5.4 are rata de informat ie =
log
2
m
log
2
m
2
=
1
2
.
Pentru sistemul din Exemplul 5.6, avem =
log
2
m
log
2
m
3
=
1
3
.
Primul sistem este deci mai bun.

In general, daca se construieste un sistem de partajare a secretelor plecand de la un circuit


monoton C, rata sa de informat ie se obt ine folosind urmatoarea teorema:
Teorema 5.3 Fie C un circuit boolean monoton. Exista atunci un sistem perfect de partajare
a secretelor, cu structura de acces (C), care admite ca rata de informat ie
= max
1iw
_
1
r
i
_
unde r
i
este numarul de arce de intrare n circuit (pentru valorile x
i
).
5.5. SISTEMUL DE PARTAJARE AL LUI BRICKELL 63
Evident, este preferabila o rata de informat ie cat mai mare. Valoarea ei este nsa limitata
superior, conform teoremei urmatoare:
Teorema 5.4 Pentru orice sistem perfect de partajare a secretelor cu structura de acces ,
rata de informat ie verica inegalitatea 1.
Demonstrat ie: Sa consideram un sistem perfect de partajare a secretelor av and structura de
acces . Fie B
0
si P
j
B un participant. Denim B

= B P
j
. Fie g S(B). Cum
B

, , distribut ia componentelor g[
B
nu da nici o informat ie asupa cheii. Deci, pentru orice
K / exista o distribut ie a componentelor g
K
T astfel ca g
K
[
B
= g[
B
. Cum B , vom
avea g
K
(P
j
) ,= gK

(P
j
) pentru K ,= K

. Deci card(S(P
j
)) card(/), adica 1. 2
Un sistem cu = 1 va numit ideal. Ca un exemplu, sistemul condent ial al Shamir are
= 1, deci este un sistem ideal.

In schimb, rata de informat ie pentru un sistem condent ial
(t, w) bazat pe circuite monotone construite cu forma normal disjunctiva este
1
C
t1
w1
, extrem de
inecient a daca 1 < t < w.
5.5 Sistemul de partajare al lui Brickell
Sistemul construit n acest paragraf este cunoscut sub numele de construct ia vectoriala a lui
Brickell.
Fie o structura de acces, p un num ar prim, iar d 2 un numar ntreg. Fie
|: T Z
d
p
o funct ie cu proprietatea
(1, 0, . . . , 0) | (P
i
) [ P
i
B) B . (A)
Altfel spus, vectorul (1, 0, . . . , 0) este o combinat ie liniara de vectori din mult imea
| (P
i
) [ P
i
B daca si numai daca B este o submult ime autorizata.
Plecand de la aceasta funct ie, vom construi un sistem de partajare a secretelor cu /=
S(P
i
) = Z
p
(1 i w). Pentru orice a = (a
1
, . . . , a
d
) Z
d
p
. vom deni o funct ie de distribut ie
a componentelor f
a
: T o prin f
a
(x) = a | (x).
S-a notat cu produsul scalar a doi vectori. Algoritmul de partajare a secretelor Brickell
este urmatorul:
1. (Init ializare) Pentru 1 i w, D atribuie lui P
i
vectorul | (P
i
) Z
d
p
.
Acesti vectori sunt publici.
2. Pentru repartizarea cheii K Z
p
, arbitrul D alege aleator d 1 elemente
a
2
, . . . , a
d
Z
p
.
3. Folosind vectorul a = (K, a
2
, . . . , a
d
), arbitrul calculeaza componenta
y
i
= a | (P
i
) (1 i w), pe care o da lui P
i
.
Vom avea rezultatul urmator:
64 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
Teorema 5.5 Daca | verica proprietatea (A), mult imea distribut iilor de componente T
K
,
K / formeaza un sistem perfect de partajare a secretelor, cu structura de acces .
Demonstrat ie: Sa aratam ntai ca daca B este o mult ime autorizata, participant ii lui B pot
calcula cheia K. Deoarece (1, 0, . . . , 0) | (P
i
) [ P
i
B), putem scrie
(1, 0, . . . , 0) =

{i|P
i
B}
c
i
| (P
i
)
unde c
i
Z
p
. Fie s
i
componenta lui P
i
. Vom avea s
i
= a | (P
i
), unde a este vectorul
necunoscut ales de D, iar K = a
1
= a (1, 0, . . . , 0). Vom avea deci
K =

{i|P
i
B}
c
i
a | (P
i
).
Component ii grupului B pot reconstitui deci cheia K =

{i|P
i
B}
c
i
s
i
.
Ce se nt ampl a daca B nu este autorizat ? Fie e dimensiunea spat iului vectorial
| (P
i
) [ P
i
B) (evident, e card(B)). Sa consideram K / si sistemul liniar
| (P
i
) a = s
i
P
i
B
(1, 0, . . . , 0) a = K
cu necunoscutele a
1
, . . . , a
d
. Matricea sistemului are rangul e + 1 deoarece (1, 0, . . . , 0) ,
| (P
i
) [ P
i
B). Deci, independent de valoarea lui K, spat iul solut iilor este de1, adica ex-
ista p
de1
distribut ii de componente n ecare T
K
, consistente cu componentele participant ilor
din B. 2
Sistemul condent ial (t, w) al lui Shamir este un caz particular al acestei construct ii.

Intr-
adevar, e d = t si | (P
i
) = (1, x
i
, x
2
i
, . . . x
t1
i
), pentru 1 i w, unde x
i
este coordonata x
data de P
i
. Sistemul obt inut este echivalent cu cel al lui Shamir.
Un alt rezultat general se refera la structurile de acces care admit ca baza un ansamblu
de perechi care denesc un graf multipartit complet. Reamintim, un graf G = (V, E) este
multipartit complet daca V se poate partit ionan submult imile V
1
, . . . , V
s
astfel nc at x, y E
daca si numai daca x V
i
, y V
j
cu i ,= j.
Mult imile V
i
se numesc componente. Daca card(V
i
) = n
i
(1 i s), graful este notat
K
n
1
,...,ns
. Graful multipartit complet K
1,...,1
cu s componente este de fapt un graf complet si se
noteaza K
s
.
Teorema 5.6 Fie G = (V, E) un graf multipartit complet. Atunci exista un sistem perfect de
partajare a secretelor, ideal, cu structura de acces E peste mult imea V de participant i.
Demonstrat ie: Fie V
1
, . . . , V
s
componentele lui G, si x
1
, . . . , x
s
Z
p
distincte (p s). Fie si
d = 2. Pentru ecare participant v V
i
se deneste | (v) = (x
i
, 1). Proprietatea (A) se verica
imediat, deci conform Teoremei 5.5 armat ia este demonstrata. 2
Vom aplica acest rezultat considerand structurile de acces posibile pentru patru partici-
pant i. Va sucient sa luam n calcul numai structurile a caror baza nu se poate partit iona n
doua mult imi nevide. De exemplu,
0
= P
1
, P
2
, P
3
, P
4
poate partit ionat an P
1
, P
2

P
3
, P
4
, ecare cu dezvoltarea sa independent a, deci nu o vom lua n considerare. O lista
completa a structurilor de acces neizomorfe pentru 2, 3 sau 4 participant i este data n Tabelul
5.1 (s-a notat cu

valoarea maxima a ratei de informat ie pentru structura respectiva).


Se pot construi sisteme ideale pentru 10 din aceste 18 structuri de acces. Acestea sunt
structuri condent iale sau structuri a caror baza este un graf multipartit, pentru care se aplica
Teorema 5.6.
5.5. SISTEMUL DE PARTAJARE AL LUI BRICKELL 65
Tabelul 5.1: Structuri de acces cu maxim 4 participant i
Nr.crt w Submult imile lui G
0

Rezultate
1. 2 P
1
P
2
1 Condent ial (2, 2)
2. 3 P
1
P
2
, P
2
P
3
1
0
K
1,2
3. 3 P
1
P
2
, P
2
P
3
, P
1
P
3
1 Condent ial (2, 3)
4. 3 P
1
P
2
P3 1 Condent ial (3, 3)
5. 4 P
1
P
2
, P
2
P
3
, P
3
P
4
2/3
6. 4 P
1
P
2
, P
1
P
3
, P
1
P
4
1
0
K
1,3
7. 4 P
1
P
2
, P
1
P
4
, P
2
P
3
, P
3
P
4
1
0
K
2,2
8. 4 P
1
P
2
, P
2
P
3
, ; P
2
P
4
, P
3
P
4
2/3
9. 4 P
1
P
2
, P
1
P
3
, P
1
P
4
, P
2
P
3
, P
2
P
4
1
0
K
1,1,2
10. 4 P
1
P
2
, P
1
P
3
, P
1
P
4
, P
2
P
3
, P
2
P
4
, P
3
P
4
1 Condent ial (2, 4)
11. 4 P
1
P
2
P
3
, P
1
P
4
1
12. 4 P
1
P
3
P
4
, P
1
P
2
, P
2
P
3
2/3
13. 4 P
1
P
3
P
4
, P
1
P
2
, P
2
P
3
, P
2
P
4
2/3
14. 4 P
1
P
2
P
3
, P
1
P
2
P
4
1
15. 4 P
1
P
2
P
3
, P
1
P
2
P
4
, P
3
P
4
1
16. 4 P
1
P
2
P
3
, P
1
P
2
P
4
, P
1
P
3
P
4
1
17. 4 P
1
P
2
P
3
, P
1
P
2
P
4
, P
1
P
3
P
4
, P
2
P
3
P
4
1 Condent ial (3, 4)
18. 4 P
1
P
2
P
3
P
4
1 Condent ial (4, 4)
Exemplul 5.8 Sa consideram structura de acces cu numarul 9 din Tabelul 5.1; deci d = 2 si
p 3. Denim | prin
| (P
1
) = (0, 1), | (P
2
) = (0, 1), | (P
3
) = (1, 1), | (P
4
) = (1, 2).
Aplicand Teorema 5.6 se obt ine o structura perfecta de partajare a secretelor, ideala pentru
acest tip de acces.
Ram an de studiat opt structuri de acces. Se poate utiliza construct ia lui Brickell pentru patru
din ele: structurile 11, 14, 15 si 16.
Exemplul 5.9 Pentru structura de acces 11 vom considera d = 3 si p 3. Denit ia lui | este
| (P
1
) = (0, 1, 0), | (P
2
) = (1, 0, 1), | (P
3
) = (0, 1, 1), | (P
4
) = (1, 1, 0).
Calculand, se obt ine | (P
4
) | (P
1
) = (1, 1, 0) (0, 1, 0) = (1, 0, 0) si
| (P
2
)+ | (P
3
) | (P
1
) = (1, 0, 1) + (0, 1, 1) (0, 1, 0) = (1, 0, 0).
Deci (1, 0, 0) | (P
1
), | (P
2
), T(T

)) si (1, 0, 0) | (P
1
), | (P
4
)).
Mai ramane de aratat ca (1, 0, 0) , | (P
i
) [ P
i
B) pentru orice mult ime maximala neau-
torizata B. Exista numai trei astfel de mult imi: P
1
, P
2
, P
1
, P
3
, P
2
, P
3
, P
4
. Pentru ecare
caz se arata ca sistemul liniar asociat nu are solut ie. De exemplu, sa consideram sistemul
(1, 0, 0) = a
2
| (P
2
) + a
3
| (P
3
) + a
4
| (P
4
)
cu a
2
, a
3
, a
4
Z
p
. Se obt ine sistemul echivalent
a
2
+ a
4
= 1
a
3
+ a
4
= 0
a
2
a
3
= 0
66 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
care nu are solut ie.
Exemplul 5.10 Pentru structura de acces 14 vom deni d = 3, p 2, iar | va :
| (P
1
) = (0, 1, 0), | (P
2
) = (1, 0, 1), | (P
3
) = (0, 1, 1), | (P
4
) = (0, 1, 1).
Proprietatea (A) se verica imediat; deci se poate aplica Teorema 5.6.

In mod similar se pot construi sisteme perfecte de partajare a secretelor ideale pentru structurile
15 si 16.
Cele patru sisteme ramase nu admit construct ia unor astfel de sisteme.
5.6 Construct ia prin descompunere
Prezent am aici o alta modalitatea de construire a sistemelor de partajare a secretelor, remar-
cabila prin performant ele rezultatelor, care maximizeaza rata de informat ie.
Denit ia 5.5 Fie o structura de acces cu baza
0
si / un set de chei. O / - descompunere
ideala a lui
0
este un set
1
, . . . ,
n
cu proprietat ile
1.
k

0
(1 k n);
2.
n
_
k=1

k
=
0
;
3. k (1 k n) exista un sistem perfect de partajare a secretelor, ideal, cu mult imea de
chei /, peste mult imea de participant i T
k
=
_
B
k
B.
Pentru o / - descompunere ideala a structurii de acces se poate construi usor un sistem
perfect de partajare a secretelor.
Teorema 5.7 Fie o structura de acces cu baza
0
, / un set de chei si o / - descompunere
ideala
1
, . . . ,
n
a lui . Pentru ecare participant P
i
, e R
i
= cardk [ P
i
T
k
.
Exista atunci un sistem perfect de partajare a secretelor cu structura de acces si rata de
informat ie = 1/R, unde R = max
1iw
R
i
.
Demonstrat ie: Pentru 1 k n exista un sistem ideal de structura de acces de baza
k
peste
mult imea /. Notam T
k
mult imea distribut iilor componentelor sale. Vom construi un sistem
cu structura de acces peste mult imea /. Mult imea distribut iilor componentelor sale este
generata dupa regula: daca arbitrul D doreste sa mpart a cheia K (n cazul 1 k n), el va
genera aleator o distribut ie de componente f
k
T
k
K
si va distribui efectiv aceste componente
participant ilor din T
k
.
Se veric a usor ca acest sistem este perfect. Sa determinam rata sa de informat ie. Vom
avea card(S(P
i
)) = [card(/)]
R
i
pentru orice i (1 i w). Deci
i
= 1/R
i
si
=
1
maxR
i
[ 1 i w
,
ceea ce incheie demonstrat ia. 2
O generalizare a acestui rezultat pentru s / - descompuneri ideale se bazeaza pe teorema
5.6. CONSTRUCT IA PRIN DESCOMPUNERE 67
Teorema 5.8 (Construct ia prin descompunere): Fie o structura de acces de baza
0
, s 1
un numar ntreg, si / un set de chei. Presupunem ca s-a construit o / - descompunere ideala
T
j
=
j,1
, . . . ,
j,n
j
a lui
0
, si e T
j,k
mult imea participant ilor la structura de acces
j,k
.
Pentru ecare participant P
i
denim
R
i
=
s

j=1
cardk [ P
i
T
j,k
.
Exista atunci un sistem perfect de partajare a secretelor, cu structura de acces , a carui
rata de informat ie este = s/R, unde R = max
1iw
(R
i
).
Demonstrat ie: Pentru 1 j s si 1 k n se poate construi un sistem ideal cu baza
j,k
si
mult imea de chei /. Vom nota T
j,k
mult imea corespunzatoare de distribut ii a componentelor.
Vom construi un sistem cu structura de acces si mult imea de chei /
s
. Mult imea sa de
distribut ii de componente T se genereaza astfel: daca arbitrul D doreste sa mpart a cheia
K = (K
1
, . . . , K
s
) (pentru 1 k n), el va genera aleator o distribut ie de componente
f
j,k
T
j,k
K
j
, pe care le distribuie efectiv participant ilor din T
j,k
.

In continuare se repeta demonstrat ia Teoremei 5.7. 2


Exemplul 5.11 Sa consideram structura de acces 5 din Tabelul 5.1, a carei baza nu este un
graf multipartit complet.
Fie p un numar prim si sa consideram doua Z
p
- descompuneri:
T
1
=
1,1
,
1,2
cu

1,1
= P
1
, P
2

1,2
= P
2
, P
3
, P
3
, P
4

si
T
2
=
2,1
,
2,2
cu

2,1
= P
1
, P
2
, P
2
, P
3

2,2
= P
3
, P
4

Aceste descompuneri corespund lui K


2
si K
1,2
, deci sunt descompuneri ideale. Ambele ofera
o rata de informat ie = 1/2. Daca le vom combina conform Teoremei 5.8 cu s = 2, vom
obt ine o rata de informat ie maxima = 2/3.
Luand ca baza Teorema 5.6, putem obt ine efectiv un astfel de sistem. D alege aleator
patru elemente b
1,1
, b
1,2
, b
2,1
, b
2,2
Z
p
. Pentru o cheie (K
1
, K
2
) Z
2
p
, arbitrul va distribui
componentele astfel:
1. P
1
primeste b
1,1
si b
2,1
;
2. P
2
primeste b
1,1
+ K
1
, b
1,2
si b
2,1
+ K
2
;
3. P
3
primeste b
1,2
+ K
1
, b
2,1
si b
2,2
;
4. P
4
primeste b
1,2
si b
2,2
+ K
2
.
(toate calculele sunt efectuate n Z
p
).
Exemplul 5.12 Fie structura de acces 8 din Tabelul 5.1. Vom considera /= Z
p
pentru un
numar prim p 3. Vom utiliza doua / - descompuneri ideale
T
1
=
1,1
,
1,2
cu

1,1
= P
1
, P
2

1,2
= P
2
, P
3
, P
2
, P
4
, P
3
, P
4

si
T
2
=
2,1
,
2,2
cu

2,1
= P
1
, P
2
, P
2
, P
3
, P
2
, P
4

2,2
= P
3
, P
4

T
1
corespunde lui K
2
si K
3
, iar T
2
lui K
2
si K
1,3
; deci ambele sunt / - descompuneri.
Aplicand Teorema 5.8 cu s = 2 se va obt ine = 2/3. Similar exemplului precedent, o construct ie
efectiva se realizeaza astfel:
68 PRELEGEREA 5. SISTEME DE PARTAJARE A SECRETELOR
D alege aleator (si independent) patru elemente b
1,1
, b
1,2
, b
2,1
, b
2,2
Z
p
. Pentru o cheie
(K
1
, K
2
) Z
2
p
, arbitrul va distribui componentele astfel:
1. P
1
primeste b
1,1
+ K
1
si b
2,1
+ K
2
;
2. P
2
primeste b
1,1
, b
1,2
si b
2,1
;
3. P
3
primeste b
1,2
+ K
1
, b
2,1
+ K
2
si b
2,2
;
4. P
4
primeste b
1,2
+ 2K
1
, b
21
+ K
2
si b
2,2
+ K
2
.
(toate calculele sunt efectuate n Z
p
).