Cryptology Academy · درس

النظام الست عشري في مخرجات التشفير

تعلّم سبب عرض التجزئات والمفاتيح والنصوص المشفّرة عادةً بترميز ست عشري

الدرس 3 من 413 خطوة

النظام الست عشري في مخرجات التشفير درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

السداسي عشري (Hex) بنظام الأساس 16

السداسي عشري (Hex) هو نظام عدّ أساسه 16، ويستخدم الأرقام 0-9 والحروف A-F أو a-f. ويمثل كل رقم سداسي عشري 4 بتات بالضبط، أي نصف بايت، لأن 16 = 2^4.

يُعد Hex اللغة المشتركة للبيانات الثنائية في الحوسبة. فعناوين الذاكرة، وقيم البايتات، ورموز الألوان، والمخرجات التشفيرية، كلها تُعبَّر عادةً بالنظام السداسي عشري.

4 بتات لكل رقم سداسي عشري

بما أن كل رقم سداسي عشري يمثل 4 بتات بالضبط، فإن كل بايت، أي 8 بتات، يُطابَق مع رقمين سداسيين عشريين بالضبط. وهذا يجعل التحويل بين الثنائي والسداسي عشري بسيطًا جدًا: قسّم الثنائي إلى مجموعات من 4 بتات وحوّل كل مجموعة.

على سبيل المثال، ينقسم البايت 11001010 إلى 1100 (C) و1010 (A)، فتكون قيمته السداسية العشرية CA. ولا حاجة إلى إجراء حسابات؛ يكفي التحويل بالرجوع إلى جدول.

تحويل الثنائي إلى سداسي عشري

لتحويل الثنائي إلى سداسي عشري، جمّع البتات في مجموعات من أربع بتات من اليمين إلى اليسار، ثم حوّل كل مجموعة: 0000=0، 0001=1، ...، 1001=9، 1010=A، 1011=B، 1100=C، 1101=D، 1110=E، 1111=F.

مثال: تتحول 11111111 إلى 1111|1111 = FF = 255 عشريًا. وتتحول 00000000 إلى 00 = 0 عشريًا. أما 01001000 فتتحول إلى 0100|1000 = 48، وهو رمز ASCII للحرف 'H'.

لماذا يُعد Hex مضغوطًا للبيانات الثنائية

سيحتاج مفتاح كامل بطول 32 بايتًا، أي 256 بتًا، إلى 256 خانة من الواحدات والأصفار عند تمثيله بالنظام الثنائي. أما بالنظام السداسي عشري فلا يحتاج إلا إلى 64 محرفًا. وبالنظام العشري سيكون عددًا يصل طوله إلى 78 رقمًا.

يحقق Hex توازنًا مناسبًا: فهو مضغوط بما يكفي ليكون مقروءًا وقابلًا للكتابة من جانب البشر، ويمثل في الوقت نفسه البنية الثنائية الأساسية مباشرةً من دون تكلفة تحويل.

مخرجات SHA-256 بالنظام السداسي عشري

تنتج SHA-256 قيمة تجزئة بطول 256 بتًا (32 بايتًا). وعند عرضها بالنظام السداسي عشري، تكون دائمًا مؤلفة من 64 حرفًا سداسيًا عشريًا بالضبط. على سبيل المثال، قيمة تجزئة SHA-256 للنص "hello" هي 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.

الحساب: 64 حرفًا سداسيًا عشريًا × 4 بتات = 256 بتًا. ويُعد الطول الثابت خاصية أساسية لدوال التجزئة، بغض النظر عن حجم الإدخال.

تمثيل المفتاح بالنظام السداسي عشري

تُخزَّن المفاتيح التشفيرية وتُعرض عادةً كسلاسل سداسية عشرية. يبلغ طول مفتاح AES-128 مقدار 16 بايتًا = 32 حرفًا سداسيًا عشريًا، بينما يبلغ طول مفتاح AES-256 مقدار 32 بايتًا = 64 حرفًا سداسيًا عشريًا.

عند إعداد TLS أو تشفير الملفات، غالبًا ما تحتاجون إلى تقديم المفاتيح كسلاسل سداسية عشرية. وتتوقع أدوات مثل OpenSSL ومكتبة cryptography في Python ومعظم أطر التشفير مفاتيح مرمزة بالنظام السداسي عشري، كما تُخرجها بهذا الشكل.

تمثيل IV وnonce

تُمثَّل متجهات التهيئة (IVs) وقيم nonce أيضًا بالنظام السداسي عشري. يبلغ طول IV القياسي لـ AES-CBC مقدار 16 بايتًا = 32 حرفًا سداسيًا عشريًا. ويستخدم AES-GCM عادةً قيمة nonce بطول 12 بايتًا = 24 حرفًا سداسيًا عشريًا.

يسهّل التمثيل السداسي العشري فحص قيم IV ومقارنتها بصريًا، والتحقق من استخدام قيم nonce مختلفة لرسالتين، وتصحيح أخطاء بروتوكولات التشفير يدويًا أثناء التطوير.

تنسيق مخرجات OpenSSL السداسي عشري

يُخرج OpenSSL قيم التجزئة والمفاتيح بتنسيق محدد: أحرف سداسية عشرية صغيرة مع نقطتين بين كل زوج من البايتات. على سبيل المثال، تظهر قيمة تجزئة MD5 بالشكل "b9:4d:27:b9:93:4d:3e:08:a5:2e:52:d7:da:7d:ab:fa:c4:84:ef:e8".

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

السداسي عشري مقابل Base64 لبيانات الشهادات

تُخزَّن شهادات X.509 بتنسيق DER (ثنائي) أو بتنسيق PEM (بيانات DER مرمّزة باستخدام Base64). ويمكن استخدام النظام السداسي عشري أيضًا، لكن Base64 أكثر اختصارًا بنسبة 33% من النظام السداسي عشري (إذ يرمّز كل حرف في Base64 إلى 6 بتات، مقابل 4 بتات للحرف السداسي العشري).

تُفضَّل Base64 للكائنات الكبيرة مثل الشهادات والملفات المشفّرة. أما القيم القصيرة مثل قيم التجزئة والمفاتيح وIVs وقيم MAC، فيُفضَّل تمثيلها بالنظام السداسي عشري لأنه يعرض حدود البايتات مباشرةً.

قراءة التفريغات السداسية العشرية

يعرض التفريغ السداسي العشري ملفًا أو منطقة من الذاكرة على شكل بايتات سداسية عشرية وأحرف ASCII جنبًا إلى جنب. يعرض العمود الأيسر القيم السداسية العشرية، بينما يعرض العمود الأيمن أحرف ASCII القابلة للطباعة، مع استخدام نقاط للبايتات غير القابلة للطباعة.

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

الترميز السداسي عشري في رؤوس الأمان

تستخدم رؤوس أمان HTTP والرموز التشفيرية الترميز السداسي العشري كثيرًا. وغالبًا ما تُمثَّل رموز CSRF ومعرّفات الجلسات ومفاتيح API كسلاسل سداسية عشرية يتراوح طولها بين 32 و64 حرفًا.

يبلغ طول رمز CSRF عشوائي بحجم 128 بتًا (16 بايتًا) عند ترميزه بالنظام السداسي العشري 32 حرفًا. ويمكن التحقق من صحته بسهولة: عُدّوا الأحرف، وتأكدوا من ظهور الرموز من 0-9 وa-f فقط، وتأكدوا من عدم وجود أحرف حشو، إذ إن وجودها يشير إلى استخدام Base64 بدلًا من النظام السداسي عشري.

اختبار التحويل السداسي العشري

اختبروا مدى فهمكم للتمثيل السداسي العشري.

أهم النقاط: النظام السداسي العشري في التشفير

يرمّز النظام السداسي العشري 4 بتات لكل حرف، ولذلك يساوي البايت الواحد رقمين سداسيين عشريين. وتنتج SHA-256 عدد 64 حرفًا سداسيًا عشريًا (256 بتًا)، بينما يبلغ طول مفاتيح AES-128 مقدار 32 حرفًا سداسيًا عشريًا، ومفاتيح AES-256 مقدار 64 حرفًا سداسيًا عشريًا.

يُعد النظام السداسي العشري التمثيل القياسي لقيم التجزئة التشفيرية والمفاتيح وIVs وقيم nonce، لأنه يعكس بنية البايتات مباشرةً. ويُخرج OpenSSL ومعظم أدوات التشفير قيمًا مرمّزة بالنظام السداسي عشري، كما تقبلها.

البدء مجانًا

تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
67
الدروس
261

الأسئلة الشائعة

هل درس «النظام الست عشري في مخرجات التشفير» مجاني؟

نعم — نص درس «النظام الست عشري في مخرجات التشفير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «النظام الست عشري في مخرجات التشفير»؟

تعلّم سبب عرض التجزئات والمفاتيح والنصوص المشفّرة عادةً بترميز ست عشري تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «النظام الست عشري في مخرجات التشفير»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ترميز Base64: كيف يعمل
  2. ASCII وUnicode وتمثيل النصوص
  3. النظام الست عشري في مخرجات التشفير
  4. الترميز مقابل التشفير مقابل التجزئة
← العودة إلى Cryptology Academy