BugTraq
Joint encryption? Feb 18 2005 07:42AM
John Richard Moser (nigelenki comcast net) (7 replies)
Re: Joint encryption? Feb 20 2005 12:09PM
Ruud H.G. van Tol (rvtol isolution nl)
Re: Joint encryption? Feb 20 2005 06:21AM
Valdis Kletnieks vt edu (1 replies)
Re: Joint encryption? Feb 20 2005 06:00PM
John Richard Moser (nigelenki comcast net)
RE: Joint encryption? Feb 19 2005 08:13PM
David Schwartz (davids webmaster com) (1 replies)
Re: Joint encryption? Feb 19 2005 09:59PM
John Richard Moser (nigelenki comcast net)
Re: Joint encryption? Feb 19 2005 07:21PM
Gandalf The White (gandalf digital net)
Re: Joint encryption? Feb 19 2005 04:32PM
Damian Menscher (menscher uiuc edu) (1 replies)
Re: Joint encryption? Feb 19 2005 05:04PM
John Richard Moser (nigelenki comcast net)
Re: Joint encryption? Feb 19 2005 10:44AM
devnull Rodents Montreal QC CA (1 replies)
Re: Joint encryption? Feb 19 2005 12:24PM
John Richard Moser (nigelenki comcast net) (1 replies)
Re: Joint encryption? Feb 21 2005 08:02PM
peter zulu (peterzulu gmail com)
Re: Joint encryption? Feb 19 2005 10:24AM
Casper Dik Sun COM (1 replies)
Re: Joint encryption? Feb 19 2005 12:17PM
John Richard Moser (nigelenki comcast net) (1 replies)
Re: Joint encryption? Feb 21 2005 11:42AM
Robert C. Helling (R Helling damtp cam ac uk)
On Sat, 19 Feb 2005, John Richard Moser wrote:

> Yeah I noticed that on the wikipedia :)
>
> http://en.wikipedia.org/wiki/Secret_sharing

I would like to add that both schemes described there are essentially
equal as both make use of the fact that a T dimensional subspace U of an N
dimensional vector space V (for example a vector space of polynomials) is
encoded by giving T linearly independent vectors in U.

Data can now be encoded by thinking of it as a functional

f: T ---> F

that is a linear function that maps T into the field F over which T is a
vector space.

Now for each bearer i of a part of the secret give him a vector b_i in U
(in terms of T coordinates) and his share of the data is e_i = f(b_i).

If T bearers come together, they can combine their T vectors b_i into a
TxT matrix M and compute M^(-1) (if they are linearly independent).
Finally, acting with M^(-1) on the vector of the T e_i's recovers the
original functional f.

Note that if you want to share more data f1...fk you need to compute the
b_i and thus M^(-1) only once and then you pass on the f_n(b_i).

For a practical implementation you could for example use the unique field
F_256 of dimension 256 and do arithmetic using look up tables. See for
example the perl scripts

http://www.damtp.cam.ac.uk/user/rch47/split.pl

for the sharing/combining of the data and

http://www.damtp.cam.ac.uk/user/rch47/gf2.pl

for the finite field arithmetic.

Robert

--
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo
.oOo.oO
Robert C. Helling School of Science and Engineering
International University Bremen
print "Just another Phone: +49 421-200 3574
stupid .sig\n"; http://www.aei-potsdam.mpg.de/~helling

[ reply ]


 

Privacy Statement
Copyright 2010, SecurityFocus