HILL SHIFRI

Matritsa shifrlash • Chiziqli algebra

Hill Shifri nima?

Hill shifri - bu 1929-yilda Lester S. Hill tomonidan ixtiro qilingan va chiziqli algebra asosida ishlaydigan polialfabetik shifrlash usuli. U bir vaqtning o'zida bir nechta harflarni shifrlaydi.

Asosiy tamoyil

Hill shifrida harflar bloklarga ajratiladi va har bir blok matritsa ko'paytması orqali shifrlanadi:

Shifrlash: C = K × P (mod 26)
Deshifrlash: P = K⁻¹ × C (mod 26)

Bu yerda: K - kalit matritsa, P - ochiq matn vektori, C - shifr matn vektori

Kalit Talablari

Matritsa o'lchami

Kalit matritsa kvadrat bo'lishi kerak (2x2, 3x3, ...). Eng ko'p ishlatiladigan o'lcham 2x2 va 3x3.

Determinant

Kalit matritsaning determinanti 26 ga nisbatan tub son bo'lishi kerak:

gcd(det(K), 26) = 1

Teskari matritsa

Deshifrlash uchun kalit matritsaning modul 26 bo'yicha teskari matritsasi mavjud bo'lishi kerak.

2x2 Matritsa Misoli

Kalit matritsa: K = [3 3; 2 5]

Matn: "HI" → H=7, I=8

[3 3] [7] [3×7 + 3×8] [45] [19] T [2 5] [8] = [2×7 + 5×8] = [54] = [2] = C

Shunday qilib: "HI" → "TC"

Xavfsizlik

Kuchli tomonlari

Hill shifri frekvens tahliliga chidamli, chunki u bir vaqtning o'zida bir nechta harflarni shifrlaydi.

Kalit maydoni katta - 2x2 matritsa uchun 456,976 ta mumkin bo'lgan kalit.

Zaif tomonlari

Tanlangan ochiq matn hujumi (known-plaintext attack) orqali osongina buziladi.

Kalit matritsani topish uchun n×n juft ochiq/shifr matn kerak.

Teskari Matritsa Hisoblash

2x2 matritsa uchun teskari matritsa:

K⁻¹ = (1/det(K)) × [d -b; -c a] (mod 26)

Misol: K = [3 3; 2 5], det(K) = 3×5 - 3×2 = 9

det(K)⁻¹ mod 26 = 9⁻¹ mod 26 = 3 (chunki 9×3=27≡1 mod 26)

K⁻¹ = 3 × [5 -3; -2 3] = [15 -9; -6 9] ≡ [15 17; 20 9] (mod 26)

Hill Shifri - Matritsa Ko'paytmasi

2x2 Matritsa Misoli

Sozlamalar

Kalit Matritsasi

Hill shifrida kalit sifatida matritsa ishlatiladi. Biz 2x2 matritsadan foydalanamiz:

3
3
2
5
Kalit matritsa: K = [3 3; 2 5]
Determinant: det(K) = 3×5 - 3×2 = 9
gcd(9, 26) = 1 → Teskari matritsa mavjud
Matnni Raqamlarga Aylantirish

Matn: HI

Har bir harf alifbodagi tartib raqamiga aylantiriladi (A=0, B=1, ..., Z=25):

H
I
7
8

Shunday qilib, matn vektori: P = [7; 8]

Matritsa Ko'paytmasi

Shifrlash formulasi: C = K × P (mod 26)

[3 3] [7] [3×7 + 3×8] [45] [2 5] [8] = [2×7 + 5×8] = [54]
3
3
2
5
×
7
8
=
45
54
Modul 26 Hisoblash

Har bir sonni 26 ga bo'lib qoldiqni olamiz:

45 mod 26 = 19 (45 ÷ 26 = 1 butun, qoldiq 19)
54 mod 26 = 2 (54 ÷ 26 = 2 butun, qoldiq 2)
45
54
19
2

Shifr vektori: C = [19; 2]

Raqamlarni Harflarga Aylantirish

Raqamlarni harflarga aylantiramiz (0=A, 1=B, ..., 25=Z):

19
2
T
C

Natija: HITC

O'zingiz sinab ko'ring

Kalit matritsaning determinanti 26 ga nisbatan tub son bo'lishi kerak.
Natija bu yerda ko'rsatiladi...

Hisoblash Jarayoni

Hisoblash tafsilotlari shu yerda ko'rsatiladi...

Kalit Matritsasi

3
3
2
5
Determinant: 9 | Teskari mavjud: Ha

Tezkor sinovlar