Гэж юу вэ?
Steganography (Стегнограф) гэдэг нь мэдээллийг далдлах буюу нууцлах шинжлэх ухаан юм. Андуурагдаж магадгүй тул: Сryptography (криптограф) буюу мэдээллийг шифрлэх нь мэдээллийг олж чадсан ч ойлгохгүй байдлаар өөрчилдөг бол стегнографын арга нь мэдээллийг нүдэнд үл харагдах байдлаар өөр мэдээлэлд шингээж нуух зарчимтай. Өөрөөр хэлбэл гаднаасаа энгийн текст, зураг, дуу, видео зэрэг мэт боловч угтаа нууц мэдээлэл агуулж, хэн ч мэдэхгүй байдлаар дамжуулж байдаг эд.
Стегнограф-н нэгэн төрөл болох бичвэр мэдээлэлд мэдээлэл нууцлах аргаар дамжуулан Стегнограф гэж юу болохыг тайлбарлая. Дараах хүснэгтэн дэх 2 бичвэрийг хүн нүдээрээ хараад хэзээ ч нууц мэдээллийг олох боломжгүй.
Энгийн текст | Стегнографтай текст |
---|---|
Сайн байна уу? Энэ бол жирийн текст. | Сайн байна уу? Энэ бол жирийн текст. |
Бичвэр стегнографийн аргууд
Бичвэр стегнограф (Text Steganography) нь нүдэнд харагдахгүй нууц мэдээллийг текстийн бүтэц, тэмдэгтүүд, формат, эсвэл Unicode-ийн тусгай тэмдэгтүүд ашиглан нуух арга юм. Энэ нь хүн уншихад энгийн текст мэт харагддаг боловч дотор нь нууц мэдээлэл агуулсан байдаг. Хамгийн анзаарагдахгүй арга нь:
Zero-width тэмдэгтүүдийг ашиглах (Zero-width Steganography)
Энэ арга нь Unicode-ийн тусгай тэмдэгтүүдийг ашиглан нууц мэдээллийг нуух арга юм. Эдгээр тэмдэгтүүд нь харагддаггүй боловч текстэн дотор хадгалагддаг.
Ашиглагддаг Zero-width тэмдэгтүүд:
\u200B
(Zero-width space, ZWSP)\u200C
(Zero-width non-joiner, ZWNJ)\u200D
(Zero-width joiner, ZWJ)\u2060
(Word joiner, WJ)
Нэрний учир
Zero-Width буюу Тэг-Өргөн бүхий тэмдэгтүүд гэсэн үг. Энийг бичвэр мэдээлэлд оруулснаараа бичвэрийг өргөн нүдэнд анзаарагдахаар өөрчлөгдөхгүй ч мэдээлэл шингээх боломжтой.
Дараалал
- Нууц мэдээллийг бинар код болгон хөрвүүлэх (0,1).
\u200B
= 0,\u200C
= 1 гэж кодлох.- Нууц мэдээллийг текстийн дотор хольж нуух.
Жишээ
Дээрх хүснэгтэнд ашигласан стегнографд энэ аргыг ашигласан гэсэн үг. Ямар үг байгааг шалгаад үзээрэй. Энд \u200B
=> 0, \u200C
=> 1 гэж үзнэ. Өмнөх нийтлэл дээр ASCII код гэдгийг үзсэн. Тэрхүү аргаараа \u200B
\u200C
\u200B
\u200B
\u200B
\u200B
\u200B
\u200C
=> 0 1 0 0 0 0 0 1 буюу A үсэг.
Бусад арга нь мэдэгдэхүйц ч гэсэн сонирхолтой. Эхлээд:
Зайн морз
“Энэхүү арга нь бичвэрийн үг хоорондын зайнд илүү ␣ оруулна. 1 зайг цэг, 2 зайг зураас гэж ойлгон морз кодоор бэлтгэсэн мэдээллийг нууцлах боломжтой юм.” Анзаарвал би эхний өгүүлбэрт энэхүүү аргыг ашиглан нэг Англи үг нуусан байгаа. Ингэхдээ цэг зураасаас гадна эхний үсэг дууссаныг илтгэх 3 зай авсан. Тайлах гээд оролдоод үзээрэй.
Нуух арга:
- Нууц мэдээллийг бинар код болгон хөрвүүлэх.
0
→ нэг зай,1
→ хоёр зай гэж кодлох.
Character Replacement (Тэмдэгт орлуулах арга)
"Энэ aргa нь нэлээн хязгaaрлaгдмaл мэт боловч aшиглaж чaдвaл нууцлaл сaйтaй."
Би эхний өгүүлбэрт яг үг нуугаагүй ч өөрөөр бичсэн. Англи хэлний A үсэг болон Монгол хэлний А үсэг хоёрыг би хэлээ солин бичиж байгаа ч хүнд нэг л мэт харагдана. Харин цаанаа Латин Крилл адилхан харагддаг ч UniCode нь өөр байдаг. Иймд ижил харагдах боломжтой тэмдэгтүүдийг ашиглан Морз, ASCII гэх мэт боломжтой аргатай хослуулан хэрэглэн мэдээллээ нууцлан дамжуулах боломжтой.
Мэдээж өөр олон төрлийн бичвэр мэдээллийн байдаг. Энэхүү нийтлэл дээр юу болохыг нь тайлбарлах үүднээс жишээ болгон тайлбарлалаа. Миний нууцалсан мэдээллүүдийг тайлах гээд үзээрэй. Амжилт.