1993-11-28 - Cryptosplit 2.0

Header Data

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

Raw message

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.      --





Thread