Overview
--------

nway is a simple program to implement a trivial case of secret sharing:

- A file of information is split into n pieces or 'shadows'. 

- Reconstructing the original file requires all the shadows.

- No cheater protection is included, but a checksum is displayed for 
  the secret file which can be manually verified.

Security
--------

As of version 0.0.x nway has not been indepenantly audited.

nway does not delete the original secret after splitting it. You 
should use a secure deletion program to do this if the data is 
sensitive.

The algorithm is as strong as a one-time pad (i.e unbreakable),
barring implementation errors or problems with the random number
supply.

This code depends on the kernel random number generator /dev/urandom
as a supply of strong random data. There have been some concerns about
its security, and possible vulnerability to an "Iterated Guessing"
attack[1]. IMHO this is not too much of a problem, as there are much
easier ways to get at your data.

If the supply of random numbers from the kernel does cause you to
loose sleep you might want to supplement the supply of entropy to the
KRNG.  I have written some software that does this using noise from a
stereo sound-card:

http://toad.ilogic.com.au/~dmiller/files/audio-entropyd-0.0.0.tar.gz

Future
------

When I get the time and the motivation I will implement the LaGrange
secret sharing algorithm which allows splitting a secret n ways, and
joining with only m shadows (m <= n).

Some cheater protection would be nice as well.

Damien Miller <djm@mindrot.org>

[1] _Notes on the Design and Analysis of the Yarrow Cryptographic
    Pseudorandom Number Generator_ - J. Kelsey, B. Schneier, and
    N. Ferguson <URL:http://www.counterpane.com/yarrow-notes.html>
