المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : معيار التشفير المتطور aes


me&delphi
25-01-2011, 12:04 AM
السلام عليكم

معيار التشفير المتطور Advanced Encryption Standard) AES) ويعرف كدلك باسم Rijndael وهو عبارة عن تشفير من النوع الثماتلي (symmetric) يعتمد على مفتاح واحد في التشفير وفك التشفير عكس خوارزمية RSA مثلا.

و تم الاعلان عن هده الخوارزمية من طرف National Institute of Standards and Technolog) NIST ) كمعيار قياسي للمنظمات الحكومية الأمريكية ودلك بعد تقديم 15 خوارزمية منافسة أختير منا 5 خوارزميات
(MARS,Rijndael,RC6,Serpent,Twofish) ليتم انتقاءRijndael كأفضل حل مثالي خلفا ل خوارزمية DES التي أكل عليها الدهر و شرب لأنها تستعمل مفاتيح دات طول 56 Bits فقط مما يجعلها عرضة ل Brute Force المهم لن نخوض في DES لأنها ليست موضوعنا.

وبشكل رسمي تم العمل ب AES في ماي 2002 و هي من تصميم الخبيرين في مجال التشفير Vincent Rijmen و Joan Daemen الاثنان جنسية بلجيكية وهي مكونة من ثلات كتل من الشفرات AES-128 AES192 AES 256 وكل كتلة لديها حجم تابت 128 Bits أي 16 Bytes ومفاتيح 256-192-128 باحترام الترتيب .
والخوارزمية تأخد 16 Bytes كمدخل والمفتاح حسب الاختيار 128 أو 192 أو 256 وهاته الكتلة تقلب حسب جدول محدد مسبقا ثم توضع في مصفوفة مكونة من 4*4 عناصر وصفوفها Rows تخضع لعملية تدوير أو دوران الى اليمين و زيادة الدورة تتم حسب رقم الصف ثم يطبق على المصفوفة تحول خطي Linear Transformation وهو ضرب ثناني لكل عنصر في المصفوفة في Polynomes (لا أعرف الترجمة الموافة لها بالعربية) من مصفوفة أخرى مسااعدة و عملية الضرب هده تخضع لقواعد (Galois Group) والتحول الخطي يضمن انتشار Bytes في الهيكل في عدة دورات .

و أخيرا عملية XOR بين المصفوفة و مصفوفة أخري تعطينا مصفوفة و سطية .

وهده العمليات يتم تكرارها عدة مرات فالنسبة لمفتاح 128 Bits هناك 10 دورات و 192 bits هناك 12 دورة و 256 bits هناك 14 دورة.

للمزيد من المعلومات ستجدونها اخواني في Wikipedia فمنها استمدت هده المعلومات البسيطة .

وللعلم ف AES تستخدم تقريبا في كل المجالات حتى القنوات الفضائية تعتمد عليها في تشفير البث و كدلك البرنامج الشهير Winrar وهي أقل استهلاكا لموارد الجهاز و تستعمل كدلك في الشبكات حتى في تشفير الهارد وير و و ...

وفي المرفقات مثال بدلفي مع وحدة AES يجب دراستها لفهم آلية العمل وسنستعمل في المتال نوعين من تشفير الكتل bloks وهما ECB و CBC وهدا تعريف بسيط لكل واحد منهما:

ECB
Electronic Code Book
و يعتبر الأبسط من بين كل الأنواع أيجابيته الوحيدة أه يوفر ولوجا سريعا للكتل.

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

CBC
Cipher Blok Chaining
اما هدا النوع فيطبق عملية XOR على كل كتلة مع شفرة الكتلة السابقة قبل أن يتم تشفيرها.

وهنالك عدة أنواع أخرى غير ECB و CBC .

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

وقيل أن أنسى في مايخص مجال الحماية فالخوارزمية جد قوية و هدا سبب اعتمادها و لحد الآن لم تكسر بالرغم من كسر بعض المفاتيح التي عدد دوراتها تقل عن 10 أو 9 على ما أعتقد

فان أردت أخي الكريم حماية تامة لمعلوماتك استعمل 256 Bits دو 14 دورة وكل ما كان المفتاح طويلا ومعقدا زادت صعوبة الكسر

وكدلك قبل أن أنسى بالنسبة ل طول محارف المفتاح ف :
TAESKey128 = array [0..15] of byte
TAESKey192 = array [0..23] of byte
TAESKey256 = array [0..31] of byte
أي
128 Bits تقبل 16 محرف
192 Bits تقبل 24 محرف
256 Bits تقبل 32 محرف

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



وفي المرفقات فيديو فلاش يبين طريقة التشفير + مثال الدلفي

kachwahed
25-01-2011, 04:36 PM
وعليكم السلام ورحمة الله
موضوع جميل :)
كإضافة بخصوص 256 bit سأذكر ما سمعت دون تعليق فلست متخصصا:
استعمل 256 Bits دو 14 دورة وكل ما كان المفتاح طويلا ومعقدا زادت صعوبة الكسر
ضمن إحدى محاضرات InterBase ضمن CodeRage بعد أن تحدث المحاضر عن تشفير AES 256 وصعوبة كسره...
اتصل أحد السائلين وذكر أن مفتاح 128 أصعب لفك التشفير مقارنة بـ 256 في AES وأنسب للحماية!
وما كان المحاضر إلا أن يقول: شكرا جزيلا على التنبيه سنتفقد ذلك...
----
بعض الهاكرز يقومون باستخدام أجهزة الضحايا لتوزيع مجال الاحتمالات (Plage) على ملايين الأجهزة المخترقة
وبالتالي يقلصون مدة الـ Brute Force ويحصلون على مفاتيح أعتى وأشهر حمايات التشفير في مدة وجيزة نسيبا...
البعض الآخر يبحث عن اختراق الحواسيب العملاقة ذات السرعة المتقدمة ويستخدمها لفك المفاتيح...
الفلاش أذكر أني رأيته من قبل ولا أتذكر أين بالتحديد :)
بالتوفيق me&delphi

me&delphi
26-01-2011, 01:16 AM
مشكو أخي kachwahed

مفتاح 128 أصعب لفك التشفير مقارنة بـ 256 في AES وأنسب للحماية!

لا أظن دلك صحيحا لأنه ليس منطقيا فكلما كبر طول المفتاح كان أصعب في الكسر وكلما كان كبيرا وعدد دوراته كدلك

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

أما ملف الفلاش فمن AT4RE جزاهم الله كل خير وهو متوفر في النت يمكن مشاهدته من خلال عدة روابط هده احداها
http://www.cs.bc.edu/~straubin/cs381-05/blockciphers/rijndael_ingles2004.swf
http://moazeni.persiangig.com/Information%20Security/AES.swf

وهدا ملف PDF مرفق يشرح الخوارزمية

سلطان2005
12-03-2012, 09:16 AM
السلام عليكم شباب
ماشاء الله ابداعتكم جميله جدا
فقط حبيت اسئل واستفسر لو حبيت ادرس هذا المجال ما التخصص الي يدرسك الخوارزميه وغيرها ؟

me&delphi
10-05-2012, 06:43 PM
فقط حبيت اسئل واستفسر لو حبيت ادرس هذا المجال ما التخصص الي يدرسك الخوارزميه وغيرها ؟

وعليكم السلام

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

أما أدا أردت أكثر من دلك ...مثلا أن تنشىء خوازميات دات مستوى جيد خاصة بك فلابد من الالمام بالعلوم الرياضية