12,700,957 members (30,473 online)
Rate this:
See more:
Hi everybody. I have been looking for some c++ source code or example for a CRC 128 bits, I already have de polinomial: x128 + x127 + x65 + x64 + x + 1
I have found many examples for crc until crc-32 but I have no idea about how to transform these examples into a crc-128... Could anybody help me in any way? thanks in advance
Posted 8-Nov-12 6:55am
dpcfire106
JackDingler 9-Nov-12 16:07pm

Are you just having trouble implementing 128 bit integers?

Rate this:

Solution 1

Try the following (not really a crc but anyway!): http://www.ythorn.com/y/ae/crc.html[^]
dpcfire 9-Nov-12 3:11am

I have an unsigned char message[256] (including the crc-128 (16 last bytes of message) and I need to check that this crc is correct.

I have to implement the ekms crc-128 but I can't find any information about it. I only have the polinomial but I don't know how to obtain the crc.
I have found this example (that appears like a generic crc implementation) but I have many problems with the lenght of data (which C++ type do I have to use for the polinomial, and how can I do the mathematical operations with it?): This example is a CRC-16 (I think)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void calcula_crc(unsigned longitud, BYTE *mensaje, BYTE *crc)
{
char polinomio[] = {1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0};

/* variables */
char ctl;
int i,j,k;

/* bucle principal para el calculo del CRC */
for(i = 0; i < longitud; i++)
{
for(j = 0; j < 8; j++)
{
ctl = (resultado & 1) ^ ((mensaje >> j) & 1);

for(k = 0; k < sizeof(polinomio); k++)
{
if(ctl && polinomio[sizeof(polinomio) - 1 - k])
resultado ^= (unsigned long) 1 << k;
}
}
}

/* pone a cero los bits del resultado no ocupados por el CRC */
for(i = sizeof(polinomio); i < sizeof(resultado) * 8; i++)

resultado |= (unsigned long) 1 << i;

/* devuelve el CRC de la secuencia */
crc[1] = (resultado >> 8) & 0xff;
}

Thank you in advance everybody, I am a bit desperate...
dpcfire 12-Nov-12 3:14am

No ideas?...

Top Experts
Last 24hrsThis month
 OriginalGriff 170 Dave Kreskowiak 125 ppolymorphe 115 BillWoodruff 75 Mika Wendelius 60
 OriginalGriff 4,101 Peter Leow 2,333 ppolymorphe 1,952 Mika Wendelius 1,813 Jochen Arndt 1,479