الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أريد شرح لموضوع DES in Java

مغلق
بدأه شاب مسلم في 14 أكتوبر 2006 · 10 رد · 1,695 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الاخوة الكرام كل عام وانتم بخير بمناسبة دخول العشر الاواخر من رمضان

اريد ان اتعلم DES as standard algorithm

وان كان هناك موجود DES in Java

يكون افضل

المهم عندي الشرح اكثر من الكود

فاتمنى من لديه العلم في هذا الامر يشرح لي شرح مبسط وعام

حيث انها اول بدايه لي في التشفير وفك التشفير

اتمنى ان اجد لديكم المساعده

ودمتم في امان الله

#2

هل تقصد DES !

d4baa0.gif
#3

نعم هذا ما اريده بارك الله فيك

هل يوجد كود بالجافا ليسهل عمليه الفهم بارك الله فيكم

#4

بالرابط فوق كل الشرح الذي تريد + روابط

اقراء جيد لتفهم ثم اكتب انت الكود بنفسك

d4baa0.gif
#5

اخي محمد جزاكم الله الخير

وانا الان فعلا اقرا ما هو موجود في الموقع الذي وضعته مشكورا

ولكن من الصعوبه ان احول هذا إلى جافا كود

ولكن انا اصلا طلبت الكود لزياده فهم عملية التشفير

او على الاقل يساعدني احد في وضع Pseudocode لابسط نوع تشفير

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

وجدت ان هناك تحديثات كثيرة تم وضعها على الاصدار الاصلي DES

وهي

Triple DES

DES-X

فانا اريد ابسطهم واسهلهم فهما حتى استطيع ان افهمه

ثم بعدها اشرع في فهم النسخ الاخرى الاكثر تطورا

وفي الحقيقه عن طريق الكود يكون الامر اسهل او عن طريق الـ Pseudocode

ودمتم في امان الله

#6

http://java.sun.com/products/jce

d4baa0.gif
#7

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

والأن عملنا سيكون مع وحدة من 64 بت نريد تشفيرها

نختار مفتاح التشفير بخوازمية محددة لتوليد المفاتيح من 65 بت (فعليا تختار 48 بت لأن 8 بتات ستكون لفحص الازدواجية Parity)

والان تجري علملية التشفير على ثلاث مراحل :

المرحلة الاولى :

نجري على بتات النص المراد تشفيره عملية تهيئة IP بلخبطة مواقع البتات بطريقة معلومة عندي (ليس عشوائيا) ... يعني اعرف مثلا اني وضعت البيت الأول مكان الرابع .... الخ

المرحلة الثانية :

والآن الناتج البتات الناتجة من عملية التهيئة نقسمها نصفين قسم ايمن 32 بت وقسم ايسر 32 بت

باعتبار f هي طريقة التشفير (أي طريقة تختارها من حسابات رياضية يكون لها مدخلين هما المفتاح والقسم الأيمن من النص المشفر بحيث يكون الخرج من 32 بت ) والناتج سنجري عليه XOR المنطقية مع بتات الطرف الأيسر .

سينتج عنا قسمان جديدان ايمن وأيسر

القسم الأيمن الجديد هو ناتج XOR بين ناتج f والطرف الأيسر السابق القسم الأيسر الجديد

القسم الأيسر الجديد هو القسم الأيمن السابق

نكرر هذه العملية 16 مره متتالية ... كل مره بمفتاح جديد K

53431bb271.JPG

المرحلة الثالثة :

ناتج العملية رقم 16 (من 64 بت) نجري عليه العملية العكسية لعملية التهيئة (مثلا اعيد البت الأول الى مكانه والرابع الى مكانه )

مبروووووووووك صار عندك نص مشفر من 64 بت .

wh_328858111.JPG

تم تعديل هذه المشاركة بواسطة nardien28 في 14 أكتوبر 2006 في 17:51

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#8
nardien28 كتب:
المرحلة الثالثة :

ناتج العملية رقم 16 (من 64 بت) نجري عليه العملية العكسية لعملية التهيئة (مثلا اعيد البت الأول الى مكانه والرابع الى مكانه )

السلام عليكم ورحمة الله وبركاته

الاخت الكريمة nardien28 جزاكم الله وبارك الله فيكم على التوضيح مع الصور مما زاد سهوله الشرح فبارك الله فيكم

ولكن انا لم افهم ما هي فائدة الخطوه الاولى والاخيرة

ببعثرة البتات

ثم في اخر عملية التشفير نعيدهم كما كانوا

فلماذا قمنا ببعثرتهم من البدايه

اتمنى ان يكون سؤالي واضح

سؤال اخر هل العمليه الرياضية تكون في الغالب معتمده على XOR

وما هو دور باسورد التشفير الذي يطلب من المستخدم ادخاله في عمليه التشفير

بمعنى اخر هل الباسورد يدخل في العمليات الرياضيه

ارجو توضيح هذه النقاط بارك الله فيكم وفي وقتكم

تم تعديل هذه المشاركة بواسطة شاب مسلم في 14 أكتوبر 2006 في 20:00

#9

انا بسطت لك الموضوع كتييير لأني فرضت ان هدفك البرمجة وليس تعلم اسس أمن المعلومات ...

ولكن الموضوع مش بهالبساطه ... كل سطر كتبتلك اياه يندرج تحته سطور كتيير

عملية التهيئة تتم وفق قواعد ومناهح

عملية توليد المفاتيح أيضا وفق مناهج وقواعد

اختيار عدد البتات اامفتاح والنص المشفر له اهدافه

خطوات الخوارزمية وضعها خبراء بعد ابحاث ودراسة طويلة .. عليك بالتوسع بنفسك في هذا المجال

اجابتي عن اسئلتك ستخالف قواعد المنتدى

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

ابحث عنها وعن طريقة استخدامها في Google

واذا نجحت بكتابة كود لـDES نرجو وضعه للفائدة

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#10

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

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

والدوره الثانية تستخدم لها المفتاح الخامس عشر في عملية التشفير وهكذا ...

مستخدمين نظام التشفير (المستخدم المشفر والمستخدم فاك التشفير) ليس لهم علاقة بحكاية ال16 مفتاح

هم يعرفون فقط كلمو سر متفق عليها

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

ومن خوارزمية توليد المفاتيح يتولد ال15 مفتاح الباقية .

تم تعديل هذه المشاركة بواسطة nardien28 في 15 أكتوبر 2006 في 23:28

سيمضي ركبنا العملاق لن يركع .. بإيمان لغير الحق لا يصدع

عزيزا شامخا كالمجد بل أروع .. فسجل أيها التاريخ ما تسمع :

فلسطين لنا الآمال والمطمع .. نعاهد أن نحررها وأن ترجع

ونقسم نستعيد الأرض أو نصرع .. ويبقى رمزنا الزيتون والمدفع

Palestine.gif

#11

جزاكم الله خيرا وبارك الله فيكم على التوضيح والاهتمام بالموضوع

وانا كذلك ابحث الان في نفس الامر

واتمنى من لديه علم وتوضيح اعمق حول هذا الامر ان يفيدنا

سواء بالشرح

او بالكود

او حتى بالسوداكود

ودمتم في امان الله

هذا الموضوع مغلق.

مواضيع مشابهة