crc16 bis zu wie viel Byte können geprüft werden?

Gast #5834148
Lesenswert?

supply schrieb:

> bis zu welcher Datenmenge ist ein CRC16 eine vernünftige Prüfsumme?

Das hängt allein davon ab, mit welcher Wahrscheinlichkeit du Fehler 
finden möchtest, also: du selber legst das fest.

> Ich habe ein Array von 400 Byte das ich auf Integrität absichern möchte.

400 Byte mal 8 Bit sind 3200 Bit. Eine CRC16 kann maximal 65536 
verschiedene Werte annehmen. Die Wahrscheinlichkeit für eine "Kollision" 
(=falscher Inhalt liefert "rein zufällig" die richtige CRC) betragt hier 
also 3200*100/65536=4,88%. Ein gutes Polynom sei mal vorausgesetzt, 
ansonsten wird nur noch schlechter.

Mir würden knapp 5% nicht reichen. Für keine Anwendung, die wichtig 
genug ist, dass ich eine CRC-Absicherung überhaupt in Betracht ziehen 
würde...

Also: ganz klares NoGo für diese Anwendung.
Gast #5834175
Lesenswert?

c-hater schrieb:
> 400 Byte mal 8 Bit sind 3200 Bit. Eine CRC16 kann maximal 65536
> verschiedene Werte annehmen. Die Wahrscheinlichkeit für eine "Kollision"
> (=falscher Inhalt liefert "rein zufällig" die richtige CRC) betragt hier
> also 3200*100/65536=4,88%. Ein gutes Polynom sei mal vorausgesetzt,
> ansonsten wird nur noch schlechter.

Die Rechnung tut schon irgendwie weh.
Gast #5834191
Lesenswert?

c-hater schrieb:
> Die Wahrscheinlichkeit für eine "Kollision"
> (=falscher Inhalt liefert "rein zufällig" die richtige CRC) betragt hier
> also 3200*100/65536=4,88%.

Das glaubst du doch wohl selber nicht.

Wenn du zu 65536 zufälligen Datenblöcken dieser Länge die CRC 
ausrechnest, hat im Schnitt einer davon die selbe CRC wie der 
Datenblock. Die Wahrscheinlichkeit für ein false positiv läge damit bei 
0,0015%
#5834194
Lesenswert?

Ich versuchs mal:
Es gibt 2^3200 Werte.
Die CRC kann 2^16 Werte abbilden.
Also gibt es für jeden Wert der CRC 2^3184 Möglicheiten für eine 
Kollision.

Wie viele davon sinnvolle Permutationen sind, hängt ja von den Daten ab.
Bei gewissen Informationen kann man ja sehen, das sowas nicht stimmen 
kann, also sinkt die Zahl der möglichen Kollisionen weiter.
Effektiv wirst du weit unter 0,01% bekommen, eher 0,001.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren