@Moritzgedig: Für diese Behauptung (CRC Generator = P(x)*(x+1), P(x) nicht zerlegbar) hätte ich gerne eine Quellenangabe. M.E. ist das auch nicht richtig. Dann wäre der CAN-CRC kein CRC, denn dessen Generator läßt sich in drei Komponenten zerlegen (siehe Hauptartikel). Möglicherweise verwechselst Du das mit BCH-Codes. Damit lassen sich zyklische Codes designen, die einen bestimmten vorgegebenen Minimalabstand haben. Aber das ist meines Wissens keine Anforderung. Anforderung ist, dass das Generatorpoynom teilt (wobei n die Länge des Codes ist). Um die anonyme Frage vom 2. Dez. 2012 oben zu beantworten: solche Polynome findet man, in dem man in Primfaktoren zerlegt (über ). Aus den Primfaktoren sucht man sich solche heraus, deren Wurzeln im Zerfällungskörper der Form mit möglichst vielen aufeinander folgenden j sind (wg. BCH-Schranke). Das ist hier sehr salopp ausgedrückt. Mehr dazu, viel besser und viel genauer in jedem Buch über algebraische Codierungstheorie, z.B. Anton Betten, Codierungstheorie, Berlin Heidelberg 1998 (ISBN 3-540-64502-0) oder Heise/Quattrocchi, Informations- und Codierungstheorie, Berlin Heidelberg 1983, ISBN 3-540-12774-7. Die "Optimierung auf Burst-Fehler" kommt dadurch zustande, dass der Rest bei der Polynomdivision immer einen kleineren Grad hat als der Divisor. Deshalb werden alle Fehlerpolynome mit kleinerem Grad als der Divisor (das Generatorpolynom) immer erkannt. Da der Code zyklisch ist, kann man das entsprechende Bitmuster an jede Stelle des Codes verschieben. -- -aw18:58, 22. Jun. 2013 (CEST)