Цезар шифрлэл (Caesar cipher) гэдэг нь криптографийн хамгийн энгийн бөгөөд түүхэн чухал шифрлэлтийн аргуудын нэг юм. Үүнийг Julius Caesar анх ашиглаж байсан гэж үздэг. Энэ нь үсгүүдийг тодорхой тооны байрлалаар урагш (эсвэл хойш) шилжүүлж нууцлах арга юм.
Жишээ нь:
key = 19 үед дараах байдлаар шилжинэ:
- A->T
- B->U
- C-> V болно:
Цезар шифрийг дараах байдлаар(Encryption) илэрхийлдэг:
- x = үсгийн индекс (A=0, B=1, …)
- k = шилжилтийн тоо (key)
- mod 26 = англи цагаан толгойн 26 үсэг
Одоо бүгдээрээ “HELLO” гэдэг үгийг k=3 үед шифрлэж үзье:
- H=K
- E=H
- L=O
- L=O
- O=? юу байх вэ тооцоолоод үзээрэй.
Шифр тайлах (Decryption)
Математик илэрхийлэл нь доорх байдлаар дүрслэгдэнэ:
Шифрлэхдээ түлхүүрийн утгыг нэмж байсан бол тайлахдаа хасахад хангалттай гэсэн үг.
Python дээр хэрэгжүүлэх код

Сул тал:
- Цезар шифр нь маш амархан эвдэгддэг. Учир нь бидний үзэж байсан Brute Force Attack-аар тооцож үзэхэд зөвхөн 25 боломжит түлхүүр (shift) байна. Тиймээс бүх боломжийг тооцоход тийм ч хэцүү биш байх болно.
- Давтамжаар олох боломжтой. Англи хэлний үсгийн давтамж ашиглан тайлж болно. Жишээ: E хамгийн их давтамжтай.
ROT13 — тусгай хувилбар

Цезар шифрийн хамгийн алдартай хувилбар бол ROT13 (key= 13) юм. Учир нь шифрийг 2 удаа хэрэглэхэд буцаад эх текст гарна. Англи хэлний 26 үсгийн тэн хагас нь 13.
Зураг дээрх жишээнд:
- HELLO → URYYB
- URYYB → HELLO
Эртний Ромын үед, МЭӨ I зуунд Julius Caesar гэдэг жанжин Европын баруун хэсэгт орших Галлын нутгийг эзлэх томоохон аян дайныг удирдаж байлаа. Энэ дайн нь хожим Gallic Wars (МЭӨ 58–50) гэж нэрлэгдсэн бөгөөд Ромын түүхэнд хамгийн чухал байлдан дагууллын нэг болсон юм.
Дайны үед Цезар армиа хэд хэдэн хэсэгт хувааж, хол зайд байрлуулан удирддаг байсан учраас тэд хоорондоо байнга захидлаар холбоо барьдаг байв. Гэвч нэг том асуудал байсан нь—тэр захидлуудыг дайсны тал барьж авах бүрэн боломжтой. Хэрвээ захидал энгийнээр бичигдсэн байвал Цезарын төлөвлөгөө шууд илчлэгдэх аюултай байлаа.
Ийм нөхцөлд Цезар маш энгийн боловч тухайн үедээ ухаалаг шийдэл гаргасан нь үсгүүдийг тодорхой тоогоор шилжүүлж бичих арга байв. Жишээлбэл, тэр ихэвчлэн үсэг бүрийг 3 байрлалаар урагшлуулдаг байсан: A-г D, B-г E болгож өөрчилнө. Ингэснээр захидлыг уншсан хүн үсгүүдийг мэдэхгүй бол утгыг нь ойлгож чадахгүй болно. Энэ аргыг бид өнөөдөр “Цезар шифр” гэж нэрлэдэг.
Энэ тухай мэдээллийг Ромын түүхч Suetonius хожим бичиж үлдээсэн байдаг. Тэрээр Цезар нууц захидалдаа ийм шифр хэрэглэдэг байсан гэж тэмдэглэсэн нь энэ аргын бодит хэрэглээ байсан гэдгийг баталдаг.
Өнөөдрийн бидний нүдээр бол энэ шифр маш амархан эвдэрдэг. Гэхдээ тэр үед хүмүүсийн ихэнх нь уншиж бичиж чаддаггүй, криптографийн талаар ойлголт бараг байгаагүй учраас энэ нь маш үр дүнтэй хамгаалалт болж чадсан юм. Энгийн хэрнээ хангалттай нууцлал үүсгэж, дайсныг төөрөгдүүлэхэд хангалттай байжээ.
Цезарын дараа энэ санаа алга болоогүй, харин улам хөгжсөн. Дундад зууны үед хаад, элч нар нууц захидалдаа янз бүрийн шифр ашиглаж эхэлсэн бөгөөд аажмаар илүү нарийн, төвөгтэй аргууд гарч ирсэн. Ингэж явсаар криптограф гэдэг салбар үүсэж, өнөөдрийн бидний ашиглаж буй нууцлалын технологиудын эх суурь тавигдсан гэж хэлж болно.
Тэгэхээр Цезар шифр гэдэг нь зүгээр нэг энгийн үсэг шилжүүлэх арга биш, харин дайны хүнд нөхцөлд мэдээллээ хамгаалах хэрэгцээнээс үүссэн, улмаар бүхэл бүтэн криптографийн шинжлэх ухааны эхлэл болсон түүхэн шийдэл юм.

