is there a inverse polynomial for the CRC generator polynomial

C

Chen L.

Hi all,

If I have a 32-bit data M, and the CRC genrator polynomial G(x),which
power is 32, then I can get the CRC checkword R by the following
algorithm:
X^32*M(x) = Q(x)G(x) + R(x),
But how is the inversed process, if I have get the R(x), is there a
inverse polynomial to generator the M(x)?

Another example is that I have a 32-bit data sequence D0,D1,D2,D3,
with the G(x), I can get the CRC checkword. If have known the
D1,D2,D3,CRC, how to define D0, if the quotient Q(x) could be defined
by some way.


Thanks a lot.

Chen L.
 
J

Jack Klein

Hi all,

If I have a 32-bit data M, and the CRC genrator polynomial G(x),which
power is 32, then I can get the CRC checkword R by the following
algorithm:
X^32*M(x) = Q(x)G(x) + R(x),
But how is the inversed process, if I have get the R(x), is there a
inverse polynomial to generator the M(x)?

Another example is that I have a 32-bit data sequence D0,D1,D2,D3,
with the G(x), I can get the CRC checkword. If have known the
D1,D2,D3,CRC, how to define D0, if the quotient Q(x) could be defined
by some way.


Thanks a lot.

Chen L.

First your question has nothing at all to do with the C language, in
fact does not even mention it at all. You are asking about an
algorithm, for which you should try Off the
top of my head, I am not sure what you want to do is possible or not.

Once you have selected an algorithm, assuming there is one that can do
what you want, if you have trouble implementing it in standard C, post
your code here and ask for help.
 
D

Dik T. Winter

> If I have a 32-bit data M, and the CRC genrator polynomial G(x),which
> power is 32, then I can get the CRC checkword R by the following
> algorithm:
> X^32*M(x) = Q(x)G(x) + R(x),
> But how is the inversed process, if I have get the R(x), is there a
> inverse polynomial to generator the M(x)?

Not a C question, but a mathematics question. And the answer is, off-hand,
yes. Set x = 2, we get the equation 2^32.M = Q.G + R, with known G and R.
Or more simple, Q.G = -R mod (2^32). Because of the choice of G, it is
invertable in the ring mod (2^32), and so we get a solution for Q, and
also of M. So find the inverse of G mod (2^32) and you are done.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top