الأساس 64

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

التعريف[عدل]

الأساس 64 طريقة تشفير لتحويل ترميز الأسكي للحروف إلى ترميز على أساس 64 ثم استخدام الحرف المقابل له في ترميز 64 [انظر جدول 1 في الأسفل ]
يستخدم التشفير بالأساس 64 عندما تكون هناك حاجة لتشفير البيانات الثنائية المنقولة والممثلة لبيانات نصية، من أجل التأكد أن البيانات لاتزال سليمة بعد عملية النقل.
هناك العديد من التطبيقات التي تستخدم التشفير بالأساس 64 مثل الإيميل باستخدام معيار الإنترنت MIME وكذلك في تخزين البيانات المعقدة في الإكس إم إل [1].

مبدأ العمل[عدل]

يتكون البايت من 8 بت، وفي حال أردنا تمثيل رقم من 0-63 ، فإنه يلزمنا فقط 6 بت، لأن 2 أس 6 = 64
وبالتالي سيكون هناك عدد فائض من البت، أي أن عدد الحروف بعد التشفير، يزيد عنها قبله. و يتطلب هذا النوع من التشفير أن يكون عدد الحروف في النص من مضاعفات رقم 3، من أجل أن نتمكن من تقسيمها إلى عدد من مضاعفات 6، وفي حال تعذر ذلك يضاف الحرف $ في النهاية فكلمة "Linux" تصبح بعد التشفير "TGludXg$".
[2]

الخطوات[عدل]

  1. يتم أولاً تمثيل الأسكي كود للحروف بالترميز الثنائي و باستخدام 8 بت.

لو كان لدينا نص من ثلاثة حروف، فسكون لدينا 3*8 بت

  1. ثم يؤخذ هذا الترميز الثنائي كقطعة واحدة ويقسم إلى مجموعات من 6 بت.

في حالة تقسيم الترميز الثنائي لثلاثة حروف إلى مجموعات من 6 بت، فإن النتيجة 4 مجموعات.

  1. يتم حساب الرقم المقابل لها والذي يمثل الرقم التسلسلي للحرف بعد التشفير.


مثال[عدل]

إذا أردنا تشفير كلمة "spy" فترميز الأسكي المقابل لها هو 83-80-89 وبالترميز الثنائي باستخدام 8 بت (0101001101010 00001011001) أي أن لدينا سلسلة من 24 بت يمكن تقسيمها إلى مجموعات من 6بت، لنحصل على الأرقام (20-53-1-25) وبالعودة إلى الجدول في الأسفل تصبح الكلمة بعد التشفير (U1BZ). تشفير كلمة "spy" باستخدام أساس 64


جدول ترميز الأساس 64:

Value Char   Value Char   Value Char   Value Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

المصادر[عدل]

  1. ^ http://en.wikipedia.org/wiki/Base64
  2. ^ Yu, Lili, Wang Zhijuan, and Wang, Weifeng. 2012. The Application of Hybrid Encryption Algorithm in Software Security. page 2