محمد قطان

مقدمة حول أنظمة التشفير .......

19 ردود في هذا الموضوع

التشفير

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

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

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

هل أنت بحاجة لها؟

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

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

على اختلاف أنواع و أشكال البرامج المتخصصة في هذا المجال إلا أنها جميعا تتشارك في القاعدة أو الأساس وهي مبنية على مفهوم بسيط جدا وهو أن كل رقم أو معلومة مشفرة تحتاج لفكها و إعادتها الى وضعها الأصلي الى ثلاث عناصر مجتمعة مع بعضها البعض و لنفرض انها ( س ، ص ، ع) أما في حالة معرفة قيمة واحدة فقط من هذه العناصر و بقاء الاثنتين الباقيتين مجهولتين فإنك سوف تجد نفسك في دوامة الاحتمالات والتخمين للوصول إلى القيم الصحيحة لهذين العنصرين المجهولين اللازمين لاكمال الحلقة و فك الشفرة وعلى هذا الأساس علينا التعرف على ثلاث مصطلحات لفهم هذه التكنولوجيا : المفتاح العام ، المفتاح الخاص ، و الرقم الأساس حيث أن أي معلومة يتم تشفيرها لا يمكن الاطلاع عليها صحيحة وكاملة إلا بوجود هذه المفاتيح الثلاثة مجتمعة ...........

ويتم تطبيق هذا المبدأ في مجال التشفير كالتالى :

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

(CA) Certificate Authority

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

المفتاح العام(Public Key)

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

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

Private Key

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

أنواع تكنولوجيا التشفير

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

Symmetric Algorithms and ASymmetric Algorithms

و الفرق بينهم بسيط جدا ولكنه مهم جدا في مستوى ودرجة الأمن حيث أن التشفير المتناظر يتم بتشفير الرسالة أو المعلومات باستخدام الرقم العام وكذلك في نفس الوقت يتم فك الشفرة و ترجمة المعلومات إلى وضعها الأصلي بإستخدام نفس الرقم العام. ولذلك لو حصل و أن شخص اخر يعرف هذا الرقم أو حصل عليه من الدليل العام فإنه قادر على فك الشفرة و قراءة تلك الرسالة أو المعلومة ، أما إذا ما تم تشفير المعلومات باسلوب (الغير متناظر) فإن المعلومات يتم تشفيرها بالرقم العام ولكن لا يمكن فك الشفرة و الوصول إلى تلك المعلومات الا بالمفتاح الخاص لصاحب ذلك المفتاح العام الذي تم على أساسه عملية التشفير

وإذا حصل وأنك فرغت من قراءة السطور السابقة و لم تفهم شئ مما كتبناه فاسمحوا لنا بشرحها بطريقة أخرى للتسهيل ، تخيل بأنك تقوم بالاتصال هاتفيا بأحد أصدقاؤك وعندما تدخل رقم هاتفه (الرقم العام) ويبدأ هاتفه بالرنين ولكن ذلك الصديق لا يرد على مكالمتك فيرد عليك جهاز إجابة و تترك له رسالة صوتية في ذلك الجهاز . و الان لنتخيل بأنك قمت بحماية (تشفير) تلك الرسالة برقم سري و لا يستطيع أحد الاستماع إلى تلك الرسالة إلا بإدخال ذلك الرقم السري. فإن كان صديقك هذا قد اتفق معك على اختيار الرقم السري هو نفس رقم هاتفك العام فهذا ما يسمى بطريقة التشفير المتناظر لأن المفتاح العام = الرقم السري أما لو قام ذلك الصديق ببرمجة التشفير لطلب الرقم السري الخاص بك (رقم اخر لا يعرفه أحد غيرك) فهذا مايعرف بالتشفير الغير متناظر لأن المفتاح العام لا يساوي الرقم السري ..............

أشهر طرق التشفير المتناظر

Blowfish, Digital Encryption Standard (DES), Tiny Encryption Algorithm(TEA), Triple DES, and International Data Encryption.

أشهر طرق التشفير الغير متناظر

Pretty Good Privacy(PGP) and Reivest,shamir&Aselman(RSA)

قوة التشفير

تعتمد على عدد الخانات المكونة لكل رقم و تقاس ب البت فمثلا اذا كان الرقم مكون من 40 خانة فإن القوة ستكون 40 بت إذا كان الرقم عبارة عن 56 خانة تكون قوة التشفير 56 بت وهكذا. علما بأن التكنولوجيا المتوفرة في هذا المجال يمكن أن توفر قوة تشفير تصل إلى أكثر من 3000 بت ولكن لم تسمح الحكومة الأمريكية حتى الان بتداول قوة تشفير أكثر من 128 بت لأنه كاف جدا لحماية التجارة الإلكترونية و جدير بالذكر أن الوقت اللازم ليتمكن أحد لصوص الإنترنت لفك شفرة بقوة 56 بت هو 22 ساعة و خمسة عشر دقيقة ، أما الوقت اللازم لفك شفرة بقوة 128 بت باستخدام التكنولوجيا الحالية لفك الشفرات فهو 2 ترليون سنة!! لأن اللص في حالة 56 بت بحاجة لتجربة 72 كوادرليون من الإحتمالات (يعني رقم و أمامه 15 صفر) أما في قوة 128 فإن الإحتمالات المطلوبة للتجربة تصل الى عدد فلكي وهو 340 انديسليون (يعني رقم وأمامه 36 صفر) ولذلك لم نسمع أبدا بأن معلومة تم تشفيرها بهذه القوة قد تم فكها من قبل هؤلاء اللصوص المحترفين و نحن لا نعتقد بأن أحد يمكنه فعل ذلك على الأقل في المستقبل القريب أو المنظور ولذلك تسوق على شبكة الإنترنت وأنت مطمئن البال بشرط التأكد من قوة التشفير المستخدمة من قبل الموقع الذي تود الشراء منه و كذلك التأكد من قوة التشفير في متصفحك...

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

وشكرا لكم جميعا ...........................

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جميل :)

ننتظر المزيد....

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أخي الكريم

معلومات ممتازة وهي شبيهة بالتي نأخذها هنا بالكلية.....

لكن اسمح لي ان اوضح طريقة اخرى من طرق التشفير للاخوة الكرام

طريقة التشفير بواسطة شيفرة الاسكى(ascii code)

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

فمثلا ان الحرف aيقابله في شيفرة الاسكي رقم97 (على ما اذكر)

والحرف a يقابله ايضا 98

والحرف c يقابله الرقم 99 ....وهكذا

والفكرة في نظام التشفير هذا أنه يغير الشيفرة التابعة

للنظام الاسكي

وسأقوم هنا بطرح مثال لكي تترسخ الفكرة في ذهن الجميع

المثال:

========

لنفرض انني اريد ان ارسل رسالة الى شخص ما واريد ان اكتب بها كلمة ahmad........وهذه الكلمة اريد تشفيرها

(او تشفير الرسالة باكملها)

فالحركة التي يقوم بها برنامج التشفير هي كالتالي:

رمز الحرف a في الاسكي 97

رمز الحرف hفي الاسكي 104

رمز الحرف m في الاسكي 109

رمز الحرف aفي الاسكي 97

رمز الحرف d في الاسكي 100

إذا نكتب اسم ahmad على هذا النمط:

97.104.109.97.100

والحركة الاخيرة هي إضافة رقم معين لكل محرف في شيفرة الاسكي

لنفرض انه اضاف الرقم إثنان لكل حرف.....فان الاحرف ستكون كالتالي:

99.106.111.99.102

وهذا ينتج

في الاسكي الرقم 99 يقابله الحرف c

في الاسكي الرقم 106 يقابله الحرف j

في الاسكي الرقم 111 يقابله الحرف o

في الاسكي الرقم 99 يقابله الحرف c

في الاسكي الرقم 102 يقابله الحرف f

فتصبح الكلمة هي cjocf

ahmad==cjocf

وطبعا الكلام الناتج لم يكن مفهوما ابدا للقارئ اللذي لا يملك نفس البرنامج اللذي قام بتشفير هذا الكلام.

واالبرنامج اللذي سيقوم بفك هذه الشيفرة يقوم بعكس عملية التشفير أي يقوم بإنقاص إثنان من كل محرف.

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

لكن اود ان ان اقول ان هذه الطريق تعتبر قديمة .

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

أن يكون هذا المثال واضحا وأرجو ان اكون قد وفقت الى ايصال الفكرة الى اذهن الجميع.

لكم مني فائق المحبة والاحترام

============

أخوكم منذر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

فكرة حلوة منذر وعلى ما أذكر أنني امللك مثل هذا البرنامج

بس تصحيح صغير انو حرف ِِA يقابله في شيفرة اسكي الرقم 65

وحرف B 66 ............ وهكذا

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

وذلك لان احجامها يتراوح بين 10 و20 ميغا ةالشبكة عندي سيئة الى ابعد الحلول ... ولكن سأجد حلا لهذه المشكلة قريبا ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

تسلم غيدك يا قطان

كده فعلا ممكن نتعلم حاجه يا قطان من مقالاتك المفيده

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكورررررر محمد وأنت و الله مهي غريبة منك هالمواضيع المتميزة

بس السؤال اللي حيرني كيف الحكومة الأمريكية تعرف اللي يشفر بقوة أكبر من 128 بت يعني لو أنا سويت برنامج يشفر بقوة 1000 بت فرضاً كيف يبي يعفةن إنت سويت هالرنامج ؟؟؟؟؟؟

نحن في لهف لقراءة الدوس القادمة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أخي الغالي محمد

الظاهر انا وانت خانتنا الذاكرة

عدت وتأكدت أن شيفرة الاسكي للحرف a هي97 والحرفb يقابله 98

والشيفرة تختلف بين الاحرف الكبيرة والصغيرة

وأنا بالبداية اصبت ثم اخطأت سأقوم بتصحيح الخطأ الان

على كلل جل من لا يخطأ

وهنا احب ان اضع البنية لنظام الاسكي للاخوة الاعضاء

symbol       Dec                   binary      hexedicimal

a           97                    1100001              61

b           98                    1100010              62



A           65                    1000000              41

B           66                    1000001              42

ونزيد بمقدار وحدة وحدة لكل عمود

نحن بانتظار المقالات اللتي وعدتنا بها على احرّ من جمر

;) ;) ;) ;)

==========

أخوك منذر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

انت شو قصتك ؟؟؟؟!!!!!!!!!

هناك فرق بين ما يلي :

A Letter capital = 65

واما

a Letter lowercase A = 97

عرفت الفرق ؟.؟؟؟؟؟؟؟؟؟؟

على كل جل من لا يخطئ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اللي اقصده مبين

أنا قصدت نفس ييلي انت كتبته كما بينت بالجول اعلاه

عرفت شو بقصد ؟؟؟؟؟؟؟؟!!!!!

على كل جل من لا يخطئ

:D :D :D :D :D :D :D

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يا اخي انت مو موضح ردك التاني .........

بعدين هذا الكلام بالاول انت لازم تصححوا مو انا .........

:) :) :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يا شباب ترى إذا بدكم حدا يصالحكم ترى أنا موجود ه

بس على شرط تعزموني على الغدا :-) :)

:P :P :D :D :P :P

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

لا عمي نحنا صحاب

ومنتم اصحاب واحباب

بس انت اذا كنت جوعان فاهلا وسهلا

منعزمك على الغدا .........

بس يمكن عما قول يمكن هاه يمكن المطعم بيقدم اكل اطيب

:D :D :D :D :D :mad:

بعدين معقولة تجي من حلب لحمص مشان غدا؟؟؟؟

نحنا ما بنحب نعذبك

لذلك نحنا رح نجي لحلب احسن

:D :P :D

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

سلام الله عليكم

اختلف الاشقاء ونحن المستفدين :D :D :D وان كان فى ها الشى طريقة لخراج ما فى جعبتكم فلنتركهم يا انس ولنرى ما يكتبوا

ربنا يوافقكم واتمنى ان ارى منكم المزيد ابناء سوريا الغالية

:P :P :P :P

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا يا جماعة و احب اضيف مزيد من افكار التشفير

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

هذة بعض أفكار التشفير مع العلم أن تعقيد العملية يعتمد على متغيرات تختلف باختلاف الصريقة

طريقة ضرب المصفوفات

وهى طريقة سهلة و لكن تحتاج لخلفية رياضية

مفتاح التشفير هو عبارة عن مصفوفة A (افرض أن ابعاها n*n)

قم برص الرسالة المراد تشفيرها فى هيئة مجموعات من الحروف كل منها به n حرف

وبذلك تتكون لديك متجهات مثل x1,x2,.....

اضرب المتجه x1 فى مصفوفة المفتاح A

للحصول على n حرف من الرسالة المشفرة y1

y1=x1A

y2=x2A

y3=x3A

وهكذا الى أخر الرسالة

ارسل الرسالة المشفرة y1,y2,y3,...

لفك تشفير الرسالة يستعمل معكوس المصفوفة كمفتاح للفك

B=inv A

x1=By1

x2=By2

وهكذا

ملاحظات : درجة التعقيد تعتمد على قيمة n

اختر المصفوفة A بحيث يكون لها معكوس حقيقى

طرقة ثانية :

طريقة XOR

الدالة xor ذات خاصية عجيبة

if x XOR k =y

then y Xor K =x

وهذة الطريقة هى أم كل طرق التشفير

و لكن استعمالها مباشرة يسبب تكويد ضعيف يمكن فكة ولابد من زيادة التعقيد

كبف ؟

جرب هذا الكود vb

encoding

s=randomise(k)

for i =1 to 100

y(i)=x(i) XOR int(s*100)

s=rnd(s)

next i

decoding

s=randomise (k)

for i = 1 to 100

x(i)=y(i) XOR int(s*100)

s=rnd(s)

next i

ملاحظات : تعقيد هذة الطرقة يعتمد على مدى

k

فقط

لذلك يستحسن أن تكون

k

هى الأخرى مصفوفة ليكون امامنا عدد ضخم من الأختيارات مما يصعب عملية الفك

وهذة هى فكرة

des

الذى يستعمله ال سى اى ايه

snap jack

الذى يستعمله الكى جى بى

وهو اساس طرق اخرى مثل

blowfish , brownfish

والتان يمكن انزال الكود الخاص بها بأى لغة برمجة من الأنترنت

لا تتردد فى السؤال عن أى غامض

مع محبتى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حلو كتيييير أخي ...

أنا بصدد اعداد مثل هذا المقال ..... ولكن آآآآه من الوقت ....

أشكرك واتمنى ان تتواصل معنا ....

لك تحياتي (f) (f) (f) (f)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

جزاك الله خيرا على هالموضوع

 

 

هل يمكن الحصول على معلومات عن ثغرات انظمة التشفير اذا تكرمت واذا المراجع متوفرة اذا تكرمت

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .