النتائج 1 إلى 14 من 14

الموضوع: خوارزم لإخفاء النصوص داخل الصور

  1. #1
    التسجيل
    22-11-2006
    المشاركات
    300

    خوارزم لإخفاء النصوص داخل الصور

    منتدى المنتدى
    قسم لغات البرمجة
    أبو هاجر الحلوة
    الجزائر
    2007

    خوارزم لإخفاء النصوص داخل الصور

    الـ Sténographie ( المصطلح بالفرنسية و لا أعرف المقابل الصحيح له بالإنجليزية) هي فن إخفاء المعلومة (عادة نصوص) داخل معلومة أخرى ( في أغلب الأحيان صورة أو ملف صوتي) دون تأثير ظاهر عليهما , هناك خوارزمات كثيرة و معروفة و هي متفاوتة من حيث درجة الصعوبة و مدى كفاءتها أي من السهل الساذج إلى غاية المعقد الفعال , و الخوارزم الذي سنتعرف عليه يقع بين هذين الطرفين و هو لأخفاء النصوص داخل الصور النقطية (Bitmap) من ناحية التأثير على الصورة فلا يكاد يذكر و من المستحيل على العين المجردة أن تدرك التغيير الذي يحدثه أما من ناحية النص المدرج فيمكن أن يكون هناك ضياع يسير جدا لبعض الحروف لكنه لا يكاد يذكر أيضا ففي رسالة معتبرة قد لا يتجاوز حجم الضياع الثلاث أو أربع حروف باختصار يمكن إعتبار هذا الخوارزم سهل و فعال إلى درجة كبيرة.

    أولا : المتغيرات :

    Buffer: المتغيرة التي تحوي النص و نظيف لها الحرف "#" لنتمكن من تحديد نهاية النص
    Length : عدد حروف النص المراد إخفاءه (أي طول المتغيرة Buffer)
    Bx : عرض الصورة التي نريد إخفاء الـ Buffer فيها
    By : طول الصورة التي نريد إخفاء الـ Buffer فيها
    iClr : متغيرة عددية سنستعملها لاسترجاع النقاط (Pixels) المكونة للصورة نقطة نقطة
    ِِiChr : متغيرة نصية سنستعملها الاسترجاع الحروف المكونة للنص الذي نريد إخفاءه (أي النص الموجود في المتغيرة Buffer) أيضا حرفا حرفا
    Px و Py : عددان لسبر كل النقاط المكونة للصورة

    ثانيا : الخطوات :

    1 - 1 / تشفير النص داخل الصورة:

    من أجل اي نقطة M(Px,Py) في الصورة يكون ترتيبها أقل أو يساوي المتغيرة Length نقوم بما يلي :

    نفكك النقطة M(Px,Py) (و التي هي عبارة عن لون) إلى الألوان الأساسية المكونة لها أي الأحمر و الأخضر و الأزرق (RGB) نقوم بتعريف ثلاث متغيرات عددية iRed , iGreen , iBlue لاسترجاع مكونات اللون حسب الترتيب RGB فإن الأوامر تكون كما يلي

    في الدلفي
    كود:
    iRed := GetRValue(image.canvas.Pixels[Px, Py]); iGreen := GetGValue(image.canvas.Pixels[Px,Py]); iBlue := GetBValue(image.canvas.Pixels[Px,Py]);
    أما في الفجوال بيسك
    كود:
    iRed = iClr Mod 256 iGreen = ((iClr And &HFF00) / 256&) Mod 256& iBlue = (iClr And &HFF0000) / 65536
    و من أجل أي حرف iChr من Buffer يكون ترتيبه هو نفس ترتيب النقطة M(Px,Py) التي قمنا بتفكيكها سابقا إلى ألوانها الأساسية نقوم بما يلي

    نعدل قيمة اللون الأحمر الموجود في المتغيرة iRed كما يلي
    كود:
    iRed = iRed And 248 Or (iChr And 7)
    ثم نعدل قيمة الأخضر كما يلي :
    كود:
    iGreen := iGreen and 248 or ((iChr and 56) shr 3);
    هذا في الدلفي أما في الفجوال بيسك فنقوم بتغير الجزء shr 3 بـ / 8 لأن البيسك لا يوفر أوامر تتعامل مع المتغيرات على مستوى البت إلا أن النتيجة هي نفسها و بهذا سيكون الأمر السابق في البيسك كما يلي :
    كود:
    iGreen = iGreen And 248 Or ((iChr And 56) \ 8)
    ثم نقوم بتعديل قيمة الأزرق

    في الدلفي :
    كود:
    iBlue := iBlue and 252 or ((iChr and 192) shr 6);
    و في البيسك :
    كود:
    iBlue = iBlue And 252 Or ((iChr And 192) \ 64)
    في الأخير نقوم باسترجاع قيمة النقطة M(Px,Py) الجديدة باستعمال الدالة RGB إعتمادا على المكونات iRed , iGreen , iBlue التي حصلنا عليها سابقا ثم نعوضها في الصورة في نفس مكان النقطة القديمة
    نكرر نفس العملية مع باقي النقاط حتى نقوم بتشفير جميع الحروف المكونة للنص ثم نقوم بحفظ الصورة بامتداد bmp

    1 - 2 / استخراج النص المشفر داخل الصورة :

    من أجل أي نقطة M(Px,Py) في الصورة حيث تتغير Px من 0 إلى Bx و Py تتغير من 0 إلى By و ما دام iChr يختلف عن القيمة "#" نقوم بما يلي :
    نسترجع المكونات iRed , iGreen , iBlue كما سبق ثم نقوم باسترجاع الحرف iChr الموافق للنقطة كما يلي :
    في الدلفي :
    كود:
    iChr := ((iBlue and 3) shl 6) or ((iGreen and 7) shl 3) or (iRed and 7);
    و في البيسك :
    كود:
    iChr = ((iBlue And 3) * 64) Or ((iGreen And 7) * 8) Or (iRed And 7)
    ملاحظات :

    حتى تتمكن من تشفير كل النص في الصورة المختارة ينبغي أن تتحقق من الشرط التالي
    كود:
    Length <= Bx * By
    أي أن طول النص يجب أن يكون أصغر أو يساوي حجم الصورة .

    إذا تم الإخلال بهذا الشرط فيمكنك دائما حساب نسبة التشفير بالعلاقة :
    كود:
    ((Bx * By) / Length) * 100
    في المرفقات ستجد مصدر برنامج ArArgonaut و هو مصدر برنامج بالفجوال بيسك يستعمل نفس الخوارزم .
    تم بحمد الله .
    الملفات المرفقة الملفات المرفقة

  2. #2
    التسجيل
    03-08-2004
    الدولة
    تركيا
    المشاركات
    3,755

    رد: خوارزم لإخفاء النصوص داخل الصور

    رررروعة

    5 من 5

    (:

  3. #3
    التسجيل
    08-12-2006
    المشاركات
    5

    رد: خوارزم لإخفاء النصوص داخل الصور

    السلام عليكم ورحمة الله وبركاته
    متميز والله يا أخي .
    جزاكم الله خيراً

    تحياتي
    أبو عبد الله ـ عمر محمود هاني ـ

  4. #4
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: خوارزم لإخفاء النصوص داخل الصور

    اقتباس المشاركة الأصلية كتبت بواسطة مش فاهم مشاهدة المشاركة
    أبو عبد الله ـ عمر محمود هاني ـ

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

  5. #5
    التسجيل
    15-10-2004
    الدولة
    حائر
    المشاركات
    1,537

    رد: خوارزم لإخفاء النصوص داخل الصور



    السلام عليكم

    قرأت عن هذه التقنية قبل فتره في جريدة (الشرق الأوسط) ..
    وفكرت في أن أعمل برنامج لها .. لكن طلعت إنت سابقني ..

    وأنا لقيت فكرة حلوة قبل أيام .. ما تحتاج برنامج

    سوي Shortcut لرابط أنترنت ..
    إفتحه بواسطة Notepad .. رح تلقى متغيرات وكتابات .. بعدها أكتب اللي تريده .. وما أحد يلاحظ هذا .. ولا يتأثر الرابط أصلا

    وعلى فكرة هذه الطريقة يستخدمها الجواسيس!

    شكرا لك


    بالتوفيق
    جديد موقعي .


    رابط الصفحة .. من هنا:
    من المدونة [هنا]


  6. #6
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: خوارزم لإخفاء النصوص داخل الصور

    فعلا فكرة سهلة و حلوة لكنها سهلة فأي شخص فظولي يستطيع فتح الاختصار و الإطلاع على الرسالة
    أعرف طريقة تشبهها ولكني لم أجربها قم بفتح أي ملف Bitmap بمحرر ثنائي و اضف الرسالة في آخره لن تتأثر الصورة و يمكنك فتحها بأي مستعرض صور.

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

    أما هل يستعملها الجواسيس أم لا فلا يهم المهم أن نتمكن من كل أسرارالبرمجة مهما كانت قدر المستطاع ثم نقوم بنقل ما نعرفه إلى ألآخرين فربما مع الوقت سيتمكن الشباب المؤهل من الوقوف بالبرمجة العربية و الخروج من هذا الوضع المتردي الذي نعرفه

  7. #7
    التسجيل
    15-10-2004
    الدولة
    حائر
    المشاركات
    1,537

    رد: خوارزم لإخفاء النصوص داخل الصور

    لكنها سهلة فأي شخص فظولي يستطيع فتح الاختصار و الإطلاع على الرسالة
    صحيح ..
    ولكن! .. تكتب فضولي وليس فظولي!

    لا يغير شيئا في حجم الملف و لا يمكن إستخراج الرسالة إلا ببرنامج يستعمل نفس الخوارزم و هو أمر مستعبد
    !! .. لم أعرف .. فكرة حلوة وجميلة جدا .. شكرا لك ..

    أما هل يستعملها الجواسيس أم لا فلا يهم
    صحيح .. 100%
    جديد موقعي .


    رابط الصفحة .. من هنا:
    من المدونة [هنا]


  8. #8
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: خوارزم لإخفاء النصوص داخل الصور

    مشكور على التصحيح سأحفظها للمستقبل

    فيما يخص مقال الشرق الأوسط إذا كان يتكلم عن خوارزم التشفير فهل بالإمكان أن تنقله لنا هنا لأن هناك عدة خوارزمات مستعملة في هذه التقنية زيادة للفائدة

    شكرا مرة أخرى

  9. #9
    التسجيل
    07-05-2005
    المشاركات
    1

    Thumbs up رد: خوارزم لإخفاء النصوص داخل الصور

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

    تقبلوا أغلى تحياتي ... والسلام عليكم
    الملفات المرفقة الملفات المرفقة

  10. #10
    التسجيل
    26-03-2008
    المشاركات
    1

    رد: خوارزم لإخفاء النصوص داخل الصور

    ارجو شرح الخوارزم نفسه
    و كيف تعمل المعادلة

  11. #11
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: خوارزم لإخفاء النصوص داخل الصور

    اقتباس المشاركة الأصلية كتبت بواسطة mohamed.dz مشاهدة المشاركة

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


    إهتم بشكل الواجهة و إجعل البرنامج هو من يقوم بإدراج رمز نهاية الرسالة بدل المستعمل و سيكون 10/10 .............بالتوفيق بعون الله
    التعديل الأخير تم بواسطة أبو هاجر الحلوة ; 11-06-2008 الساعة 03:19 AM


  12. #12
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: خوارزم لإخفاء النصوص داخل الصور

    اقتباس المشاركة الأصلية كتبت بواسطة hasan ahmad مشاهدة المشاركة
    ارجو شرح الخوارزم نفسه
    و كيف تعمل المعادلة
    طلب مشروع و في الصميم ......إن شاء بعد الفراغ من بعض المشاغل ستكون لي عودة للموضوع...
    ما يمكن أن أقوله الآن هو أن الـ Sténographie تقوم على مبدأ التأثير على الـ Bits الضعيفة لهذا لا يظهر التغيير على الأصل لأن حجم ضياع المعلومات يكون ضئيلا جدا.

    أبحث في الجوجل عن الـ Sténographie أو الـ Stenography و ستجد كما هائلا من المعلومات و الخوارمات المتعلقة بالموضوع


  13. #13
    التسجيل
    01-11-2008
    المشاركات
    2

    رد: خوارزم لإخفاء النصوص داخل الصور

    مشكووووووووووووور باااارك الله فيك

  14. #14
    التسجيل
    05-08-2008
    الدولة
    ஃ ҚṢẮ ஃ
    المشاركات
    1,390

    رد: خوارزم لإخفاء النصوص داخل الصور

    موضوووووووووووووووووووووع
    جميييييييييييييييييييييييييييييييييييييييييييييل
    مميييييييييييييييييييييييييييييييييييييييييييييييييييز
    مفييييييييييييييييييييييييييييييييييييييييييييييييييييييييييد
    ^

    *
    *

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •