def crc(nachricht,polynom = '10011'): """ zu der 'nachricht' und zu dem 'polynom' (Strings aus 0 und 1) wird die CRC-'Prüfsumme' berechnet (String aus 0 und 1) """ lp = len(polynom) ln = len(nachricht) for j in range(lp-1): nachricht = nachricht+'0' nachricht = list(nachricht) schieberegister = nachricht[:lp] for i in range(ln): if schieberegister[0] == '1': for j in range(lp): if schieberegister[j] == polynom[j]: schieberegister[j] = '0' else: schieberegister[j] = '1' if i < ln-1: schieberegister = schieberegister[1:lp]+list(nachricht[lp+i]) return ''.join(schieberegister[1:])