Abschlussbericht
Abschlussbericht
Abschlussbericht
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Abschlussbericht</strong><br />
Trusted Sensor Node<br />
AddKey<br />
Die Schlüsseladdition wird durch eine binäre XOR-Operation ausgeführt.<br />
S-Box Die Substitutions-Box (S-Box) ist eine nichtlineare Abbildung eines Bytes auf ein<br />
anderes. Dazu wird vom Eingangswert x in GF(2 8 ) das multiplikative Inverse x −1 (in Formel<br />
2.2 gilt: x −1 entspricht z0 bis z7) gebildet. Anschließend wird eine Matrixmultiplikation<br />
mit der vorgegebenen Matrix c ausgeführt und der Vektor (11000110) addiert (siehe Formel<br />
2.2). Die Ausführung der S-Box ist so gewählt, dass kein Bytewert auf sich selbst<br />
abgebildet wird, da dies ein potentieller Ansatzpunkt für Kryptoanalysen wäre. Da die S-<br />
Box-Transformation jeweils auf ein Byte angewendet wird, sind 16 dieser Transformationen<br />
pro Runde notwendig.<br />
⎡ ⎤ ⎡<br />
⎤ ⎡ ⎤ ⎡ ⎤<br />
y0 1 0 0 0 1 1 1 1 z0 1<br />
y1<br />
1 1 0 0 0 1 1 1<br />
z1<br />
1<br />
y2<br />
1 1 1 0 0 0 1 1<br />
z2<br />
0<br />
y3<br />
y4<br />
=<br />
1 1 1 1 0 0 0 1<br />
z3<br />
1 1 1 1 1 0 0 0<br />
z4<br />
+<br />
0<br />
0<br />
⎢y5<br />
⎥ ⎢0 1 1 1 1 1 0 0<br />
⎥ ⎢z5<br />
⎥ ⎢1<br />
⎥<br />
⎣y6⎦<br />
⎣0 0 1 1 1 1 1 0⎦<br />
⎣z6⎦<br />
⎣1⎦<br />
y7 0 0 0 1 1 1 1 1 z7 0<br />
(2.2)<br />
ShiftRow Die Bytes der Matrix rotieren in Abhängigkeit von der Zeilennummer i (i = 0 bis<br />
3) um i Stellen nach links (zyklisches Shiften, siehe Formel 2.3).<br />
⎡<br />
⎤ ⎡<br />
⎤<br />
00 01 02 03 00 01 02 03<br />
⎢10 11 12 13<br />
⎥<br />
⎣20 21 22 23⎦ ⇒ ⎢11 12 13 10<br />
⎥<br />
⎣22 23 20 21⎦ (2.3)<br />
30 31 32 33 33 30 31 32<br />
MixColumn Während die S-Box-Operation sich byteweise auswirkt, ist die MixColumn-<br />
Transformation eine Interaktion zwischen den 4 Bytes einer Spalte y0, j bis y3, j für j = 0<br />
bis 3 in GF(2 8 ). Dazu wird eine Matrixmultiplikation der Spalte j (j = 0 bis 3) mit der Matrix<br />
c ausgeführt (siehe Formel 2.4).<br />
⎡ ⎤ ⎡<br />
⎤ ⎡ ⎤<br />
y0, j 02 03 01 01 z0, j<br />
⎢y1, j<br />
⎥<br />
⎣y2, j⎦ ⇐ ⎢01 02 03 01<br />
⎥ ⎢z1, j<br />
⎥<br />
⎣01 01 02 03⎦<br />
⎣z2, j⎦ ∀j ∈ [0, 1, 2, 3] (2.4)<br />
y3, j 03 01 01 02 z3, j<br />
Schlüsselexpansion In jeder der elf Runden wird ein neuer Rundenschlüssel mit der<br />
Länge von 128 Bit benötigt. Der Schlüssel wird analog zu den Eingangsdaten auf eine<br />
4x4-Byte-Matrix abgebildet. Die Generierung eines neuen Rundenschlüssels besteht aus<br />
25