0Pricing
Cryptology Academy · درس

مراجعة العمليات على مستوى البتات

شرح مرئي لعمليات AND وOR وXOR وNOT وإزاحة البتات

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

مرحبًا

تعمل العمليات على مستوى البِتّات مباشرةً على التمثيلات الثنائية للأعداد. وهي العمليات الأساسية داخل كل شفرة متماثلة ودالة تجزئة وMAC.

عملية AND

تُرجع AND القيمة 1 فقط عندما يكون كلا البتين 1. 0101 AND 0011 = 0001 حالة الاستخدام: الإخفاء — استخراج بتات محددة. mask = 0xFF; low_byte = value & mask

عملية OR

تُرجع OR القيمة 1 عندما يكون بت واحد على الأقل 1. 0101 OR 0011 = 0111 حالة الاستخدام: ضبط بتات محددة. flags = flags | 0x04 # set bit 2

عملية XOR

تُرجع XOR القيمة 1 عندما تكون البتات مختلفة. 0101 XOR 0011 = 0110 خاصية أساسية: A XOR A = 0، وA XOR 0 = A. XOR عكسية ذاتيًا: (A XOR B) XOR B = A

عملية NOT

تقلب NOT كل بت. NOT 0101 = 1010 (في سياق من 4 بتات) Python: ~5 == -6 (بسبب تمثيل المتمم إلى اثنين) بالنسبة إلى القيم غير الموقعة: ~x & 0xFF تحصر النتيجة في 8 بتات

الإزاحة إلى اليسار (<<)

تنقل الإزاحة إلى اليسار جميع البتات إلى اليسار بمقدار n من المواضع، وتملأ المواضع من اليمين بأصفار. 0001 << 3 = 1000 (= 8) a << n مكافئة لـ a × 2^n تُستخدم في توسيع المفاتيح وعمليات المزج.

الإزاحة إلى اليمين (>>)

تنقل الإزاحة إلى اليمين البتات إلى اليمين، وتتخلص من البتات الدنيا. 1000 >> 2 = 0010 (= 2) a >> n مكافئة لـ a ÷ 2^n (مع التقريب إلى الأسفل) تُستخدم لاستخراج الأنصاف الرباعية: (byte >> 4) & 0x0F

التدوير (ROTL/ROTR)

يلف التدوير البتات حول نفسها بدلًا من التخلص منها. ROTL32(x, n) = (x << n) | (x >> (32-n)) يُستخدم في SHA-256 وAES MixColumns وChaCha20 quarter-round.

حيلة التبديل باستخدام XOR

يتيح XOR تبديل القيم من دون متغير مؤقت: a ^= b b ^= a a ^= b الآن تبدلت قيمتا a وb. تُستخدم هذه الحيلة في بعض تطبيقات الشفرات لتحسين الكفاءة.

أمثلة على العمليات البتية في Python

a = 0b10110011 b = 0b11001100 print(bin(a & b)) # 0b10000000 print(bin(a | b)) # 0b11111111 print(bin(a ^ b)) # 0b01111111 print(bin(~a & 0xFF)) # 0b01001100

عدّ البتات

تحسب bin(n).count('1') عدد البتات المضبوطة (وزن هامِنغ). ومسافة هامِنغ بين كلمتين هي عدد البتات المختلفة بينهما — وهي مهمة جدًا في تصحيح الأخطاء وتحليل الفروقات.

تحقق سريع

ما ناتج 0b1010 XOR 0b1100 بالنظام الثنائي؟

مراجعة

لقد أتقنت العمليات البتية! سنستخدم XOR بعد ذلك لبناء نظام تشفير واكتشاف السرية المثالية لوسادة الاستخدام الواحد.

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

هل درس «مراجعة العمليات على مستوى البتات» مجاني؟

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

ماذا ستتعلم في «مراجعة العمليات على مستوى البتات»؟

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

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

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

كم من الوقت يستغرق درس «مراجعة العمليات على مستوى البتات»؟

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

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

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

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

  1. مراجعة العمليات على مستوى البتات
  2. تشفير XOR ولوحة الاستخدام لمرة واحدة
  3. لماذا لا يكون XOR وحده آمنًا
  4. ‏XOR داخل AES وشفرات التدفق
← العودة إلى Cryptology Academy