Cryptography Reference
In-Depth Information
anschließende Addition einer Konstanten). Bestimmen Sie für das angegebene Eingangs-Byte
b=(b
7
...b
0
)=(00000111) das Ausgangs-Byte der linearen Transformation.
'(
c
'
10001111
(
'(
b
'(
'(
"#"#
"#"#
"#"#
"#"#
"#"#
b
1
1
1
0
0
0
0
0
0
0
0
"#
"
#
"#
c
b
b
11000111
"#
"
#
"#
1
1
1
"#
"
#
"#
c
11100011
b
b
2
2
2
"#
"
#
"#
c
11110001
b
b
"#
"
#
"#
3
3
3
(mod 2)
für
"#"#
"#
"#
"#"#
"#"#
"#
"#
"#"
$%
(2.6-6)
"#
"
#
"#
c
11111000
b
b
"#
4
"#
4
4
"
#
c
01111100
b
b
"#
"
#
"#
5
5
5
"#
"
#
"#
c
00111110
b
b
"#
"#
6
"
#
6
6
"#
c
"
00011111
#
"#
b
b
$%
$
%
$%
$%
7
7
7
Lösung
Das Ergebnis ist c=(c
7
...c
0
)=(01011101).
Übung 3
Die lineare Transformation in Übung 2 kann man auch durch Polynome beschreiben:
8
{00011111}
c(x)=a(x) b(x)
(mod 2, mod (x
1))
mit den Polynomkoeffizienten
(2.6-7)
c(x)
{c
...c c }
b(x)
{b
...b b }
a(x)
{a
...a
a }
7
1
0
7
1
0
7
1
0
Vergewissern Sie sich, dass die Transformationen nach (2.6-6) und (2.6-7) äquivalent sind.
Anleitung: Der Koeffizient c
0
, der zur Potenz x
0
gehört, ergibt sich aus allen Koeffizientenpaa-
ren a
i
, b
j
, deren Potenz i+j entweder 0 oder 8 ist (x
8
mod(x
8
+1)=x
0
=1). Berechnen Sie dazu aus
(2.6-7) die Koeffizienten c
o
und c
1
und vergleichen Sie das Ergebnis mit der Matrixdarstellung
von (2.6-6).
Lösung
Entsprechend (2.6-7) führen die folgenden Koeffizientenpaare (a
i
, b
j
) auf Produkte der Potenz
x
0
oder x
8
. Die Potenzen x
0
oder x
8
gehören zu dem Koeffizienten c
0
.
c
0
=b
0
·a
0
+b
1
·a
7
+b
2
·a
6
+b
3
·a
5
+b
4
·a
4
+b
5
·a
3
+b
6
·a
2
+b
7
·a
1
. Die oberste Zeile der 8x8-Matrix lautet
damit: (a
0
a
7
a
6
a
5
a
4
a
3
a
2
a
1
) = (1 0 0 0 1 1 1 1). Die konkreten Werte der Koeffizienten von
a(x) in (2.6-7) zeigen Übereinstimmung mit der obersten Zeile der 8x8-Matrix in (2.6-6).
Der Koeffizient c
1
in (2.6-7) gehört zu den Potenzen x
1
oder x
9
modulo (x
8
+1).
c
1
=b
0
·a
1
+b
1
·a
0
+b
2
·a
7
+b
3
·a
6
+b
4
·a
5
+b
5
·a
4
+b
6
·a
3
+b
7
·a
2
. Die zweite Zeile der 8x8-Matrix lautet
damit: (a
1
a
0
a
7
a
6
a
5
a
4
a
3
a
2
) = (1 1 0 0 0 1 1 1). Die zweite Zeile der 8x8-Matrix in (2.6-6) ist
gegenüber der ersten Zeile zyklisch um eine Position nach rechts verschoben,
Übung 4
Die Transformation (2.6-7) kann invertiert werden, indem man das multiplikativ inverse Poly-
nom a
1
(x) bezüglich M(x)=x
8
+1 bildet. Dazu müssen a(x) und M(x) selbstverständlich teiler-
fremd sein. Diese inverse Transformation zur Berechnung von b(x) aus c(x) ist für die Ent-
schlüsselung erforderlich.
1
8
b(x)
a
(x) c(x)
(mod 2, mod (x
1))
(2.6-8)