1. Орлуулагч (Substitution) Шифрийн Аргууд
- Нэг Үсгийн Шифр
- Олон Үсгийн Шифр
- Плэйфэйр Шифр
Хилл Шифр
Өнөөдрийн дугаараар Хилл Шифртэй танилцацгаая.
Орлуулалтын шифрийн төрөлд Полиграфик шифр-н арга гэж байдаг. Энэ нь бидний цуврал нийтлэлд “Хилл шифр” нэртэйгээр бичигдсэн байгаа. Учир нь энэ төрлийн шифрлэлтийн анхдагч нь 1929 онд Лестер Сандерс Хилл гэх эрхмийн бүтээсэн шифрлэлт юм.

Энэ дугаараас эхлээд сэдвүүд маань илүү төвөгтэй, математик ойлголт шаардлагатай болно. Гэхдээ бага багаар гүнзгийрэх тул орхигдуулалгүй уншиарай. Чи чадна аа!
Гэж юу вэ?
Бичвэрийг математикаар шифрлэх.
Энэ нь математикийн матриц ба модулын арифметик ашиглан текстийг шифрлэдэг онцлогтой. Математикийг үгээр тайлбарлахад ойлгоход төвөгтэй тул хэрхэн ажилладгийг нь жишээн дээр харуулъя. Мөн энэ нийтлэлийг ойлгохын тулд матриц(матрицаар үржүүлэх, урвуу матриц) модул(үлдэгдэлтэй хуваах) хоёрын талаар мэдлэгтэй байх шаардлагатай болохоор уншичхаад ороод ирээрэй.
Ажиллах зарчим
1-р алхам: Тоо руу хөрвүүлэх.
Үсгээр тоо бодохын тулд эхлээд үсгүүдийг тоо болгох хэрэгтэй. Энэ тохиолдолд цагаан толгойн хэд дэх үсэг нь вэ гэдгээр нь орлуулж ашиглана. Жишээ нь SECRET гэх үгийг авбал:
- S = 18
- E = 4
- C = 2
- R = 17
- E = 4
- T = 19
гэсэн тоонууд болж өөрчлөгдөнө. Тоолол 0-с эхлэх ёстойг санаж байгаа биз?
Дэд ангилал: Шифрлэх аргуудын төрөл
Шифрлэлтүүдийг “орлуулах, шилжүүлэх” гэх мэтчлэн ангилж байгаа ч дотор нь бас Digraph, Trigraph гэх ангилал ч байдаг. Ди нь 2, Три нь 3 гэх утгыг илэрхийлдэг. Хэрэв та Playfair-г санаж байгаа бол хос үсэгт шифрлэлтийн төрөл гэж тайлбарлаж байсан. Шифрлэхдээ заавал хос хосоор нь авч шифрлэх ёстой учраас яалтчгүй тэр нь ч зөв. Бас хэрхэн ашиглахаасаа хамаараал Нэг үсгийн, Олон үсгийн төрөлд ч хамаарах боломжтой. Инээдмийн кино адал явдалтай байх боломжтой шиг, нэг шифрлэлтийн арга олон төрөлд хамаарах боломжтой юм.
Хилл шифр нь ди болон три гээд аль ч аргаар хэрэглэж болдог арга.
2-р алхам: Түлхүүрээ бэлдэх
Дээрх үүсэгсэн тоогоо бид Математикийн матриц-р үржүүлж хувиргана. Иймд үржүүлэх матрицыг нь түлхүүр матриц гэж нэрлэж байгаа.
[1, 2]
[3, 4]
Энгийнээр нь ийм матриц гэе гэвч түлхүүр сонгоход хэд хэдэн шаардлага байгаа.
- Квадрат матриц байх( 2×2 || 3×3 )
- Детерминант нь 26(Цагаан толгойн үсэг)-тай харилцан анхны тоо байх. Өөрөөр бол урвуу матриц олддог байх.
Дээрх матрицийн детерминант нь 1*4 – 2*3 = -2. Энэ нь 24 болж харилцан анхны тоо биш болно. (24, 26) Энэ 2 тоо хоёулаа 2-т хуваагдана шүү дээ.
[5, 8]
[3, 7]
гэсэн матриц байлаа гэхэд 5*7 – 3*8 = 11 Энэ нь (11, 26) Энэ бол зөв жишээ. Энэний талаар дэлгэрэнгүйг Модулийн урвуу матриц нийтлэл дээр тайлбарласан байгаа.
3-р алхам: Үржүүлэх
2×2 матрицыг *x2 матрицаар л үржүүлэх боломжтой. Тиймээс энэ жишээн дээр Диграфын төрөл буюу хос хосоор нь шифрлэнэ гэсэн үг. SE, CR, ET. Одоо эхний хоёрыг нь үржүүлье.
[5, 8] * [18] = [5*18 + 8*4] = [90 + 32] = [122]
[3, 7] * [4] = [3*18 + 4*4] = [54 + 16] = [76]
Ингээд ямартай ч тоог нь өөрчлөөд авлаа.
4-р алхам: Модуль(Үлдэгдэлтэй хуваах)
Англи цагаан толгой 26 үсэгтэй учраач 26-д үлдэгдэлтэй хувааж тохирох үсгээр нь сольж бичнэ.
[122] mod 26 → 18(S)
[76] mod 26 → 24(X)
SE → SX
Хуваасан бүх хэсэг дээрээ ашиглавал SE CR ET → “SX OV ON”
Давуу тал
Өдийг хүртэл нийтлэлийг минь уншсан бол мэдээлэл нууцлах төвөгтэй байх тусмаа чанартай байдгийг анзаарч байгаа байх. SECRET гэх үгний хувьд эхний хосд байгаа E үсэг болон сүүлийн хосд байгаа E үсэг хоёр огт өөр тэмдэгтээр солигдон бичигдсэн байна. Нэг тэмдэгт нь хамт байх тэмдэгтээсээ хамааран өөрчлөгддөг тул нууцлал сайн болдог.
1930 оны үед анх хэрэглэгдэж байсан. Гэвч тухайн үед гараар шифрлэх боломжгүй байсан тул ихээхэн хугацаа зарцуулдаг байжээ. Орчин үед тооцоолуур ашиглан хурдан гүйцэтгэх боломжтой ч одоогийн алгоритмуудтай харьцуулахад нууцлал нь муу.