Криптограф
Криптограф гэдэг нь мэдээллийн аюулгүй байдлыг хангах үүднээс мэдээллийг нууцлах, мэдээллийн бүрэн бүтэн байдал, түүний үнэн зөв өөрчлөлтгүй байдлыг хангах, зөвшөөрөлгүй хэрэглээнээс сэргийлэх зорилгоор мэдээллийг кодлох буюу хувиргах кодлолын арга зарчмыг судалдаг нэгэн төрлийн шинжлэх ухааны салбар юм. Криптограф нь нууцлалын өндөр зэрэглэлтэй санхүүгийн болон хувийн гэх мэт өгөгдлүүдийг хадгалахад өргөн хэрэглэгддэг.
Криптограф нь өөртөө дараах үндсэн дөрвөн хүчин зүйлийг хамруулдаг. Үүнд:
· Confidentiality буюу мэдээллийг нууцлах
· Integrity буюу мэдээллийн бүрэн бүтэн байдлыг хангах
· Мэдээллийн тасралтгүй байдлыг хангах
· Authentication буюу мэдээллийг баталгаажуулах
Түлхүүр ойлголтууд:
Plaintext буюу эх текст – Энэ нь нууцлах гэж байгаа үндсэн мэдээлэл
Ciphertext – Энэ нь кодлогдсон буюу нууцлагдсан мэдээлэл
Encipher (encrypt) - Криптографд мэдээллийн нууцлалыг хангахын тулд түүнийг энкриптлэх(encrypt) буюу хөрвүүлэх гэсэн үндсэн ойлголт байдаг. Энэ нь мэдээллийн эх буюу энгийн текстийг энкриптлэсэн текстрүү хөрвүүлэх процесс юм.
Decipher (decrypt) - Энкриптлсэн текстийг буцааж эх текстрүү нь хөрвүүлэх процессийг декриптлэх гэнэ.
Ciper буюу алгоритм – Криптографд кодлох процессийг явуулахад тодорхой кодлолын алгоритмуудыг хэрэглэдэг.
Кеу буюу түлхүүр – Энкриптлэх болон декриптлэхэд ашиглагддаг түлхүүр. Кодлолын алгоритмууд нь тусгай түлхүүрээр удирдагддаг бөгөөд энэхүү нууц түлхүүр нь тухайн мэдээллийг хөрвүүлэхэд хамгийн чухал үүрэгтэй.
Криптоанализ – Энэ нь түлхүүрийг нь мэдэлгүйгээр кодлосон мэдээллээс эх мэдээллийг нь олж авах арга замын судалгаа юм. Өөрөөр үүнийг attack гэж хэлж болно.
Криптологи – Кодлол зүйн ухаан. Энд Криптограф болон Криптоанализыг хоёуланг нь судалдаг.
Доорх зурагт криптографын үндсэн процессыг үзүүллээ.
Криптоанализ
Үүнийг явуулах хоёр арга байдаг.
· Cryptoanalytic attack – алгоритмыг өөрийнх нь шинж чанар дээр тулгуурлаад эх мэдээллийг гаргаж авах
o Ciphertext only – алгоритм болон шифрлэсэн текстээс эх мэдээллийш гаргах
o Known plaintext – эх текстийн хэсэг болон шифрлэсэн текстийн тусламжтай
o Chosen plaintext – эх текстийг сонгож аваад
o Chosen ciphertext – шифрлэсэн текстийн тодорхой хэсгийг ашиглаад
o Chosen text – эх болон кодлосон текстийн хэсгийг ашиглаад
· Brute force attack – бүх боломжит түлхүүрийг туршиж үзэх, энэ нь хамгийн суурь аттак бөгөөд түлхүүрийн хэмжээнээс шууд хамааралтай байдаг.
Криптографийн системийг дотор нь хэд хэдэн зүйлээр ялгаж үздэг:
Кодлох процессыг явуулж байгаа төрлөөр нь
o Substitution буюу орлуулах
o Transposition буюу шилжүүлэх
o Product буюу хосолсон
Хэрэглэгдэж байгаа түлхүүрийн тоогоор нь
o Private key буюу нэг түлхүүр ашигладаг
o Public key буюу хос түлхүүр ашигладаг
Эх текстийг хэрхэн боловсруулж байгаа аргаар нь
o Block – мэдээллийг блокуудад хуваасны дараа боловсруулдаг
o Stream – мэдээллийг бит битээр нь эсвэл байт байтаар нь боловсруулдаг
Тэгш хэмт буюу Symmetric кодлолын арга (private key)
Энэ кодлолын алгоритмд кодлох болон кодыг тайлах процесст нэг ижил түлхүүрийг ашигладаг. Өгөгдлийг энкриптлэх ба декриптлэх хоёр талууд ашиглах шифлэлтийн түлхүүрээ урьдчилсан тохирдог. Симметрик түлхүүрийн шифрлэлт нь ассиметрик түлхүүрийн шифрлэлтээс хурдан боловч түлхүүрийг солилцох шаардлагатай байдаг учир эмзэг байдлын түвшин өндөр байна.
Тэгш хэмт кодлолын алгоритмд аюулгүй байдлын хоёр шаардлага байдаг:
- Найдвартай кодлолын алгоритм хэрэглэх
- Түлхүүрийн нууцллалыг маш сайн хангах
Тэгш хэмт кодлолын арга:
· Классик – өмнөх үеийн кодлолын алгоритм
Орлуулах (substitution) – энэ нь эх текстийн үсгүүдийг өөр үсэг, тоо, тэмдэгтээр орлуулан солидог арга юм.
Шилжүүлэх (transposition) – энэ аргад тухайн текстийн үсгүүдийг хооронд нь байрыг нь сольдог алгоритм бөгөөд энэ үед тухайн үсгийн давтамжийн тархалт хэвээр хадгалагддаг.
§ Rail fence
§ Мөрөөр шилжүүлэх арга гэх мэт
Хосолсон (product) – энэ нь орлуулах болон шилжүүлэх алгоритмуудыг дарааллан хэрэглэх замаар кодлодог. Ингэснээр давтамжийн тархалтыг багасгадаг бөгөөд эндээс орчин үеийн кодлолын алгоритмууд гарсан.
§ Rotor machine
§ Steganography
· Data encryption – орчин үеийн кодлолын алгоритм
Block cipher algorithm – багцын шифрийн алгоритм нь өгөгдлийг багц багцаар нь кодлодог бөгөөд мэдээллийн аюулгүй байдал болон нууцлалыг хангахад өргөн хэрэглэгддэг. Энэ нь өгөгдлийг 64 битээр кодлодог. Багцын шифрийн алгоритм нь Feisel –ийн cipher бүтэц дээр үндэслэн гарч ирсэн. Энэ нь тухайн бүтцээрээ өгөгдлийг кодлоод түүгээрээ тайлах боломжтой систем байсан. Feisel-н бүтцийн суурь чанар нь product шифр юм. Мөн Feisel-н шифр нь Claude Shannon –ы санаан дээр үндэслэсэн.
Энэ хүн нь кодлолын техникт ашиглагддаг 2 гол аргыг (орлуулах болон шилжүүлэх) ашигласан сүлжээг ашиглах замаар кодлодог. (S&P network)
Энэ бүтцийг ашиглаад 2 ойлголт гаргасан:
1. Diffusion буюу сарниулах – энэ нь сүлжээгээр кодлогдсон мэдээлэл болон эх мэдээллийн хоорон дахь статистик хамаарлыг алга болгодог, өөрөөр хэлбэл давтамжийн тархалтыг алга болгодог
2. Confusion буюу будлиулах – энэ нь кодлосон мэдээлэл болон түлхүүр хоорондын хамаарлыг алга болгодог
Эдгээр санааг ашиглан Feisel өөрийн шифрийн бүтцийг санал болгосон. Feisel нь эх текстийг зүүн баруун хоёр хэсэгт хуваагаад n үеэр кодлодог. Үе болгонд ядгаатай дэд түлхүүрийг ашигладаг.
Data encryption standard (DES) – энэ нь Feisel-н шифр дээр тулгуурлан гарч ирсэн стандарт. 1977 онд стандарт болсон. Өгөгдлөө 64 битээр, түлхүүрээ 56 битээр сонгож авсан. 64 бит байсныг 56 байхаар сонгосон нь түлхүүрийг нэг чипэд багтдаг байхаар сонгосон. 16 үетэй бөгөөд мөн үед бүртээ ялгаатай түлхүүртэй. Баруун зүүн 2 хэсэгтэй бөгөөд эхлэхдээ битүүдээ сэлгэлт хийдэг, дууссаны дараа мөн хоёр талыг хооронд нь сэлгэлт хийдэг.
Triple DES – энэ нь DES –г гурван удаа гурван өөр түлхүүртэйгээр гүйцэтгэдэг алгоритм.
AES (Advanced Encryption Standard ) – Triple DES-н дараагийн стандарт
Тэгш хэмт бус буюу Asymmetric кодлолын арга (public key)
Хос түлхүүрт кодлолын алгоритм нь тэгш хэмт кодлолын алгоритмыг арилган гарч ирсэн. Тэгш хэмт кодлолын алгоритмд хэрэглэгчид хоорондоо түлхүүрээ солилцдог дутагдалтай талай бөгөөд тухайн мэдээлэл нь баталгаатай эх сурвалжаас ирсэн гэсэн мэдээллийг баталгааг хангах боломжгүй байдаг. Хос түлхүүрт кодлолын алгоритмд хүлээн авагч болон дамжуулагч нь ялгаатай түлхүүрийг хэрэглэдэг учраас илүү найдвартай болсон.
Нийтийн түлхүүрт алгоритмд баталгааг хангахдаа хувийн түлхүүрээр кодлог дамжуулж нийтийн түлхүүрээр тайлж болдог.
Түлхүүр:
Private key(хувийн түлхүүр): тухайн хэрэглэгч л мэдэх түлхүүр
Public key(нийтийн түлхүүр): хүн болгонд тараадаг түлхүүр
Тэгш хэмт бус кодлолын алгоритмыг гурван категорт хэрэглэдэг:
- Мэдээллийн нууцлалыг хангахад
- Тоон гарын үсгийг хэрэгжүүлэх буюу мэдээллийн баталгааг хангах
- Түлхүүр солилцох – тэгш хэмт алгоримтын үед түлхүүрээ аюулгүй дамжуулахад ашигладаг.
Баталгаа болон нууцлалыг зэрэг хангаж болох бөгөөд ингэхдээ эхлээд хувийн түлхүүрээр кодлож дараа нь хүлээн авагчийн нийтийн түлхүүрээр кодлож дамжуулна. Дутагдалтай тал нь тооцоолол хийхэд удаан байдаг.
· RSA – Rivest Shamir & Adleman
Энэ нь томоохон хэмжээний бүхэл тоонуудын тооцоолол дээр үндэслэн гаргаж авсан алгоритм юм. Түлхүүрийн хэмжээ нь 1000bit-ээс илүү байдаг.
Энэ алгоритм нь том хэмжээний тоонуул дээр тооцоолол хийдэг учраас Brute Force-н attack-д тэсвэртэй байдаг.
· Diffie – Hellman
Нууц түлхүүрийг солилцоход ашиглагддаг public key алгоритмуудын нэг.
· HASH – нэг чиглэлтэй функц. Аргументдаа янз бүрийн урттай мессеж авч болдог. Hash-н хэмжээ нь тогтмол байна.
· MAC (Message Authentication Code)
sain bichjee, amjilt!!! keep it!!!
ReplyDeletebayarlalaa
ReplyDeleteТаны бичсэн мэдээлэл маш их тус боллоо баярллаа
ReplyDeletethanks.
ReplyDelete