public override Sharing <byte[]> Share()
        {
            Sharing <byte[]> shares = Sharing <byte[]> .CreateSharingDictionary(
                Enumerable.Range(0, NValue).Select(x => new byte[Buffer.Length])
                );

            for (int i = 0; i < Buffer.Length; i++)
            {
                var nextValue = Buffer[i];
                foreach (KeyValuePair <int, int> pair in ShamirsAlgorithm(nextValue, 255))
                {
                    shares.GetByKey(pair.Key)[i] = (byte)pair.Value;
                }
            }

            return(shares);
        }