I BOB.
MA’LUMOTLAR BAZASI VA MBBT HAQIDA TUSHUNCHA
292
jadval kataklari to‘lgunicha davom ettiriladi.
Jadval quyidagicha hosil qilib olinadi:
2-jadval
Ochiq matn
i
n
f
o
r
m
a
t
i
k
a
Kalit
k
i
t
o
b
k
i
t
o
b
k
Shifrlangan
matn
*
**
1) 1-jadvalning
i
ustuni (
T
0
[1]
) va
k-
satri (
K[1]
) kesishmasida joylashgan
s
harfini 2-jad
-
valdagi “shifrlangan matn” satridagi
*
o‘rniga,
n
ustuni (
T
0
[2]
) va
I
satri (
K[2]
) kesishmasida
joylashgan
v
harfini
**
o‘rniga yozamiz. Jadvalni shu tarzda to‘ldirib, T
1
=
svycswimwlk kabi
shifrlangan matnni hosil qilamiz.
3-jadval
Ochiq matn
i
n
f
o
r
m
a
t
i
k a
Kalit
k
i
t
o b
k
i
t
o b k
Shifrlangan
matn
s v y c s
w
i
m
w l
k
4-jadval
Ixtiyoriy ochiq matnni istalgan
kalit so‘z
yordamida shifrlash uchun
4-jadvaldan foydalanish mumkin.
Yuqoridagi misolda berilgan
“Informatika” so‘zi uchun 2-jadvaldagi
moslikdan foydalanib tekshirib ko‘ring.
1) T
1
=
“svycswimwlk”
matnni och-
ish uchun 4-jadvaldan
k?
СИМВОЛ
va
КОДСИМВ
matnli
funksiyalaridan foyda-
laniladi;
2) matnning har bir harfi alohida katakchada saqlanishi kerak;
3) lotin alifbosidagi harflar ketma-ket keluvchi raqamlar bilan kodlanadi. Shuning uchun
alfavitdagi harfning tartib raqami o‘sha harf kodidan “a” harfining kodini ayirganga teng. Bu
kalit so‘zning harfiga mos keladigan siljishni hisoblab chiqadi. Kalit harflariga mos keladigan
siljish miqdori quyidagi formula bilan aniqlanadi:
=КОДСИМВ(B2)-КОДСИМВ("a")+1
4) 4-satrda shifrlangan matn hosil bo‘ladi. 5-satrdagi katakchalarda shifrlash formulalari
joylashtiriladi. B5 katakchaga quyidagi formula kiritiladi:
=СИМВОЛ(КОДСИМВ("a")+ОСТАТ(КОДСИМВ(B4)-КОДСИМВ("a")+B3;26))
I BOB.
MA’LUMOTLAR BAZASI VA MBBT HAQIDA TUSHUNCHA
293
5) СИМВОЛ (belgilar kodi)
funksiyasi
belgiga mos kod qiyma-
tini qaytaradi. ОСТАТ (
делимое;
делитель
) funksiyasi esa qoldiqli
bo‘lishning qiymatini qaytaradi.
Masalan, ОСТАТ(
5;2
)=1.
Lotin
alifbosida 26 ta harf bor. 26 ga
bo‘linish qoldiqlari 0 dan 25 gacha
bo‘lgan sonlardan iborat.
Bu sizga
lotin alifbosining “a” dan “z” gacha bo‘lgan kichik harflarga mos kodlari ichida qolish imkonini
beradi.
3-mashq.
Vijiner
shifridan foydalanib, “Ozodalik”
so‘zini “o‘yna”
kalit so‘zi orqali (modullar asosida)
lotin alifbosi yordamida shifrlang.
Yechim.
Matnni shifrlashda ingliz alifbosidan
foydalanamiz. Ochiq matn: T
0
=
Ozodalik; kalit:
K = o‘yna.
1)
2 ta jadval shakllantiriladi:
2)
T
0
va K
modullar “Lotin alifbosi” jadvali yordamida aniqlanadi, ya’ni harflarning tartib
raqami yozib chiqiladi. Yodingizda bo‘lsin, harflarni raqamlash 0 dan boshlanadi;
3)
modullar yig‘indisi M= T
0
+ K
Dostları ilə paylaş: