Shamir-féle titokmegosztás

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

A Shamir-féle titokmegosztás egy kriptográfiai algoritmus. Ennél a fajta titokmegosztásnál a titok részekre van osztva, úgy, hogy minden titokbirtokosnak különböző rész van a birtokában, és ahol az eredeti titok helyreállításhoz néhány vagy az összes titokrész szükséges.

Bármilyen titok helyreállítása során nem praktikus, ha az összes résztvevő szükséges a helyreállításhoz, ezért a tűréshatár megoldást alkalmazzuk, ahol k rész elég a titok helyreállításhoz.

Matematikai definíció

A cél a D adat olyan megosztása (például széf kódja) n darab részre D1,,Dn a következő módon:

  1. k vagy több Di rész ismerete esetén D könnyen kiszámolható.
  2. k1 vagy kevesebb Di rész ismerete esetén D nem meghatározható. (abban az értelemben, hogy minden lehetséges értéket felvehet).

Ez a séma a (k,n) tűrés séma. Ha k=n akkor minden birtokos szükséges a titok helyreállításához.

A Shamir-féle titokmegosztási séma

Adi Shamirtól származik az alapötlet, hogy definiálható 2 ponttal egy vonal, 3-mal egy parabola és 4 ponttal egy négyzetes görbe, ... Ez az ami lehetővé teszi, hogy k pont definiáljon egy k1 fokú polinomot.

A (k,n) tűrés sémát szeretnénk az S titok megosztásához használni az általánosság megszorítása nélkül az F véges mezőn.

Kiválasztva k1 tetszőleges együtthatót a1,,ak1 in F, és legyen a0=S. Állítsuk elő a az f(x)=a0+a1x+a2x2+a3x3++ak1xk1 polinomot. Határozzuk meg bármelyik n pontját, ahol a bemenet i=1,,n to retrieve (i,f(i)). Minden titokbirtokos kap egy pontot (egy bemenő értéket és az arra a polinommal kiszámolt értéket). Bármilyen részhalmaza ezen k pároknak, meghatározza az együtthatóit a görbeillesztésnek és titok az a0 konstans rész.

Használat

Példa

Az alábbi példa illusztrálja az alapötletet. Megjegyzendő, hogy a számítások integer számítások a véges mező aritmetika helyett. Ezért a példa lenn nem ad tökéletes biztonságot és nem a teljes valós példája a Shamir-féle sémának.

Szétosztás

Legyen a titkunk 1234 (S=1234).

Fel szeretnénk bontani 6 részre (n=6), ahol 3 rész (k=3) elég a titok helyre állításhoz.
(Az (n=6) meghatározza, hogy 6 pontot kell kiszámolnunk és szétosztanunk, míg a (k=3) meghatározza, hogy az egyenlet (k1=2) fokú lesz, és hogy (k1=2) tetszőlegesen választott számra van szükségünk.)
A példában véletlennek a következő 2 számot válasszuk: 166, 94.

(a1=166;a2=94)

A polinomunk ami a titokrészeket létrehozza (a pontokat) a következő:

f(x)=1234+166x+94x2

A létrehozott 6 pont a következő:

(1,1494);(2,1942);(3,2578);(4,3402);(5,4414);(6,5614)

Minden birtokos kap egy pontot (az x és f(x) értékeket is).

Összeállítás

Az összeállításhoz 3 pont már elég.

Legyenek ezek a pontok (x0,y0)=(2,1942);(x1,y1)=(4,3402);(x2,y2)=(5,4414).

Határozzuk meg a Lagrange polinomokat:

A Lagrange polinomok meghatározása a következő: j(x):=0fkfj,(xxfxjxf)=(xx0)(xjx0)(xxj1)(xjxj1)(xxj+1)(xjxj+1)(xxk)(xjxk).

azaz produktumot kell számítani (össze kell szorozni) a (xxf)(xjxf) tagokat egymással, ahol azt a tagot, ahol f=j ki kell hagyni mert az osztás egyébként is értelmetlen lenne.

Behelyettesítve a fentibe j=0,1,2 estekben a következőt kapjuk:

0=xx1x0x1xx2x0x2=x424x525=16x2112x+313

1=xx0x1x0xx2x1x2=x242x545=12x2+312x5

2=xx0x2x0xx1x2x1=x252x454=13x22x+223

Mivel az interpolációs polinom a következő,

f(x)=j=02yjj(x)

=1942(16x2112x+313)+3402(12x2+312x5)+4414(13x22x+223)

=1234+166x+94x2

Látható, hogy a titok a szabad együttható , azaz RS=1234, és a visszaállítás megtörtént.

Tulajdonságok

Néhány hasznos tulajdonsága a Shamir-féle (k,n) tűréshatár sémának:

  1. Biztonságos
  2. Kicsi: A mérete az egyes részeknek nem nagyobb a titoknál.
  3. Bővíthető: Ha k fix marad, akkor Di részek dinamikusan adhatók és levehetők, anélkül, hogy a többi részt érintené.
  4. Dinamikus: A titok változtatása nélkül növelhető a biztonság, a növelve a polinom fokát, és új részeket adva a birtokosoknak.
  5. Igazítható: Azon szervezetekben ahol a hierarchia fontos, lehetőség van egyes emberek számára különböző mennyiségű részek átadására a betöltött fontosságnak megfelelően Például lehetséges, hogy az elnök egyedül ki tudja nyitni a széfet, de 3 titkár kell ugyanerre a feladatra.

Lásd még

Források

További információk

Sablon:Portál