From: rjc@gnu.ai.mit.edu
To: cypherpunks@toad.com
Message Hash: ccc260cba9168d5e5178d81f2bd3ee9482659eaaa98562098d1f1f557173bcaf
Message ID: <9311280740.AA15833@kropotkin.gnu.ai.mit.edu>
Reply To: N/A
UTC Datetime: 1993-11-28 07:44:19 UTC
Raw Date: Sat, 27 Nov 93 23:44:19 PST
From: rjc@gnu.ai.mit.edu
Date: Sat, 27 Nov 93 23:44:19 PST
To: cypherpunks@toad.com
Subject: Cryptosplit 2.0
Message-ID: <9311280740.AA15833@kropotkin.gnu.ai.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain
On Colin Plumb's suggestion, I rewrote my first Shamir secret sharing
program to work over GF(2^8). I didn't do this the first time because
I thought writing all the low level GF math routines would be a pain --
so I opted out by using G++'s Integer class to work over Z_p. Imagine
my surprise when it turned out the math code over GF is easier. The
hard part was actually generating the tables for x=g^n and n=lg x (g=primitive
element), but I got maple to do it for me after I read the docs. Multiplication
is simply the macro A*B=g^(lg A + lg B) (3 table lookups) and
addition is, of course, XOR. And x^-1 is just two table lookups unlike
the euclidean algorithm I needed to work over Z_p. (p being huge)
Since I'm working over GF(2^8), I adapted my program to work on arbitrary
length binary files instead of integers. Now you can take any file and split
it up into m pieces, k being needed for reconstruction. The program is much
more usable now. It's also written in C now, not G++.
As before, if you want it, e-mail me.
-Ray
-- Ray Cromwell | Engineering is the implementation of science; --
-- rjc@gnu.ai.mit.edu | politics is the implementation of faith. --
Return to November 1993
Return to “rjc@gnu.ai.mit.edu”
1993-11-28 (Sat, 27 Nov 93 23:44:19 PST) - Cryptosplit 2.0 - rjc@gnu.ai.mit.edu