Kódelméleti és kriptográai alkalmazások Wettl Ferenc
2015. május 14.
Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
1 / 11
Hibajavító kódok
1
Hibajavító kódok
2
Általánosított ReedSolomon-kód
Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
2 / 11
Hibajavító kódok
Bináris [7, 4, 3]2 Hamming-kód F42 → F72 : (b3 , b5 , b6 , b7 ) 7→ (b1 , . . . , b7 ), ahol b1 = b3 + b5 + b7 , b2 = b3 + b6 + b7 , b4 = b5 + b6 + b7 . Legyen B1 , B2 , B4 három halmaz.
B2k
alakjában a
pontosan akkor tartalmazza a
k -adik bit 1.
b5 b1 B1
b4 b7 b3
bi
bitet, ha
i
bináris
B4 b6 b2 B2
(b1 , . . . , b7 ) bitsorozat pontosan akkor kódszó, ha a Bj j = 1, 2, 4) halmazok mindegyikében páros sok bit egyes.
Egy (
Bármely
F72 -beli
vektor vagy kódszó, vagy egyértelm¶en kódszóvá
változtatható egyetlen bit megváltoztatásával, azaz e kód képes egy bithibát javítani. Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
3 / 11
Hibajavító kódok
Feladat 7 halálraítélt körben ül, mindegyikük fején egy véletlenül kiválasztott piros vagy fekete sapka. Mindenki látja a többiek sapkáját, de senki se látja a sajátját. Semmi módon nem kommunikálhatnak egymással. Egy id® után egyszerre mindegyiküknek tippelnie kell a saját sapkája színére. Három válasz lehetséges: nem tudom, fekete, piros. Ha senki nem találja el, vagy csak egy is akad, aki téved, mind meghalnak, egyébként mind megmenekülnek. Tudunk-e számukra olyan eljárást javasolni, ami 1/2-nél nagyobb valószín¶séggel megmenekíti ®ket. Mi a legnagyobb valószín¶ség, amit el tudunk érni?
Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
4 / 11
Hibajavító kódok
Lineáris kód, generátormátrix D Az
Fq
test fölött értelmezett
nevezzük, ha
C
az
Fnq
C ⊆ Fnq
vektortér egy
minimális távolság, akkor
kódot lineáris [n , k ]-kódnak k -dimenziós altere (ha d a
[n, k , d ]q ).
g1 , g2 ,. . . , gk a C egy bázisa. Egy tetsz®leges x ∈ Fkq vektor (üzenet) c ∈ C kódja legyen c = x1 g1 + x2 g2 + · · · + xk gk . Ez egy
D Legyen
egyszer¶ mátrixszorzással is el®állítható:
c = xG , ahol a
k × n-es G
sorvektorai
Wettl Ferenc
C
mátrix az úgynevezett generátormátrix
bázisának elemei.
Kódelméleti és kriptográai alkalmazások
2015. május 14.
5 / 11
Hibajavító kódok
Hamming-kód használata P Az
b2
F42 → F72 : (b3 , b5 , b6 , b7 ) 7→ (b1 , . . . , b7 ), ahol b1 = b3 + b5 + b7 , = b3 + b6 + b7 , b4 = b5 + b6 + b7 leképezés mátrixa
G Például az
1
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
x = (0, 1, 1, 0) üzenet kódja c = xG
Wettl Ferenc
1
1 = 0
=
=
0
1
1
1
1
0
1
1
1
0
0
0
0
1 0
0
0
1
1
0
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
Kódelméleti és kriptográai alkalmazások
2015. május 14.
6 / 11
Hibajavító kódok
Ellen®rz® mátrix D A
C
kód duálisán a
C ⊥ = { v ∈ Fnq : v · c = 0
minden
kódot értjük, mely egy lineáris kód. A
C
C⊥
c ∈ C kódszóra }
kód
H
generátormátrixát a
kód ellen®rz® mátrixának nevezzük. (paritásmátrix, paritásellen®rz®
mátrix). T Ha
(1) (2) (3) (4) (5) (6)
C
egy lineáris
[n, k ]-kód,
akkor
C ⊥ = { v ∈ Fnq : vG T = 0 }, C ⊥ egy [n, n − k ]-kód, C ⊥⊥ := (C ⊥ )⊥ = C , C = { c ∈ Fnq : cH T = 0 }, GH T = Ok ×n−k , HG T = On−k ×k , ha G = [Ik |A] a C kód standard alakú mátrixa H = [−AT |In−k ].
Wettl Ferenc
generátormátrixa, akkor ellen®rz®
Kódelméleti és kriptográai alkalmazások
2015. május 14.
7 / 11
Hibajavító kódok
Bináris Hamming-kód ellen®rz® mátrixa A generátormátrix a
[I | − AT ]
(34)
permutációval
[A|I ] alakot ölt, amelyhez az (34) permutáció inverze
ellen®rz® mátrix tartozik. Ezen a
ami önmaga a következ® mátrixot adja:
1
H = 0 0
Wettl Ferenc
0
1
0
1
0
1
1
1
0
0
1
1 .
0
0
1
1
1
1
Kódelméleti és kriptográai alkalmazások
(1)
2015. május 14.
8 / 11
Hibajavító kódok
Bináris Hamming-kód ellen®rz® mátrixa D Vegyünk egy olyan
H
mátrixot, melynek oszlopai között
Frq
minden
nemnulla vektorának pontosan egy nem nulla konstansszorosa szerepel. Azt a kódot, melynek a paraméter¶
rq
T A H ,
Fq
rq
feletti H ,
H
mátrix az ellen®rz® mátrixa,
r
Hamming-kódnak nevezzük.
Hamming-kód
r q − 1 qr − 1 , − r, 3 q−1 q−1 q paraméter¶ perfekt kód (azaz a kódszó közep¶
r -sugarú gömbök
egyrét¶en lefedik a teret).
Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
9 / 11
Általánosított ReedSolomon-kód
1
Hibajavító kódok
2
Általánosított ReedSolomon-kód
Wettl Ferenc
Kódelméleti és kriptográai alkalmazások
2015. május 14.
10 / 11
Általánosított ReedSolomon-kód
Általánosított ReedSolomon-kód Reed és Solomon 1960-ban deniálta.
v = (v1 , v2 , . . . , vn ) ∈ Fn nemnulla elem¶, a = (a1 , a2 , . . . , an ) ∈ Fn csupa különböz® elemb®l álló vektor (n 6 |F|), és legyen 0 6 k 6 n egész. Ekkor a
D Legyen
n k (a, v ) = { (v1 c (a1 ), v2 c (a2 ), . . . , vn c (an )) | c (x ) ∈ F[x ]k }
GRS ,
c (x ) v = (1, 1, . . . , 1)
kódot általánosított ReedSolomon-kódnak nevezzük. Itt a polinomhoz tartozó kódszót fogjuk
c -vel jelölni.
(A
esetben e kódot ReedSolomon-kódnak nevezzük.)
n k (a , v )
T GRS ,
Wettl Ferenc
lineáris
[n, k , n − k + 1]-kód.
Kódelméleti és kriptográai alkalmazások
2015. május 14.
11 / 11