13.01.2015 Aufrufe

Abschlussbericht

Abschlussbericht

Abschlussbericht

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!