553d4c3a


buf[1] = 1;

if(!gamma)

gamma = new unsigned char [gamma_len];

for(int i = 0; i < gamma_len; i++) {

buf[0] = 0;

for(int j = 0; j < 8; j++) {

register unsigned char newbit = 0;

for(int k = 0; polynomial[k] >= 0; k++) {

register unsigned bit = (polynomial[k]+8-j);

if(buf[bit>>3]&(1<<(bit&7)))

newbit++;

}

buf[0] |= (newbit&1)<<(7-j);

}

memmove(buf+1, buf, gb_len);

gamma[i] = buf[0];

}

return gamma;

}

. 2048, 256 . 256 , . , 256 , . , . 40, . L.

[1] - , , -.

, .

crc32 ( ):