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

The Rsa Encryption Implementation

بدأه HGB في 13 يونيو 2008 · 30 رد · 14,462 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#26

بالنسبة لموضوع RSA

فالسبب الرئيس في كونه قابل للاختراق

كونه يحتاج إلى أرقام أولية من 1024 بت

وهذا يضطرنا إلى استخدام خوارزميات سريعة Probabilistic Algorithms

مثل Lucas-Lehmer test

بالتالي فإنك تستطيع اختراق الخوارزمية عن طريق الخوارزمية الصينية

بالنسبة ل AES

فمازال معمول به حتى الآن

ولحد الآن يعتبر الأقوى

ربما triple DES جيد

لكنه يحتاج إلى وقت كبير

كما أن خوارزمية التشفير تختلف عن عملية الفك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#27

السلام عليكم, اسبكم يومين ارجع ارى الموضوع اصبح بهذا الكبر! :lol: , هو HGP راح فين؟؟ طرح الموضوع و اختفى!!!!

بالنسبة ل AES فقد درست شرح مفصلا عن الطريقة التي تعمل بها طبعا لضعفي في نظريات الرياضيات لم استوعب الامر بالكامل, قد تكون AES 128 بت قد تم التواصل لكسرها و لكن ما هو الزمن؟ ما هو عدد الحواسب و قدراتها؟؟ حتى و لو باستخدام الثغرات الرياضية يبقى الامر اصعب, يعني الثغرة الرياضية إن كانت تقلل من الزمن الذي تحتاجه الخوارزمية لكسرها إلى اي مدى ذلك؟

إذا كان كسر خوارزمية AES 128 بت يحتاج إلى مليون سنة لكسرها فأصبحت مئة سنة فالأمر لم يصبح سهل بعد و بالتالي بالنسبة لنا كمبرمجين ما تزال AES 128 بت أمنة, بالنسبة لوكالات الأمن القومي و ما إلى ذلك, فهم يحتاجون إلى درجة كبيرة بل كبيرة جدا من الحماية فقد يكونوا لذلك قاموا بإدراجها ضمن القائمة B. تخيل مثلا معلومات عسكرية خطيرة جدا تكتشف سوف يسبب مشكلة كبيرة فعلا, أما بالنسبة لنا كمبرمجين أو مستخدمي كمبيوتر سوف نحتاج أن نشفر ايميل, أن نشفر كلمة سر, أن نشفر تطبيق....., وبالتالي أعتقد ما تزال AES 128 بت أمنة لنا كمستخدمين و كمبرمجين و حتى كشركات.

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#28

السلام عليكم

اعتقد ان d

بتيجى بالعلاقة دى

ed mod z=1

حيث z=(p-1)(q-1)

d must be mَ for e this will be by matrix to find it and this is easy

any thing i'm here

#29

السلام عليكم

اخوااني بماانكم مشالله فاهمين بعمق في ال RSA

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

ولكن طلب مني

ان انشا الكود الخاص ب RSA بدون المكتبه التي في الجافا

Assymmetric :

Implement an RSA algorithm using java language without using java libraries. Encrypt the source file using a public key which will be your ID number. You are required to send print screen from your system.

كيف لي بعمل ذاااااالك ؟؟؟؟ ارجوكم سااعدوني ع حلها وفهمهاااااااا

#30

استمتعت جدا بالنقاش هنا :happy: . وارجو من الشباب ضبط النفس والابتعاد عن الالفاظ او التعابير التي قد تؤدي الى سوء الفهم والمشاحنات التي لا داعي لها. وتذكروا دوما "فوق كل ذي علم عليم". :sleep:

بالتوفيق

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#31
HGB كتب:

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

أنا أسف أني برفع مواضع قديمة، بس عاوز أوضح نقطة معينه فيه الموضوع دة.

يعني إيه prime number ؟

prime number معناها أن الرقم يقبل القسمة على نفسه وعلى واحد فقد من غير ما يدك أرقام فيها كسور.

شوف مثلاً الأرقام الاتية:

2, 3, 5, 7, 11, 13 ...

رقم 2 بيقبل القسمه على نفسه و على واحد. و دة يعتبر أول أرقام ال-primes

رقم 3 نفس الشيء.

رقم 13.

لو حاولت أنك تقسم أي رقم من 2 لرقم 12. حيديك كسور

PROOF

In [13]: from __future__ import division

In [14]: for x in range(2,13):
   ....:     13/x
   ....:    
   ....:    
Out[14]: 6.5
Out[14]: 4.333333333333333
Out[14]: 3.25
Out[14]: 2.6000000000000001
Out[14]: 2.1666666666666665
Out[14]: 1.8571428571428572
Out[14]: 1.625
Out[14]: 1.4444444444444444
Out[14]: 1.3
Out[14]: 1.1818181818181819
Out[14]: 1.0833333333333333

فيه نظريه اسمها fundamental theorem of arithmetic بتقول:

كل رقم موجب لازم يكون prime أو حصل ضرب أرقام primes

يعني إيه الكلام دة ؟

يعني الأرقام العادية إلي احنا مكن نقسمها بدون أي مشكل زي مثلاً رقم 8 أصلها أرقام prime مضروبة فيه بعض.

مثال

sage: for x in range(30,40):
....:     print "the number is ",x
....:     print "and it's factorization is", prime_factors(x)
....:     
the number is  30
and it's factorization is [2, 3, 5]
the number is  31
and it's factorization is [31]
the number is  32
and it's factorization is [2]
the number is  33
and it's factorization is [3, 11]
the number is  34
and it's factorization is [2, 17]
the number is  35
and it's factorization is [5, 7]
the number is  36
and it's factorization is [2, 3]
the number is  37
and it's factorization is [37]
the number is  38
and it's factorization is [2, 19]
the number is  39
and it's factorization is [3, 13]

ملحوظة: Sage بيمسح الأرقام المتكررة من اللست

ل-RSA بتعتمد أن حصل ضرب ال-prime number إلي أنت بتعمل بتجبه أن يكون طويل

مثلاً

لو أنت عندك

p=1231231823792173912479124432543

و

q= 768123139872198371298371982257

الاتنين أرقام primes

و حصل ضرب p*q

401823021384544574525863729918028809603511322726565297300551

الرقم الوحيد إلي هو لو أنت قسمته على الرقم دة و حيديك prime number هو حيكون واحد من ال-P أو ال-Q

مفيش أي رقم تاني حتقدر تقسمه على pq و يديك prime number

RSA بتعتمد أنها تجيب رقمين ضخمين. يعني رقمين و كل رقم قدامه 100 صفر، و تضربهم فيه بعض. و بيكون دة هو ال-public

key بتعك

لو أنت قدرت تعرف ال-P أو ال-Q من حصل ضرب PQ.

روح قدم على الجايزة ده، حيدوك مليون دولار عليهه :lol:

وَمَا أُوتِيتُمْ مِنْ الْعِلْمِ إِلاَّ قَلِيلاً

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