فائل سسٽم اسٽيگنگرافي

هي حبر.

مان توهان کي هڪ ننڍڙو منصوبو پيش ڪرڻ چاهيان ٿو اسٽيگنگرافي، پڙهائي مان منهنجي فارغ وقت ۾ ٺاهيو.

مون فائل سسٽم ۾ معلومات جي پوشیدہ اسٽوريج تي هڪ پروجيڪٽ ٺاهيو (وڌيڪ ايف ايس).
اهو تعليمي مقصدن لاءِ ڳجهي معلومات چوري ڪرڻ لاءِ استعمال ٿي سگهي ٿو.

فائل سسٽم اسٽيگنگرافي

ھڪڙو پراڻو لينڪس ايف ايس ھڪڙو پروٽوٽائپ طور چونڊيو ويو ext2.

عمل

غور ويچار

جيڪڏهن اهو سٺو آهي ته ext2 معيار کي ”انجهائڻ“ ، پوءِ توهان ان کي تبديل ڪري سگهو ٿا FS ۾ اتي هڪ نام نهاد آهي سپر بلاڪ، جيڪو سسٽم بابت بنيادي معلومات مهيا ڪري ٿو. مون کي ڳولڻ کان پوء Bitmap بلاڪ ڪريو и انوڊ ٽيبل. تقريبن فوري طور تي، في الحال خالي ايف ايس بلاڪ ۾ معلومات کي رڪارڊ ڪرڻ جو خيال پيدا ٿيو. هاڻي اهو هڪ پروگرامر هٿياربند کان تحفظ جي باري ۾ سوچڻ جي قابل هو هيڪس ايڊيٽر.

جيڪڏهن توهان ڳجهي معلومات کي بغير انڪرپشن جي ذخيرو ڪريو ٿا، ته پوءِ، FS ۾ ان جي ٻرندڙ هجڻ جي باوجود، اهو اڃا به تمام گهڻو نمايان هوندو، خاص طور تي جيڪڏهن پروگرامر ڄاڻي ٿو ته ڇا ڳولڻو آهي. تنهن ڪري، اهو فيصلو ڪيو ويو ته ماخذ فائل جي سڀني بلاڪ کي انڪوڊ ڪرڻ. مون بلاڪ سيفر چونڊيو AESپر جيئن توهان سمجھو ٿا، اهو اهم ناهي.

ضروري بلاڪ کي ٻين سڀني کان الڳ ڪرڻ لاء جڏهن پڙهڻ، اهو فيصلو ڪيو ويو ته بلاڪ جي شروعات ۾ هر بلاڪ تي هڪ خاص مارڪر شامل ڪيو وڃي. ھي ٽوڪن انڪريپٽ ڪيو ويو آھي ان جي بنياد تي سورس فائل ۾ بلاڪ نمبر. هن چال کي فوري طور تي ممڪن نه رڳو ضروري بلاڪ ڳولڻ لاء، پر پڻ انهن جي صحيح ترتيب کي سڃاڻي.

سسٽم جي عام آپريٽنگ اصول.

فائل سسٽم اسٽيگنگرافي

رڪارڊنگ الگورتھم

پوائنٽون

  • پهرين ڪجهه معلومات کي سرچ فائل سسٽم ڏانهن لکو؛
  • هن معلومات کي حذف ڪريو (ضروري نه آهي ته سڀ)؛
  • لڪائڻ واري فائل کي برابر ڊيگهه جي بلاڪن ۾ ورهايو ويو آهي، مارڪر شامل ڪندي؛
  • انهن بلاڪن کي انڪرپٽ ڪريو؛
  • انڪريپ ٿيل بلاڪ کي خالي FS بلاڪ ۾ رکو.

بلاڪ ڊاگرام جي عاشق لاء

هيٺ ڏنل رڪارڊنگ الگورتھم جو هڪ بلاڪ ڊراگرام آهي. الورورٿم ان پٽ طور چار فائلون وصول ڪري ٿو:
- تبديل ٿيندڙ فائل سسٽم جي تصوير؛
- فائل اسٽيگنگرافي جي تابع؛
AES لاءِ انڪرپشن ڪيئي سان فائل؛
- مارڪر سان فائل.
فائل سسٽم اسٽيگنگرافي

اهو فوري طور تي نوٽ ڪرڻ جي قابل آهي ته هي الگورتھم هڪ خرابي آهي: FS ڏانهن فائل لکڻ کان پوء، نه ٿي سگهي FS ۾ ڪا به نئين شيءِ لکو، ڇو ته ڪا به نئين معلومات انهن بلاڪن ۾ ختم ٿي سگهي ٿي جيڪي اسان پنهنجي زپ ٿيل فائل ۾ مختص ڪيا آهن، جيتوڻيڪ اهو ”جلدي اسان جي ٽريڪ کي ڍڪڻ“ جو امڪان پڻ کولي ٿو.

پر اهو بلڪل واضح آهي ته اهو ڪيئن طئي ٿي سگهي ٿو: اهو ضروري آهي ته FS ۾ بلاڪ لکڻ لاء الگورتھم کي ٻيهر لکڻو پوندو. اهو هڪ سمجھڻ وارو، پر ناقابل اعتبار حد تائين وقت سازي وارو ڪم آهي.
Consept جي ثبوت لاءِ مون ان تي عمل نه ڪيو.

نتيجو ٿيندو FS ۾ ھيٺيون تبديليون، ھي اھو آھي جيڪو FS اسٽيگنوگرافي کان اڳ وانگر نظر ايندو (آڊيو فائل اڳ ۾ رڪارڊ ٿيل ھو).
فائل سسٽم اسٽيگنگرافي
۽ اھو اھو آھي جيڪو ايف ايس وانگر ڏسڻ ۾ اچي ٿو اڳ ۾ ئي زپ ٿيل معلومات سان.
فائل سسٽم اسٽيگنگرافي

پڙهڻ جي الگورتھم

پوائنٽون

  • اهم جي ڄاڻ سان ۽ نشانن جي ٺاھڻ جي طريقي سان، پھريون N مارڪرز ٺاھيو، ضمانت سان ته N کي ضرب ڪيو ويو فائل سسٽم بلاڪ جي ڊگھائي زپ فائل جي ڊگھائي کان وڌيڪ آھي؛
  • نشانن سان شروع ٿيندڙ FS ۾ بلاڪ جي ڳولا ڪريو؛
  • حاصل ڪيل بلاڪ کي سمجھايو ۽ نشانن کي الڳ ڪريو؛
  • صحيح ترتيب ۾ نتيجو بلاڪ گڏ ڪريو ۽ ذريعو فائل حاصل ڪريو.

بلاڪ ڊاگرام جي عاشق لاء

هيٺ ڏنل رڪارڊنگ الگورتھم جو هڪ بلاڪ ڊراگرام آهي. الورورٿم ان پٽ طور ٽي فائلون وصول ڪري ٿو:
- فائيل سسٽم تصوير؛
AES لاءِ انڪرپشن ڪيئي سان فائل؛
- مارڪر سان فائل.
فائل سسٽم اسٽيگنگرافي

پروگرام هلڻ کان پوءِ، پڙهڻ واري فائل ظاهر ٿئي ٿي، جيڪا اسٽيگنوگرافڊ فائل سسٽم مان ڪڍيل فائل هوندي؛ جيڪڏهن ڪي يا مارڪر غلط بيان ڪيو ويو ته پوءِ پڙهڻ واري فائل خالي ٿي ويندي.
(خوبصورتي جي شوقينن لاءِ، توهان نه رڳو فائل کي، پر هڪ ”هيڊر“ کي گڏ ڪري سگهو ٿا جنهن ۾ ميٽا-انفارميشن: فائل جو نالو، حق، آخري تبديل ٿيل وقت وغيره.)

شروعاتي خودڪار

سهولت لاءِ، لينڪس تي لانچ کي خودڪار ڪرڻ لاءِ بش اسڪرپٽ لکيا ويا (آزموايل Ubuntu 16.04.3 LTS).
اچو ته ڏسو قدم قدم جي لانچ تي.
رڪارڊ

  1. sudo Copy_Flash.sh “DEVICE” - حاصل ڪريو FS تصوير DEVICE مان (فليش)؛
  2. ./Write.sh “FILE” “KEY” “MARKER” – هڪ ورچوئل ماحول ٺاهيو، ضروري لائبريريون ڊائون لوڊ ڪريو ۽ لکڻ جي اسڪرپٽ کي هلائڻ؛
  3. sudo ./Write_Flash.sh “DEVICE” – تبديل ٿيل FS کي ٻيهر DEVICE ۾ لکو.

پڙهڻ:

  1. sudo Copy_Flash.sh “DEVICE” - حاصل ڪريو FS تصوير DEVICE مان (فليش)؛
  2. ./Read.sh “KEY” 'MARKER” - هڪ ورچوئل ماحول ٺاهيو، ضروري لائبرريون ڊائون لوڊ ڪريو ۽ پڙهڻ لاءِ اسڪيپ کي هلايو؛
  3. موجوده ڊاريڪٽري ۾، پڙهيل فائل کوليو - هي زپ ٿيل معلومات آهي.

ٿڪل

هن اسٽيگنوگرافي جي طريقي کي شايد سڌارڻ جي ضرورت آهي، اضافي ٽيسٽنگ ۽ وڌيڪ مشهور فائل سسٽم ڏانهن توسيع، جهڙوڪ Fat32, اين ايف ايف ايس и ext4.
پر هن ڪم جو مقصد اهو هو ته اهو اصول ڏيکاريو وڃي، جنهن جي ذريعي اهو ممڪن آهي ته فائل سسٽم ۾ معلومات جي پوشيده اسٽوريج کي.
اهڙن الگورتھم جي مدد سان، توهان بي خوفي سان معلومات کي ذخيرو ڪري سگهو ٿا، ۽ جيڪڏهن، توهان کي ڪنجي ڄاڻو ٿا، اهو ممڪن آهي ته اهڙي سسٽم کي هيڪ ڪرڻ برٽ فورس سان نه (پر هڪ تمام ڊگهي الورورٿم جي ذريعي)، پوء ڪنجي کي ڄاڻڻ کان سواء، هي سسٽم مون کي بلڪل مستحڪم لڳي ٿو، جڏهن ته، اهو هڪ الڳ مضمون لاء هڪ سبب ٿي سگهي ٿو.

سڀ ڪوڊ Python ورجن 3.5.2 ۾ لاڳو ڪيو ويو آهي. ڪم جو مثال منهنجي يوٽيوب چينل تي پيش ڪيو ويو. پروجيڪٽ جو مڪمل ڪوڊ پوسٽ ڪيو ويو آهي GitHub.
(ها، ها، مان ڄاڻان ٿو ته پيداوار واري ورزن لاءِ توهان کي ڪجهه لکڻو پوندو ”تيز“، مثال طور C 😉)
هن عمل ۾، اسٽيگنگرافي لاءِ ان پٽ فائل جي سائيز 1000 kB کان وڌيڪ نه هجڻ گهرجي.

مان صارف جي مهرباني جو اظهار ڪرڻ چاهيان ٿو PavelMSTU مطالعي جي منصوبابندي ۾ قيمتي صلاح ۽ آرٽيڪل جي ڊيزائن تي سفارشون.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو