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
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
Bináris [7, 4, 3] 2 Hamming-kód F 4 2 F7 2 : (b 3, b 5, b 6, b 7 ) (b 1,..., b 7 ), ahol b 1 = b 3 + b 5 + b 7, b 2 = b 3 + b 6 + b 7, b 4 = b 5 + b 6 + b 7. Legyen B 1, B 2, B 4 három halmaz. B 2 k pontosan akkor tartalmazza a b i bitet, ha i bináris alakjában a k-adik bit 1. b 4 B 4 b 5 b 6 b 7 b 1 b 3 b 2 B 1 B 2 Egy (b 1,..., b 7 ) bitsorozat pontosan akkor kódszó, ha a B j (j = 1, 2, 4) halmazok mindegyikében páros sok bit egyes. Bármely F 7 2-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
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
Lineáris kód, generátormátrix D Az F q test fölött értelmezett C F n q kódot lineáris [n, k]-kódnak nevezzük, ha C az F n q vektortér egy k-dimenziós altere (ha d a minimális távolság, akkor [n, k, d] q ). D Legyen g 1, g 2,..., g k a C egy bázisa. Egy tetsz leges x F k q vektor (üzenet) c C kódja legyen c = x 1 g 1 + x 2 g 2 + + x k g k. Ez egy egyszer mátrixszorzással is el állítható: c = xg, ahol a k n-es G mátrix az úgynevezett generátormátrix sorvektorai C bázisának elemei. Wettl Ferenc Kódelméleti és kriptográai alkalmazások 2015. május 14. 5 / 11
Hamming-kód használata P Az F 4 2 F7 2 : (b 3, b 5, b 6, b 7 ) (b 1,..., b 7 ), ahol b 1 = b 3 + b 5 + b 7, b 2 = b 3 + b 6 + b 7, b 4 = b 5 + b 6 + b 7 leképezés mátrixa 1 1 1 0 0 0 0 G = 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 Például az x = (0, 1, 1, 0) üzenet kódja 1 1 1 0 0 0 0 c = xg = [ 0 1 1 0 ] 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 = [ 1 1 0 0 1 1 0 ] Wettl Ferenc Kódelméleti és kriptográai alkalmazások 2015. május 14. 6 / 11
Ellen rz mátrix D A C kód duálisán a C = { v F n q : v c = 0 minden c C kódszóra } kódot értjük, mely egy lineáris kód. A C kód H generátormátrixát a C kód ellen rz mátrixának nevezzük. (paritásmátrix, paritásellen rz mátrix). T Ha C egy lineáris [n, k]-kód, akkor (1) C = { v F n q : vg T = 0 }, (2) C egy [n, n k]-kód, (3) C := (C ) = C, (4) C = { c F n q : ch T = 0 }, (5) GH T = O k n k, HG T = O n k k, (6) ha G = [I k A] a C kód standard alakú generátormátrixa, akkor ellen rz mátrixa H = [ A T I n k ]. Wettl Ferenc Kódelméleti és kriptográai alkalmazások 2015. május 14. 7 / 11
Bináris Hamming-kód ellen rz mátrixa A generátormátrix a (34) permutációval [A I ] alakot ölt, amelyhez az [I A T ] ellen rz mátrix tartozik. Ezen a (34) permutáció inverze ami önmaga a következ mátrixot adja: 1 0 1 0 1 0 1 H = 0 1 1 0 0 1 1. (1) 0 0 0 1 1 1 1 Wettl Ferenc Kódelméleti és kriptográai alkalmazások 2015. május 14. 8 / 11
Bináris Hamming-kód ellen rz mátrixa D Vegyünk egy olyan H mátrixot, melynek oszlopai között F r minden q nemnulla vektorának pontosan egy nem nulla konstansszorosa szerepel. Azt a kódot, melynek a H mátrix az ellen rz mátrixa, r paraméter F q feletti H r,q Hamming-kódnak nevezzük. T A H r,q Hamming-kód [ q r 1 q 1, q r ] 1 q 1 r, 3 paraméter perfekt kód (azaz a kódszó közep r-sugarú gömbök egyrét en lefedik a teret). q 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. D Legyen v = (v 1, v 2,..., v n ) F n nemnulla elem, a = (a 1, a 2,..., a n ) F n csupa különböz elemb l álló vektor (n F ), és legyen 0 k n egész. Ekkor a GRS n,k(a, v) = { (v 1 c(a 1 ), v 2 c(a 2 ),..., v n c(a n )) c(x) F[x] k } kódot általánosított ReedSolomon-kódnak nevezzük. Itt a c(x) polinomhoz tartozó kódszót fogjuk c-vel jelölni. (A v = (1, 1,..., 1) esetben e kódot ReedSolomon-kódnak nevezzük.) T GRS n,k(a, v) lineáris [n, k, n k + 1]-kód. Wettl Ferenc Kódelméleti és kriptográai alkalmazások 2015. május 14. 11 / 11