Kapitel 1. Überblick

Ein einfacher FileHandler, welcher die Verifikation von Prüfsummen über Dateiinhalte in verschiedenen Formaten erlaubt. Solche Prüfsummen werden manchmal von Downloadseiten zur Verfügung gestellt, um einen Weg zu unterstützen, sicherzustellen dass eine heruntergeladene Datei nicht modifiziert oder korrumpiert wurde.

Eine Prüfsumme ist eine Art Zahl, welche über eine Berechnung über gegebene Inhalte erhalten wird. Es gibt verschiedene wohlbekannte solcher Berechnungsmethoden für diesen Zweck, wie den einfachen Cyclic Redundancy Check (CRC) oder die kryptographisch sicher(er)en Message Digest 5 (MD5) und Secure Hash Algorithm 1 (SHA-1).

Verifikation einer solchen Prüfsumme beinhaltet die Neuberechnung der Zahl mit der gleichen Methode und den Vergleich des Resultats mit dem präsentierten Wert. Stimmen die beiden Zahlen überein, so sind die Chancen hoch, dass der Inhalt der Datei weder modifiziert noch korrumpiert wurde.

Das Resultat dieser Verifikation muss jedoch sorgfältig interpretiert werden: Nicht alle der Methoden gewährleisten die gleiche Sicherheit gegen Manipulation. Ein CRC kann schnell berechnet werden, ist jedoch auch anfällig gegenüber Manipulation über den Inhalt der Datei selbst, um zu einem vorgegebenen Resultat zu gelangen. Er kann daher gut verwendet werden, um versehentliche Korrumpierung beim Download zu entdecken, schützt jedoch nicht vor gezielter Manipulation einer Datei.

Falls letzteres benötigt wird, so muss ein kryptographisch sicherer Algorithmus verwendet werden, wie die oben erwähnten MD5 oder SHA-1. Diese sind dafür ausgelegt, die Möglichkeiten zu verringern, Inhalte so zu verändern, dass eine gegebene Prüfsumme resultiert. Es ist daher sehr schwierig, den Inhalt einer Datei so zu manipulieren, dass dies bei der Verifikation einer solchen Prüfsumme nicht bemerkt wird. Diese zusätzliche Sicherheit kommt jedoch nur zum Preis massiv erhöhter anfallender Berechnungszeit. Somit sind diese Algorithmen viel langsamer in der Verwendung.

Je nach Einsatzzweck sollte daher ein anderer Algorithmus ausgewählt werden.

Der Zweck dieses FileHandlers ist es, einen Weg zur Verifikation solcher Prüfsummen anzubieten, als auch die initiale Berechnung und Speicherung derselben zu ermöglichen. Somit ist dies von der Natur her ein Editor.