Adatbiztonság - Feladatmegoldás

A VIK Wikiből


Itt közösen oldhatunk meg feladatokat. Ill. amiket én felviszek, azoknak már lesz valamennyi megoldása. De bárki szabadon hozzátehet, ha úgy érzi, hogy nem teljes (vagy esetleg rossz) a megoldás.

1. feladat

Adott két esetben a nyílt szöveg (Px) és a rejtjelezett szöveg (Cx). És (úgy látom) "affine rejtjelezőt" használunk.
P1 = 10, C1 = 11
P2 = 20, C2 = 9
Modulo 26 számolunk.

Felírjuk a két egyenletrendszert, melyek a következő alakúak: a*P + b = C. Keressük a-t és b-t.
(1) 10a + b = 11
(2) 20a + b = 9
(2)-(1)
10a = -2 = 24 (mod 26)
-> a = 5, b = 13 <-

2. feladat

P = "hot", K = (A,B) = (7,3), mod 26
a) C = ?
b) Dekódolás
c) Adja meg a kulcstér méretét

a) Úgy vesszük, hogy az "a" a 0. betű, és innen számoljuk az angol abc betűit. Tehát a nyílt szöveg ez alapján: 7 14 19 ("h" a 7. betű, "o" a 14., "t" a 19.) Minden betűt külön kódolunk a kulccsal az a*P + b = C algoritmus szerint.
"h": 7*7+3 = 52 = 0 => "a"
"o": 7*14 + 3 = 101 = 23 => "x"
"t": 7*19 + 3 = 136 = 6 => "g"
C = "axg"

b)
y = 7 * x + 3 (mod 26)
y + 23 = 7 * x (mod 26)
Keressük 7-nek az inverzét (mod 26) szerint. 7^(-1) = 15
15 * (y + 23) = x (mod 26)
15 * y + 7 = x (mod 26)
A dekódolás a (15,7) kulccsal történik.

c)
A kulcs: (a,b)
A kódolás menete: a*x+b mod 26
A dekódoláshoz kell az a-nak az inverze, ami csak akkor létezik, ha (a,26)=1.
a értéke 12 féle lehet, b értéke 26, tehát a kulcstér mérete a 12*26=312

-- Đani - 2007.09.19.