خفـيّات — إخفاء المعلومات داخل الصور وإرسالها بأمان

تفاصيل العمل

خفـيّات هو تطبيق موبايل يهدف إلى إخفاء البيانات داخل الصور باستخدام تقنية الإخفاء (Steganography).

تم تطويره بواسطة Flutter، ويسمح للمستخدمين بإدخال صورة داخل صورة أخرى بشكل غير مرئي، مما يوفر وسيلة آمنة لنقل وتخزين البيانات.

يعتمد التطبيق على خوارزمية LSB (Least Significant Bit). ورغم أن هذه الخوارزمية لوحدها ليست قوية بما يكفي، إلا أن خفـيّات يعززها بطبقة تشفير تقلل من هشاشة البيانات وتجعلها أكثر أمانًا.

في الإصدارات الأولى، كان التطبيق يدعم فقط الصور الرمادية. أما في الإصدارات الحديثة، فقد تم تطويره ليشمل الصور الملونة مع إضافة تقنيات الضغط والتشفير، مما جعله أداة عملية لكل من:

الاستخدام الأكاديمي والتعليمي لفهم مبادئ steganografi.

التخزين الأساسي الآمن للبيانات داخل الصور.

يوجد فيديو تعريفي عن التطبيق ولكن بحكم عملي في تركيا تم انشائه باللغة التركية وهي يشرح كيف للعميل عندما يذهب الى منطقه العدو يمكن ارسال البيانات في حين الشبكات تكون مراقبة من طرف العدو, فبدلا ان يرسل الصورة مباشرة ويتم التقاطه من قبل العدو يستخدم التطبيق هذا ويخفي صورة التقطها للتجهيزات القادمة للعدو واخفائها داخل صورة قط ونشرها على مواقع التواصل الاجتماعي, في حين كل الناس يرونها صورة قط عادية, قيادات هذا العميل تستخرج صورة التجهيزات من داخل صورة القط وبهذا الشكل يتم ارسال البيانات في الاماكن المراقبة

الميزات

أمن غير مرئي: يجمع خفـيّات بين تقنيات الإخفاء والتشفير لإخفاء البيانات داخل الصور بحيث لا يلاحظها أحد، ولا يمكن الوصول إليها إلا من قبل الأشخاص المصرح لهم.

أمن مرئي (باستخدام المفتاح الخاص): يمكن للمستخدم اختيار إدخال مفتاح خاص (Custom Key) ليكون شرطًا لاستخراج البيانات.

عند استخدام مفتاح خاص → يجب إدخاله عند استخراج البيانات.

عند عدم إدخال مفتاح → يعتمد التطبيق كلمة "melazgirt" كمفتاح افتراضي.

️ دعم الصور الملونة: في الإصدارات الحديثة أصبح بالإمكان إخفاء الصور الملونة داخل صور ملونة أخرى بفضل خوارزمية الضغط المدمجة.

خفيف ويدعم الأجهزة المحمولة: التطبيق مصمم خصيصًا للموبايل باستخدام Flutter. يتميز بالسرعة والواجهة البسيطة وسهولة الاستخدام حتى على الأجهزة ذات المواصفات المنخفضة.

تعزيز الأمان بالتشفير: الضعف الطبيعي لخوارزمية LSB تم التغلب عليه عبر دمج خوارزمية AES-GCM.

دعم نسخ متعددة: كل إصدار جديد يجلب تحسينات وميزات إضافية، والإصدارات منظمة بشكل واضح.

سهولة الاستخدام: عملية الإخفاء والاستخراج عبارة عن خطوات بسيطة بضغطة زر، ولا تحتاج معرفة تقنية مسبقة.

️ خطوات إخفاء الصور

اختيار صورة الغلاف (Cover Image): صورة طبيعية ستكون الحاوية للبيانات.

اختيار الصورة المراد إخفاؤها (Host Image): الصورة التي سيتم إدخالها بعد ضغطها وتشفيرها.

المفتاح الخاص (اختياري): يمكن إدخال مفتاح لتعزيز الأمان. إذا لم يدخل المستخدم مفتاحًا، يتم اعتماد كلمة "melazgirt".

ضغط الصورة إلى صيغة PNG: لضمان استخدام فعال للمساحة.

توليد المفتاح بالتجزئة (SHA-256): يتم توليد مفتاح التشفير وIV من كلمة المرور.

التشفير باستخدام AES-GCM: إذا كان هناك مفتاح خاص، يتم تشفير الصورة باستخدام AES-GCM.

الإخفاء باستخدام LSB: يتم إدخال الصورة المشفرة داخل صورة الغلاف عبر تعديل البت الأقل أهمية لكل بكسل.

️ خطوات استخراج الصور

اختيار الصورة الحاملة (Stego Image).

إدخال المفتاح الخاص (إن وجد). في حال عدم إدخاله، يستخدم النظام كلمة "melazgirt".

توليد المفتاح عبر SHA-256.

قراءة البيانات من الصورة عبر LSB.

فك التشفير باستخدام AES-GCM.

إعادة بناء الصورة الأصلية عبر فك ضغط PNG.

إذا كان المفتاح خاطئًا أو حدثت مشكلة في البيانات، يظهر تنبيه بالخطأ.

️ معلومات تقنية

الهدف: إخفاء الصور داخل صور أخرى مع دمج التشفير.

المبادئ: الأمان، الخصوصية، الأداء العالي على الأجهزة المحمولة.

الحزم المستخدمة

encrypt: تشفير AES-GCM.

crypto: توليد المفاتيح عبر SHA-256.

image: معالجة الصور على مستوى البكسل.

image_picker: اختيار الصور من الكاميرا أو المعرض.

media_store_plus: تخزين الصور مباشرة في معرض أندرويد.

archive: ضغط البيانات.

path_provider: الوصول إلى مجلدات الجهاز.

permission_handler: إدارة الصلاحيات.

shared_preferences: تخزين الإعدادات.

share_plus: مشاركة الملفات.

بالإضافة إلى: async, vector_math, material_color_utilities لدعم الأداء.

طبقة الإخفاء (Steganography)

استخدام خوارزمية LSB لإخفاء البيانات داخل الصور الملونة (24-Bit RGB).

دعم الصور الملونة بالكامل مع تقليل فقدان الجودة.

طبقة التشفير

AES-GCM لتأمين البيانات.

توليد المفتاح من SHA-256.

التحقق من سلامة البيانات عبر كود التحقق.

️ الأداء والمعالجة المتوازية

استخدام isolates (عمليات مستقلة) لتجنب تجميد واجهة المستخدم أثناء التشفير/الاستخراج.

? الاختبارات وتتبع الأخطاء

flutter_test, flutter_lints لاختبار المكونات.

leak_tracker لتتبع تسربات الذاكرة.

fake_async, vm_service لتحليل الأداء والزمن.

الإصدارات

v1.3.1 – 28 مايو 2025

حل مشكلة تجمد الواجهة عبر إعادة تنظيم الخيوط (threads).

تجربة مستخدم أفضل.

v1.3.0 – 20 مايو 2025

دعم إدخال مفتاح خاص من المستخدم.

توليد مفتاح عبر SHA-256.

v1.2.0 – 14 مايو 2025

دعم الصور الملونة.

ضغط البيانات عبر PNG.

v1.1.0 – 10 مايو 2025

إضافة تشفير AES-GCM.

v1.0.0 – 5 مايو 2025

النسخة الأولى: دعم الصور الرمادية فقط بدون تشفير.

تجربة التطبيق

يمكن تحميل نسخة أندرويد: https://github.com/yasir2...

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
26
تاريخ الإضافة
تاريخ الإنجاز
المهارات