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