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); }