Please enable JavaScript to view this site.

ArchiCrypt XChange

Navigation: Technischer Teil

Entropie

Themen Zurück Top Vor Menü

Informationsgehalt

 

Die Entropie einer Datei ist ein Maß für den Informationsgehalt.

Die Entropie wird in bit/char (sprich Bit pro Zeichen) angegeben.

 

Informationsgehalt:

 

Für die Berechnung des Informationsgehaltes betrachtet man die Wahrscheinlichkeitsverteilung der Zeichen in einer Datei. Man geht davon aus, dass die einzelnen Bytes der Datei stochastisch unabhängig voneinander sind und mit gleicher Wahrscheinlichkeit in der Datei auftreten.

 

 

Der Informationsgehalt einer Nachricht N[I] ist definiert:

 

Informationsgehalt(N[I]) := log2(1/P[I]) = -log2(P[I]).

 

P[I] ist dabei die Wahrscheinlichkeit, mit der die Nachricht N[I] in der Datei auftritt. log2 bezeichnet den Logarithmus zur Basis 2.

Der Informationsgehalt hängt damit ausschließlich von der Wahrscheinlichkeitsverteilung ab. Der semantische Inhalt geht dabei nicht in die Berechnung ein.

Da der Informationsgehalt einer seltenen Nachricht höher als der einer häufigen Nachricht ist, wird in der Definition der Kehrwert der Wahrscheinlichkeit verwendet.

 

Der Informationsgehalt zweier unabhängig voneinander ausgewählter Nachrichten ist gleich der Summe der Informationsgehalte der einzelnen Nachrichten.

 

Entropie

 

Mit der Definition des Informationsgehaltes kann nun die mittlere Information berechnet werden.

 

Für die Mittelwertbildung werden die einzelnen Nachrichten mit der Wahrscheinlichkeit ihres Auftretens gewichtet.

 

Entropie(P[1], P[2], ..., P[r]):= -(P[1] * log(P[1]) + P[2] * log(P[2]) + ... + P[r] * log(P[r]))

 

Man kann das etwas verständlicher wie folgt beschreiben:

Die Entropie gibt die Unsicherheit als Anzahl der notwendigen Ja / Nein-Fragen zur Klärung einer Nachricht oder eines Zeichens an. Hat ein Zeichen eine sehr hohe Auftrittswahrscheinlichkeit, so hat es einen geringen Informationsgehalt. Dies entspricht etwa einem Gesprächspartner, der regelmäßig mit "ja" antwortet. Antworten, die sehr selten auftreten, haben einen hohen Informationsgehalt.

 

In diesem Zusammenhang sind die Extremwerte interessant:

Ein Dokument, welches nur Ziffern enthält, kann im schlechtesten Fall 0 bit/char Entropie besitzen, ein Dokument, in welchem alle Ziffern mit gleicher Wahrscheinlichkeit auftreten kann die Entropie (im Höchstfall) log2(10) = 3,3219 besitzen.

Für uns ist noch von Interesse, welche maximale Entropie in Dateien auftreten kann. Unsere Dateien sind aus Bytes aufgebaut. Also 8 Bit. Mit diesen 8 Bit kann man 256 verschiedene Zeichen darstellen.

Die Entropie für solche Dokumente beträgt mindestens 0 bit/char und höchstens 8 bit/char, falls in der Datei alle Zeichen gleich häufig vorkommen.

 

Entropie einer Datei

Die Entropie einer vorliegenden Datei kann also relativ leicht ermittelt werden. Man ermittelt für eine gegebene Datei, wie oft jedes Zeichen vorkommt.

 

das war schon immer so, man glaubt es kaum, aber es stimmt.

 

a        := 6

b        := 2

c        := 1

d        := 1

e        := 4

h        := 1

i        := 2

k        :=1

l        := 1

m        := 6

n        := 2

o        := 2

r        := 3

s        := 6

t        := 3

u        := 2

w        := 1

 

Anschließend setzt man die Werte in obige Gleichung ein und erhält einen Entropiewert von 3,2682.

Wobei P[a] = 6 / 58, P[b] = 2 / 58 usw.

 

Verschlüsselte Dokumente kann man eventuell am Entropiewert erkennen. Je näher dieser Wert am Maximum liegt, desto größer ist die Wahrscheinlichkeit, dass es sich um eine verschlüsselte Datei handelt. Man kann diese Methode dazu nutzen, abzuschätzen, ob ein Angriff auf eine Datei erfolgreich war. Man testet verschiedene Passworte und nimmt das Ergebnis als Klartext, bei welchem der Entropiewert am geringsten ist.

 

Auf der anderen Seite sollte ein Verschlüsselungsverfahren immer Daten liefern, die einen fast maximalen Entropiewert besitzen. In unserem Fall also bei 7,9 und höher.