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

الموضوع: الشرح التفصيلى لتشفير Des

  1. #1
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Jan 2008
    المشاركات
    929

    الشرح التفصيلى لتشفير Des



    بسم الله الرحمن الرحيم

    -----------------------------------------------------------------------

    كاتب الموضوع : King Sabri

    الموضوع : شرح التشفير من نوع Des " اختصارا ل(Data Encryption Standard) "

    المصدر : Data Encryption Standard DES

    ------------------------------------------------------------------------


    مقدمة :

    موضوعنا اليوم لن أقول عنه جديد لكني سأقول أني أكاد أجزم أنه لأول مره يتم

    عرضه بهذه الطريقة بين الصفحات العربية .. هنا لن أعرف معنى كلمة تشقير لأن

    المقدمة الواجب وضعها قد وضعها إخواني في المنتديات و جزاهم الله عنا خير

    الجزاء. لكني سأضع أمامكم ماده علمية عملية قويه جدا تشرح واحد من أقدم

    خوارزميات التشفير و أقواها - قد يعترض أكثركم على كلمة أقواها لكن عندما تم

    عمل هذا لاخواريزم و إعتماده كمعيار رسمي للتشفير كان من أقوى أنواع التشفير

    في وقته و قد تم تحيدثه إكثر من مرة و أصبح هناك ال Double DES و

    Treble DES و Advanced DES (AES) new - وللعلم لو تم فهم موضوعنا هذا

    فستعرف بحق معنى كلمة تشفير و كيف يتطور علم التشفير بالنسبه للتشفير

    المتماثل أو الـ Symmetric Encryption وما سيأتي في المستقبل لن يكون غريب

    عليك أبدا بعد ذلك سأضع الخوارزميات ثم أشرحها … لندخل في الموضوع

    "Data Encryption Standard "DES

    تم إختياره في عام 1977م من قِبل المعهد الدولي للمعايير التكنولوجية أو

    National Institute Standard NIST على أنه معيار للتشفير دوليا و يتم التطوير

    على أساسه في أنواع التشفير اللتي هي من فأته أي ال Symmitric Encryption

    وقد كان لــ IBM باعا في وضع بذرة هذا التشفير .

    ملاحظة : هذا العلم درسته في آخر سنه في هندسة حاسب آلي و طرحه يجبرني

    على الإعتماد أن قارئ الموضوع يعرف أساسيات التعامل مع ال B!n@ry و مع الـ

    Logic Operations و قد نوهنا أن أساسيات التشفير و المقدمة المطلوبه قد كتبها

    إخواني من قبل و Google خير شاهد على كلامي هيا بنا

    كما قلت سأضع شكل الخوارزميات أولا ثم نشرح أجزاءها و في المستقبل سنضع

    مسألة عمليه و نحله و أوعدكم أنكم ستفهموها إن شاء الله طبعا



    هذا خوارزم التشفير و فك التشفير تمعن في الصورة جيدا :



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

    طبعا يا إخواني لم يفهم أحد هذه الرسومات أو معناها بشكل دقيق … و لا أنا :

    D لكن بإذن الله سنعلم ماذا هناك و بإذن الله ربنا يخرج من بيننا من يخرع نظام

    تشفير جديد يقهر به خوارزمياتهم.

    سنتعرف على الأشياء بمعناها العلمي أن تعرفها بوظيفتها لنبتعد عن الكلام النظري

    البحت و نبتعد عن أخطاء الترجمة النصية و يجب أن نضع دوما في الحسبان أن

    تعاملنا من الـ data على شكل Binary و في بعض الأجزاء سنستخدم النظام ال

    ـ Decimal أيضا … لنبدأ على بركه الله :

    تعاريف

    Initial Permutation (IP) : بالبلدي معناها اللخبطة أو التبديل المبدئي و وظيفتها أن

    ندخل لها 8-bits فنقوم بتغيير أماكنهم بشكل غير منتظم بناء على أرقام تم تحديدها

    بطلبنا و تكون طلبات التبديل عبارة عن أرقام من 1 إلى 8 ولكن تلك الأرقام طبعا

    غير مرتبة (لم تفهمو شئ!) سأريكم مثالا ..عندي 8-bits و هم من اليسار إلى

    اليمين كالتالي: 10011101 فإن ترتيب أول bit و اللذي هو 0 سيكون 1 و الثاني

    الذي هو 1 سيكون 2 إلخ .. وهذا هو الترتيب الطبيعي للأرقام إلى هنا جميل ؟ , الأن

    أريد أن ألخبطهم باستخدام Initial Permutatin و المطلوب أن تكون اللخبطه بهذا

    الترتيب IP = 26314857 و تقرأء من اليسار إلى اليمين فكيف إذن تتم اللخبطه ؟

    هو يريد أن يأخذ الـ Bit رقم 1 في الترتيب الطبيعي و يجعله ال ثاني و ترتيب ال

    Bit رقم 2 في الترتيب الطبيعي يجعله السادس أي أن شكل ال Stream السابقى

    ( 10011101 ) سيصبح بعدل التبديل هكذا ( 01011110 ) هذ إستوعبت الفكرة ؟!

    مثال آخر: IP= [26314857 ] , Data = [10011101] إذن شكل الData (ip) =
    11010110



    Inverse Initial Permutation (IP) : لن أشرح بنفس طريقه ال

    Initial Permutation فلقد فهمنا الأساس لكني سأضع طريقة الحل مباشرة اللتي

    تمكننا من إيجاد الIInverse Initial Permutation من ال

    Initial Permutation وإيجاد ناتج التبديل

    * تضع أرقام الـ Initial Permutation *ننظر إلى أرقام التريب الطبيعي للـ bit ثم

    نجعل ترتيبها في المكان الذي يساوي الرقم المقابل له في الـ Initial Permutation

    بهذا نكون أخرجنا قيمة الــ Inverse Initial Permutation ثم نجول الData كما

    تعلمنا في سابقتها



    Expansion Permutation (E/P): وهي عملية لخبطة أيضا كما عهدناها لكنها

    ستتسبب في زيادة عدد ال bits لذلك سمية Expantion

    S-Box : وهي عملية permutation لكنها مختلفة

    تماما عن سابقاتها و ستتسبب في

    تلخيص عدد ال bits إلى 2-bits و نستخدم المصفوفات في عمليه التبديل لإيجاد

    قيمتها الحقيقية و في المسائل العلمية فإنك تعطي المصفوفة و قيمتها و تستخرج

    قيمه ال S من تقاطع الصف مع العمود, هكذا …



    Switch (SW) : من الإسم فإن العملية واضحة و أي

    أنه سيقوم بعكس مسار الـ bit في الخوارزم و أظنها واااضحه من الرسمة .



    Key Generation : و هو مولد المفاتيح اللتي ستضاف على ال Data لتزداد عملية

    اللخبطه أو تعقيد التمويه و التبديل و نستطيع أن أكثر من sub kye في ال DES

    … لا تخف التفاصيل قادمة …

    Left Shift LS-x : يعني الترحيل أو الإزاحة عدد محدد تزيح الـ bit من اليسار إلى

    اليمين و يرمز لها أيضا بالعلامة “ >>> ” ستفهم بمثال خفيف…

    k1 k2 k3 k4 k5 و نريد أن نعمل له ترحيل بمقدار 2 فسيكون الناتج هكذا …

    k3 k4 k5 k1 k2 طبعا ال k هو البت الواحد

    XOR : بصراحه المفروض ما أتكلم عنها لكن بإجاز هي عملية منطقيه يكون ناتج

    جمع المتشابهات بـ 0 و المختلفات بـ 1 , مثال …



    ------------------------------------------------------------------------

    حسنا .. الأن سنتكلم مرة أخرى عن الأجزاء اللتي عرفناها في التعاريف لكن

    سنتكلم عنها من ناحية عملها و مهمتها في هذا النظام من التشفير فهذه الأجزاء

    ليست حصرية لهذا التشفير و لكن يختلف تشفير عن أخر في و خطة الخواريزميات

    و في ال Block Size of Data و في عدد تكرار العمليات و طريقه ترابط أجزاء ال

    data المقسمة … كل هذا كلام عام .. لنبدأ وستعرف معنى كلماتي هذه عندنا

    نشرح أكثر من نوع تشقير إن شاء الله .

    1/ حجم البيانات المراد تشفيرها Plaintext blick size :

    وجد أن أنسب حجم للبيانات المراد تشفيرها بالنسبه للـ DES هو 64-bit و إن

    زادت حجم البيانات عن ذلك فإنها تقسم كما يحصل في الهارد ديسك , لكن! …

    لوكان حجم البيانات المراد تقسيمها لا يقبل القسمه على 64 لكي نقسّمها … الحل

    أني سأبحث عن آخر bit ثم نقوم بعمليه الـ Padding حسنا لن أشرح نظري لكن

    سأوضح الأمر بشكل ودي

    لنفرض أن حجم الداتا المراد تشفيرها هي 660 بت وهي الرساله لأصليه و عندما

    نقسما على 64 لكي نوجد عدد ال data blocks فسنجد أن الناتج 10.3 ولا يمكن

    حجز جزء من الل Block و نترك الباقي فارغا و لو ملأناه أصفارا لتغيرت قيمه الداتا

    الأصليه قبل أن أغيير شئ بيدي و الحل بدون تفصيل هو أن نجد أقرب رقم أكبر من

    10 يعطينا ناتجا صحيحا ليس فيه كسور عشرية و هذا ما يسمى الـ Padding

    2/ المفتاح السري Secrit Key Size :

    تماااااااااما مثل مفتاح المنزل به تشفر البيانات و به تفك تشفيرها وتجده على شكل

    باسوورد في البرامج وحجمه في ال DES يصل إلى 65-bit وهذا قليل الأن

    3/ عدد اللفات Number Of Rounds :

    عدد اللفات في الـ DES = عدد الـ 16-Sub key و كل Sub key حجمه 64-bit

    4/ توليد المفاتيح Key Generation :

    فإن مولد المفاتيح هو اللذي يخرج الـ Sub key و أكبر عدد يتحمله الـ DES من ال

    Sub key هو 16

    ------------------------------------------------------------------------

    حسنا .. أعتقد أن الموضوع يحتاج إلى تركيز و يظهر جيدا أنني مختصر في أشياء

    ولكن لو تمعنت ستجد ما إختصرته قد وصعته في الرسم لكي أقلل جهد القراءة

    عليكم و سأضع مسألة لكسر تشفير الDES بطريقة الإحتمالات أو ال

    Brute Force و صنعت جدولا لأهم خصائص الـ DES أرجو أين يوضح الأمور أمام

    عينيك.



    المرجع : كتاب Cryptography and Network Security الإصدار الرابع لمؤلفه

    William Stalling

    أنتظر أسئلتكم






    التعديل الأخير تم بواسطة beshoo ; 03-07-2008 الساعة 08:58 AM


  2. #2
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    واو .
    دخت .

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

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

    الان انا استخدم طريقة ذكية بالتشفير . سوف اشرحلها لك

    احول النص الى بايتات . اضيف الا Xor لكل بايت على ما يليه
    اقطع 30 بايت من اول ونصف واخر الناتج واحولة الى مفتاح مشفر.

    الان . الخبط الناتج من البياتات على اساس مفتاح عشوائي جديد .واضم المفتاح الى المفتاح الاول .
    الان اشوف كم بايت صفي عندي ازيد على اولهم 200 بايت وعلى اخرهم 200 بايت .

    اكرر العملية السابقة الى ان يصير طول المفتاح عندي 264 بايت .

    طبعا في بايتات بين كل قسم اخذتة وضمنتة في المفتاح . .
    الان تشفير المفتاح .

    في رقم براسي حافظة على اساسة بشفر المفتاح . بحيث لا يكون مع المفتاح ها الرقم .
    ويتم نقل الرقم شفويا .


    بقى فيك تفك هيك تشفير ؟

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






  3. #3


    شكرا لك اخي الكريم اصبح الان فك تشفير des سهل عمليا مثلا استطيع ان افك اي باسورد حتى 10 احرف مشفرة باdes خلال 6 ايام كحد اقصى
    بينما يمكن انني احتاج الى قرون لفك 3des او rsa مثلا





    __________________
    لا إله إلا الله محمد رسول الله





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

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض