Abschlussbericht
Abschlussbericht
Abschlussbericht
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Abschlussbericht</strong><br />
Trusted Sensor Node<br />
Zu Beginn jedes der 80 Takte der Funktion G ermitteln die Funktionen f und K ihre Zwischenergebnisse.<br />
Als Ergebnis von K wird eine 32 Bit lange Konstante ausgegeben, die in<br />
Abhängigkeit der aktuellen Anzahl von Takten bestimmt wird. Die Funktion F ermittelt ihr<br />
32-Bit-Ergebnis aus der Verknüpfung der Werte aus den Registern B, C und D. Zu Beginn<br />
des Algorithmus enthalten diese, wie die H-Register auch, den geheimen Schlüssel und<br />
im weiteren Verlauf die Zwischenergebnisse der Signatur. Der Aufbau der Verknüpfung ist<br />
ebenfalls von der aktuellen Taktanzahl abhängig. Nachdem diese beiden Funktionen ihre<br />
Ergebnisse generiert haben, startet die Funktion G. Als erstes wird ein weiteres Zwischenergebnis<br />
in Abhängigkeit von der aktuellen Taktzahl ermittelt. Dieses entspricht entweder<br />
dem Inhalt des Registers W0 oder der XOR-Verknüpfung der Register W13, W8, W2 und<br />
W0 mit einer zusätzlichen Bitschiebeoperation des Ergebnisses nach links (in Richtung der<br />
höherwertigen Bits). Im Anschluss werden alle W-Register um ein Register nach rechts,<br />
das heißt in Richtung der niederwertigen Register, geschoben. Der Wert des Registers W0<br />
wird in dem Register W15 abgelegt.<br />
Aus all den bis zu diesem Zeitpunkt ermittelten Werten wird durch Addition der Ergebnisse<br />
das Zwischenergebnis eines Teilblocks der Signatur ermittelt. Dessen Wert setzt sich aus<br />
einer fünfmaligen Bitschiebeoperation des Registerinhalts von A nach links zusammen.<br />
Auf diesen Wert werden anschließend der Registerinhalt von E sowie die Ergebnisse von<br />
f, K und der Verknüpfung der drei W-Register addiert. Dieses Ergebnis wird später in dem<br />
Register A abgelegt. Zuvor werden die Inhalte der Register B bis E um ein Register nach<br />
links verschoben. Der neue Wert des Registers C wird zudem noch um 30 Bit nach links<br />
verschoben. Nun enthält das Register A den zuvor berechneten Wert.<br />
Nach 80 Takten werden die Zwischenergebnisse aus den Registern A bis E mit den Inhalten<br />
der H-Register addiert. Der Wert in Register B wird zudem noch um 30 Bit nach<br />
links verschoben. In den H-Registern steht nun die Signatur der bis dahin behandelten<br />
Datenblöcke. Die Signatur kann über Software aus den H-Registern ausgelesen werden.<br />
2.15.2 Pseudo Random Number Generator (PRNG)<br />
Es besteht die Möglichkeit, das SHA-1-Modul als Generator für Pseudozufallszahlen zu<br />
verwenden. Dies wird in FIPS 186-2 [36] genauer erläutert. Für die Generierung derartiger<br />
Zahlen mit Hilfe des Secure Hash Algorithmus ist es zu Beginn notwendig einen Schlüssel<br />
und einen Datenblock in die entsprechenden H- und W-Register des Moduls zu schreiben.<br />
Die Kombination aus Schlüssel und Daten bilden den Ausgangswert (Seed) für die<br />
Generierung der Pseudozufallszahl. Verwendet man stets den gleichen Seed, wird immer<br />
eine identische Folge von Zufallszahlen erzeugt. Aufgrund der Wiederholbarkeit nennt<br />
man diese Werte auch pseudozufällige Zahlen. Ist der Seed jedoch unbekannt, wirken die<br />
Ergebnisse des Algorithmus wie zufällig generierte Zahlen. Nach dem derzeitigen Kenntnisstand<br />
kann man nicht anhand dieser Zahlenfolgen auf den Seed schließen. Wurden<br />
alle Register mit den Ausgangswerten belegt, kann der Algorithmus gestartet werden. Am<br />
Ende jedes Durchlaufs steht eine Pseudozufallszahl von 160 Bit in den Registern H0 bis<br />
H4.<br />
36