Exemplo n.º 1
0
        public byte[] Encode(byte[] message)
        {
            var seed = GetSeed();
            var lfsr = new LinearFeedbackShiftRegister(seed);

            var bits = new BitArray(message);
            var encodedBits = new BitArray(bits.Length);

            for (int i = 0; i < bits.Length; i++)
            {
                encodedBits[i] = bits[i] ^ lfsr.NextBit();
            }

            var encodedMessageBytes = new byte[message.Length];
            encodedBits.CopyTo(encodedMessageBytes, 0);

            return encodedMessageBytes;
        }
 public ShrinkingGenerator(LinearFeedbackShiftRegister lsfr1, LinearFeedbackShiftRegister lsfr2)
 {
     _lsfr1 = lsfr1;
     _lsfr2 = lsfr2;
 }