----------------------------------------------------------------------------- -- | -- Module : Data.IDA -- Copyright : Peter Robinson 2014 -- License : LGPL -- -- Maintainer : Peter Robinson -- Stability : experimental -- Portability : portable -- -- This module provides an implementation of a space efficient (m,n)-threshold information -- dispersal algorithm (IDA) as described in -- "Efficient Dispersal of Information for Security, Load Balancing, and Fault -- Tolerance", by Michael O. Rabin, JACM 1989. -- -- Given a ByteString bstr of length D -- >>> f = encode m n bstr -- encodes bstr as a list of n 'Fragment's, each containing a ByteString -- of length approximately @D/m@. For reconstructing the original ByteString out -- of a sublist fssub of fs, -- consisting of at least m fragments, use -- >>> decode fssub -- ----------------------------------------------------------------------------- module Data.IDA(encode,decode,Fragment(fragmentId)) where import Data.IDA.Internal