Гэж юу вэ?
Мэдээллийг шифрлэхдээ 1 үсгийг 1 тэмдэгтээр орлуулахыг нэг үсгийн орлуулган шифр гэж нэрлэж байгаа (Monoalphabetic Substitution cipher). Өмнө нь дурдаж байсан Цезарь шифр нь орлуулган шифр юм. А үсэг Г, Б үсэг Д болно гэх мэт “Нууц” гэсэн 4 үсэгтэй үг “Рццщ” 4 үсэгтэй шифрлэгдсэн үг болох жишээний.
Гэхдээ бүх юм ийм амархан биш ээ. Орлуулган шифрлэлтийн аргад Caesar Cipher, Monoalphabetic Cipher, Polyalphabetic Cipher, Playfair Cipher, Hill Cipher, One-time Pad гэх мэт аргууд ордгоос өнөөдөр тодруулсныг нь тайлбарлах болно. Цезарь шифр цагаан толгойн дарааллын дагуу наац цааш шилжүүлдэг бол энэхүү нэг үсгийн арга нь цагаан толгойн дарааллыг илүү замбараагүй мэт байрыг нь сольдог.
Түрүүн хэлсэнчлэн шифрлэх хүснэгтээ замбараагүй үүсгэдэг тул нэг үсгийн орлуулган шифрлэлтийн арга нь нууц үг таах халдлага буюу brute-force халдагаас хамгаалах дархлаа өндөр байдаг. Криптографид өгөгдлийн аюулгүй байдлыг хангах зорилгоор төрөл бүрийн нууцлалын арга технологи хэрэглэгддэг. Классик нууцлалын технологийг ерөнхийдөө хоёр бүлэгт ангилаж болно:
1. Орлуулагч (Substitution) Шифрийн Аргууд
- Цезарь Шифр
- Моноалфавитын Шифр
- Полялфабитын Шифр
- Плейфэр Шифр
- Хилл Шифр
- Нэг удаагийн пад (One-time Pad)
2. Элементар шилжүүлэлтийн (Transposition) Шифрийн Аргууд
Энэ бүлэгт дараах арга техникийг багтаадаг:
- Рейл Фенс (Rail Fence)
- Баганын ба баганын орлуулагч (Row Column Transposition)
Моноалфавитын Орлуулалтын Шифрийн Төрлүүд
1. Нэмэлт (Additive) Шифр
Энэ аргыг шилжүүлэг шифр гэж нэрлэдэг бөгөөд энгийн текстийг шифр текст рүү shift буюу шилжүүлэн хувиргадаг.
Математик Илэрхийлэл:
Нууцлах:C = (P + K) mod 26
энд P нь энгийн текстийн үсэг, K нь түлхүүр, C нь шифр юм.
Дахин нууцлах:P = (C - K) mod 26
Жишээ:
Оролт: P = GEEKS
, Түлхүүр = 4
Гаралт: C = KIIOW
2. Цезарь Шифр
Энэ нь нэмэлт шифрийн нэг төрөл бөгөөд энд түлхүүрийн утга үргэлж ‘3’ байна.
Математик Илэрхийлэл:
Нууцлах:C = (P + K) mod 26
Дахин нууцлах:P = (C - K) mod 26
Жишээ:
Оролт: P = GEEKS
Гаралт: C = JHHNV
3. Хуваарилалтын (Multiplicative) Шифр
Энэ арга нь үсгүүдийг үржих түлхүүр ашиглан өөрчилдөг.
Математик Илэрхийлэл:
Нууцлах:C = (P * K) mod 26
энд P нь энгийн текстийн үсэг, K нь түлхүүр, C нь шифр юм.
Жишээ:
Оролт: P = VMH
, Түлхүүр = 3
Гаралт: C = HEL
4. Афин (Affine) Шифр
Энэ аргын үед математик функцыг ашиглан энгийн текстийг шифр текст рүү хөрвүүлдэг.
Математик Илэрхийлэл:
Нууцлах:C = (P * K1 + K2) mod 26
энд P нь энгийн текстийн үсэг, K1 нь хуваарилалтын түлхүүр, K2 нь нэмэлтийн түлхүүр, C нь шифр юм.
Дахин нууцлах:P = ((C - K2) / K1) mod 26
Жишээ:
Оролт: P = ARM
, Түлхүүр1 = 3
, Түлхүүр2 = 5
Гаралт: C = HEL
Хэрхэн ажилладаг вэ?
Орлуулах хүснэгт үүсгэх
Эхний алхам бол үсгүүдийг шинэ үсгээр орлуулах хүснэгт бүтээх явдал юм. Жишээ болгож доорх хүснэгтийг авч үзье:
Үндсэн үсэг | Орлуулсан үсэг |
A | M |
B | N |
C | O |
D | P |
E | Q |
F | R |
… | … |
Y | K |
Z | L |
Жишээ текстийг шифрлэх
Эх текст:
HELLO WORLD
Шифрлэх явц /Дээрх хүснэгтээсээ олох/:
- H → T
- E → Q
- L → X
- L → X
- O → A
- (SPACE) → (SPACE)
- W → I
- O → A
- R → D
- L → X
- D → P
Шифрлэгдсэн текст:
TQXXA IADXP
Бидний бүтээсэн хүснэгтээр “H” гэсэн үсэгийг “T” гэж солилцсон. Бүх үсгүүд ижил зарчмаар солигдсон тул “HELLO WORLD” бол “TQXXA IADXP” болж хувирна. Monoalphabetic Substitution Cipher нь маш энгийн боловч, шифрийг тайлбарлахдаа зөвхөн хүснэгтээр үндэслэсэн байдаг. Хэрэв хүсвэл шинэ хүснэгт бүтээж, шифрийн үр дүнг өөрчилж болно.
Моноалфавитын Шифрийн Давуу Талууд
- Цезарь шифртэй харьцуулахад илүү өндөр аюулгүй байдалтай.
- Өгөгдлийг нууцлах, дахин энгийн текст руу хөрвүүлэх боломжийг олгодог.
- Энгийн текстийн үсгийн давтамжийг хадгалдаг тул хэрэв шаардлагатай бол криптоанализ хийхэд ашиглаж болно.
Моноалфавитын Шифрийн Сул Талууд
- Англи үсгийн давтамжийг ашиглан таамаглах боломжтой (guessing attacks).
- Энгийн текстийн байгаль шинж (эсвэл хэл) мэдэгдсэн тул аюулгүй байдал багатай.
- Полялфабитын шифрийг бодвол харьцангуй бага аюулгүй байдалтай.