Kontrollsumme

Kontrollsumme- oder Kuddelmuddel-Summe ist eine Gegebenheit der festen Größe, die von einem willkürlichen Block von Digitaldaten zum Zweck geschätzt ist, zufällige Fehler zu entdecken, die während seiner Übertragung oder Lagerung eingeführt worden sein können. Die Integrität der Daten kann in jeder späteren Zeit überprüft werden, indem sie die Kontrollsumme wieder gerechnet wird und es mit dem versorgten verglichen wird. Wenn die Kontrollsummen zusammenpassen, wurden die Daten fast sicher (entweder absichtlich oder unabsichtlich) nicht verändert.

Das Verfahren, das die Kontrollsumme von den Daten nachgibt, wird eine Kontrollsumme-Funktion oder Kontrollsumme-Algorithmus genannt. Ein guter Kontrollsumme-Algorithmus wird ein verschiedenes Ergebnis mit der hohen Wahrscheinlichkeit nachgeben, wenn die Daten zufällig verdorben werden; wenn die Kontrollsummen zusammenpassen, die Daten wird sehr wahrscheinlich frei von zufälligen Fehlern sein.

Kontrollsumme-Funktionen sind mit Kuddelmuddel-Funktionen, Fingerabdrücken, randomization Funktionen und kryptografische Kuddelmuddel-Funktionen verbunden. Jedoch hat jedes jener Konzepte verschiedene Anwendungen und deshalb verschiedene Designabsichten. Prüfziffern und Paritätsbit sind spezielle Fälle von Kontrollsummen, die für kleine Datenblocks (wie Sozialversicherungsnummern, Bankkonto-Zahlen, Computerwörter, einzelne Bytes, usw.) passend sind. Einige Fehlerkorrekturcodes basieren auf speziellen Kontrollsummen, die nicht nur allgemeine Fehler entdecken sondern auch den ursprünglichen Daten erlauben, in bestimmten Fällen wieder erlangt zu werden.

Kontrollsumme-Algorithmen

Paritätsbyte oder Paritätswort

Der einfachste Kontrollsumme-Algorithmus ist die so genannte Längsparitätskontrolle, die die Daten in "Wörter" mit einer festgelegten Zahl n von Bit bricht, und dann das exklusive oder von allen jenen Wörtern schätzt. Das Ergebnis wird an der Nachricht als ein Extrawort angehangen. Um die Integrität einer Nachricht zu überprüfen, schätzt der Empfänger das exklusive oder aller seiner Wörter einschließlich der Kontrollsumme; wenn das Ergebnis nicht ein Wort mit n Nullen ist, weiß der Empfänger, dass ein Übertragungsfehler vorgekommen ist.

Mit dieser Kontrollsumme wird jeder Übertragungsfehler, der ein einzelnes Bit der Nachricht oder eine ungerade Zahl von Bit schnipst, als eine falsche Kontrollsumme entdeckt. Jedoch wird ein Fehler, der zwei Bit betrifft, nicht entdeckt, wenn jene Bit an derselben Position in zwei verschiedenen Wörtern liegen. Wenn die betroffenen Bit aufs Geratewohl unabhängig gewählt werden, ist die Wahrscheinlichkeit eines Zwei-Bit-Fehlers unentdeckt seiend 1/n.

Modulsumme

Eine Variante des vorherigen Algorithmus soll alle "Wörter" als nicht unterzeichnete Binärzahlen hinzufügen, irgendwelche Überschwemmungsbit verwerfend, und die Ergänzung des two der Summe als die Kontrollsumme anhängen. Um eine Nachricht gültig zu machen, fügt der Empfänger alle Wörter auf dieselbe Weise einschließlich der Kontrollsumme hinzu; wenn das Ergebnis nicht ein mit Nullen volles Wort ist, muss ein Fehler vorgekommen sein. Diese Variante entdeckt auch jeden Fehler des einzelnen Bit, aber die Wahrscheinlichkeit, dass ein Zwei-Bit-Fehler unentdeckt gehen wird, ist etwas weniger als 1/n.

Von der Position abhängige Kontrollsummen

Die einfachen Kontrollsummen, die oben beschrieben sind, scheitern, einige allgemeine Fehler zu entdecken, die viele Bit sofort, wie das Ändern der Ordnung von Datenwörtern, oder des Einfügens oder des Löschens von Wörtern mit dem ganzen Bit-Satz zur Null betreffen. Die Kontrollsumme-Algorithmen, die in der Praxis, wie die Kontrollsumme von Fletcher, Adler-32 und zyklische Redundanzprüfungen (CRCs) am meisten verwendet werden, richten diese Schwächen durch das Betrachten nicht nur des Werts jedes Wortes sondern auch seiner Position in der Folge. Diese Eigenschaft vergrößert allgemein die Kosten, die Kontrollsumme zu schätzen.

Allgemeine Rücksichten

Ein Übertragungsfehler des einzelnen Bit entspricht dann einer Versetzung von einer gültigen Ecke (die richtige Nachricht und Kontrollsumme) zu einer der M angrenzende Ecken. Ein Fehler, der k Bit betrifft, bewegt die Nachricht an eine Ecke, die von seiner richtigen Ecke entfernte K-Schritte ist. Die Absicht eines guten Kontrollsumme-Algorithmus ist, die gültigen Ecken auszubreiten, die so von einander weit sind wie möglich, um die Wahrscheinlichkeit zu vergrößern, dass "typische" Übertragungsfehler an einer ungültigen Ecke enden werden.

Kontrollsumme-Werkzeuge

  • ein Befehl von Unix (auch getragen zu Win32), der mit der Ordnung unabhängige Summen erzeugt; Gebrauch zwei verschiedene Algorithmen für das Rechnen, der SYSV Kontrollsumme-Algorithmus und die BSD Kontrollsumme (Verzug) Algorithmus.
  • ein Befehl von Unix, der sowohl einen 32-Bit-CRC als auch ein Byte-Zählen für jede gegebene Eingangsdatei erzeugt.
  • ein Befehl von Unix, der eine MD5-Summe erzeugt
  • Java GUI Werkzeug, das erzeugt und MD5 und SHA überprüft, summiert
  • eine javanische API, verwendbar sowohl durch einen GUI als auch durch einen CLI, der viele Kontrollsumme-Durchführungen vereinigt und erlaubt, sich mit so viel auszustrecken, wie Sie brauchen.
  • eine javanische Bibliothek, die von Entwicklern in javanischen Anwendungen verwendet werden kann, um Kontrollsummen mit verschiedenen Algorithmen zu berechnen.
  • eine schnelle Datei, Mappe und Laufwerk hashing Anwendung für Windows.
  • eine freie Mehrdateikuddelmuddel-Rechenmaschine für Windows, das MD5, SHA-1, SHA-256 und SHA-512 Kontrollsummen berechnet.

Siehe auch

  • Prüfziffer
  • Das Rollen der Kontrollsumme
  • Dateiüberprüfung
  • Hamming codieren
  • IPv4 Kopfball-Kontrollsumme
  • Die Liste des Kuddelmuddels fungiert
  • Algorithmus von Luhn
  • Algorithmus von Verhoeff
  • Gleichheit hat gebissen
  • Blockparitätszeichen
  • Bit-Fäule
  • ZFS Ein Dateisystem, das automatische Dateiintegritätsüberprüfung mit Kontrollsummen durchführt

Links


Das Bedingen / Stadtuniversität New Yorks
Impressum & Datenschutz