Find a message given a CRC and generating polynomial

  • Thread starter Thread starter JJBladester
  • Start date Start date
  • Tags Tags
    Polynomial
AI Thread Summary
To find the 31-bit input sequence that generated a specific CRC output using a given generating polynomial, the relationship M(x)/G(x) = Q(x) + R(x) is utilized, where M(x) is the message polynomial and R(x) is the CRC. The process involves reversing the order of the bits in the CRC and loading it into the generator. By feeding the data stream bits backward through the generator, the original input sequence can be reconstructed. This method leverages the symmetry of the generating polynomial to facilitate the reverse calculation without needing to know Q(x). Ultimately, this approach allows for the determination of the input sequence that produced the observed CRC.
JJBladester
Gold Member
Messages
281
Reaction score
2
I am working on a circuit that inputs a 31-bit pseudo-random binary string into a CCIT CRC-16 block which generates a 16-bit CRC output.

I know that M(x)/G(x) = Q(x) + R(x) and the transmitted code will be R(x) appended to M(x).

When I simulated the circuit, I got a CRC of 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0. From the help file of the software (VisSim/Comm), I know that the generating polynomial is G(x) = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1.

How do I determine the 31-bit input sequence that generated the CRC result?

Since M(x)/G(x) = Q(x) + R(x), we can say that M(x) = [Q(x) + R(x)]G(x). But we don't know Q(x). Assuming the 16-bit CRC is equal to R(x) and the G(x) is given, how do I go about finding M(x) without knowing Q(x)?
 
Engineering news on Phys.org
Because the generating polynomial is symmetrical = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 you should be able to reverse the process in time without rewiring the generator.

First reverse the order of bits in your final CRC and load it into the generator. Then feed the data stream bits backward in time through the generator until you reach the original starting position.
 
Very basic question. Consider a 3-terminal device with terminals say A,B,C. Kirchhoff Current Law (KCL) and Kirchhoff Voltage Law (KVL) establish two relationships between the 3 currents entering the terminals and the 3 terminal's voltage pairs respectively. So we have 2 equations in 6 unknowns. To proceed further we need two more (independent) equations in order to solve the circuit the 3-terminal device is connected to (basically one treats such a device as an unbalanced two-port...
suppose you have two capacitors with a 0.1 Farad value and 12 VDC rating. label these as A and B. label the terminals of each as 1 and 2. you also have a voltmeter with a 40 volt linear range for DC. you also have a 9 volt DC power supply fed by mains. you charge each capacitor to 9 volts with terminal 1 being - (negative) and terminal 2 being + (positive). you connect the voltmeter to terminal A2 and to terminal B1. does it read any voltage? can - of one capacitor discharge + of the...
Thread 'Weird near-field phenomenon I get in my EM simulation'
I recently made a basic simulation of wire antennas and I am not sure if the near field in my simulation is modeled correctly. One of the things that worry me is the fact that sometimes I see in my simulation "movements" in the near field that seems to be faster than the speed of wave propagation I defined (the speed of light in the simulation). Specifically I see "nodes" of low amplitude in the E field that are quickly "emitted" from the antenna and then slow down as they approach the far...
Back
Top