12,630,410 members (28,967 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 420 ppolymorphe 200 Peter Leow 180 KarstenK 100 F-ES Sitecore 100
 OriginalGriff 1,754 ppolymorphe 1,192 Peter Leow 739 John Simmons / outlaw programmer 665 CPallini 561