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

والتشفير هو عملية تغيير محتوى نص (بيانات)الى رموز وارقام يصعب فهمها,تتم عملية التشفير باستخدام خورزميات رياضية عديدة ومتنوعة حسب الاسلوب,تبنى خورزميات التشفير على اسلوبان هما التشفير المتناظر (متماثل)   symmetric cryptography والتشفير الغير المتناظر (غير متماثل) asymmetric cryptography  سيكون اساسنا على التشفير الغير متناظر .

 

التشفير المتناظر (المتماثل)   symmetric cryptography : هو أسلوب من أساليب التشفير يستخدم فيه مفتاح سري لتشفير رسالة ما وفك تشفيرها، ويسمى بالتشفير بالمفتاح المتناظر لأن المفتاح الذي يستخدم لتشفير الرسالة هو نفسه المستخدم لفك تشفيره نستطيع استنتاج قيمة مفتاح فك التشفير من مفتاح التشفير والعكس بالعكس، في حين أن معظم خوارزميات التشفير بالمفتاح المتناظر تستخدم نفس المفتاح للعمليتين.تعد خوارزمية DES) Data Encryption System) أحد أهم الخوارزميات المتناظرة المستخدمة بشكل كبير ولا تزال تستخدم على نطاق واسع لتحقيق الاتصال الآمن على الانترنت ضمن بروتوكول SSL ومجالات أخرى شبيهة للمزيد من معلومات على هذه خورزمية قم بزيارة Google.

التشفير الغير متناظر (غير متماثل)asymmetric cryptography:وهو أسلوب يعتمد على خوارزمية رياضية تنتج مفتاحين أحدهما يدعى المفتاح العام Public Key وهو المفتاح التشفير الذي يشفر به والمفتاح الخاص Private Key وهو المفتاح السري الذي تفك به الشفيرة,المفتاح العام يمكن الحصول عليه جميع الناس بعكس المفتاح الخاص فإن هذا أخير تفك به الشفيرة وهو مستقل إستقلال تام عن المفتاح العام أي غير مشابه له ولا يمكن استعمال المفتاح العام بأي عملية رياضية لإستنتاج المفتاح الخاص,ومن أشهر خورزميات هذا النوع من أساليب التشفير هي خورزمية RSA إختصارا لي Rivest Shamir and Adleman نسبة إلى العلماء الثلاثة الذين ابتكروا هذه الخوارزمية,وهي عبارة عن خوارزمية تشفير مبنية على الأعداد الأولية تقوم بإنتاج مفتاحين أحدهما هو المفتاح العام Public Key الذي يشفر به الرسالة والآخر المفتاح الخاص Private Key وهذا أخير يتم الحصول عليه عن طريق خوارزمية Extended  Euclidean algorithm أو ما تعرف بخوارزمية إقليدس.

علينا أولا أن نختار عددين أوليين وليكن P و Q (يفضل أن يكونا أعداد كبيرة) يمكنك أن تحصل عليهم من قائمة الأعداد الأولية.

1- نحسب جداء P و Q وليكن الناتجه هو N

2- نجري عملية التالية (p-1)*(q-1) وليكن الناتج هو z

3- نختار عدد اولي أكبر من الواحد وأقل من z وليكن  E  يمكنك أن تحصل عليه من الرابط السابق

4- نطبق خوارزمية Extended Euclidean algorithm لكي نحصل على العدد d يمكنك أن تطلع عليها من هنا

5- المفتاح العام سيكون (e,n) والمفتاح الخاص سيكون (d,n)

6- عملية التشفير ستجرى كالتالي:ASCII أس e مود N

7- عملية فك التشفير ستكون كالتالي:code أس d مود N

ملاحظة:عند بدأ في عملية التشفير خذ النص المراد تشفيره وإذهب إلى هذا الموقع وقم بتحويل النص إلى Decimal وبعدها خذ قيم النص وإبدأ في عملية التشفير

سأقوم الآن بشرح هذه الخوارزمية تابعوا معي الفيديو:

 

 

 

ومن المعروف فإن خوارزمية RSA هي خوارزمية معقدة وقوية يصعب كسرها بالربما تقدر تحكم عليها بالمستحيل إلى أن من مجموعة من العلماء من معهد inria قاموا بكسر الشفيرة بطول 1024 بت وكما تقول القاعدة العامية للتشفير”كلما زاد طول البت زادت صعوبة الشفيرة” فما قام بع هؤلاء العلماء هو توليد خطئ في كل دورة معالجية ( error per clock cycle ) عبر التلاعب في محول الطاقة مما يؤدي إلى كشف بت واحد من المفتاح المشترك المستخدم في كل مرة ومع التكرار المستمر ستبدأ المزيد من البتاتات في الظهور ومع مرور الوقت ستتوفر مجموعة من المعلومات تساعد على كسر التشفير,وقد إستغرقت منهم 104 ساعة من أجل كسر الشفرة بشكل كلي.