الأمن السيبراني

ما هو النفخ وكيف يتم استخدامه في التشفير؟


Blowfish هو متغير ، متماثل ، 64 بت كتلة الشفرات. صممه بروس شنير في عام 1993 باعتباره “الأغراض العامة خوارزمية، “كان يهدف إلى توفير بديل سريع ومجاني ومتسرب لمعايير تشفير البيانات الشيخوخة (des) وخوارزمية تشفير البيانات الدولية (فكرة) التشفير الخوارزميات.

غير مُرضى ومتاح مجانًا لجميع المستخدمين والاستخدامات ، يكون Blowfish أسرع بكثير من DES و IDEA. ومع ذلك ، نظرًا لحجم الكتلة الصغيرة ، لم يستطع استبدال DES تمامًا. يعتبر حجم كتلة 64 بت من الخوارزمية غير آمن ويجعله عرضة هجمات عيد الميلاد، وتوقيت هجمات وتسرب البيانات.

مزدوج، خلفها ، خاطب مشكلة الأمن مع حجم كتلة أكبر قدره 128 بت ، وهذا هو السبب في أن شنير نفسه أوصى أن ينتقل الأشخاص من السمكة إلى twofish. لكن مخاوفها الأمنية على الرغم من ذلك ، لم يتم كسر تشفير الأسماك الكاملة – من خلال مفهوم يُعرف باسم التحليل التشفير – ويتم تضمين الخوارزمية في العديد من أجنحة التشفير ومنتجات التشفير المتاحة اليوم ، بما في ذلك تطبيقات مثل الشبكات الخاصة الافتراضيةو برنامج مكافحة الفيروسات و مديري كلمة المرور.

ما هو تشفير أسماك النفخ؟

Blowfish هو نوع من التشفير المتماثل ، مما يعني أن المفتاح نفسه يستخدم لتشفير البيانات وفك تشفيرها. إنه تشفير 64 بت لأنه يتميز بحجم كتلة 64 بت. يستغرق حجم نص عادي ثابت 64 بت من البيانات المعروفة باسم أ حاجز في أي وقت ثم يشفرها نص مشفر.

بالإضافة إلى ذلك ، يأخذ Blowfish طول متغير المفتاح السري، مع أطوال المفتاح التي يمكن أن تختلف من 32 بت إلى 448 بت. يحدد طول المفتاح أمان البيانات التي يتم تشفيرها ، مع زيادة أطوال المفاتيح الأطول. وهو يتكون من 16 تكرارات تشبه Feistel ، حيث يعمل كل تكرار على كتلة 64 بت تقسم إلى كلمتين 32 بت. بصرف النظر عن حجم الكتلة 64 بت والمفتاح السري الطول المتغير ، يتضمن تشفير أسماك النفخ ما يلي:

  • جيل من 18 مفاتيح فرعية باستخدام p-array و pre-precortation of s-boxes.
  • ستة عشر جولة من التشفير التي تتضمن بدائل معقدة وعمليات نقل باستخدام عمليات XOR والإضافات والبحث في صناديق S.
  • بعض ما بعد المعالجة لإصلاح كتل النص المشفر 64 بت.

بعد المعالجة بعد المعالجة ، يتم فك تشفير النص المشفر باستخدام نفس العملية مثل التشفير ، وإن كان ذلك في الاتجاه المعاكس ، لتجديد النص العادي.

رسم بياني يوضح أساسيات كيفية عمل أصفار الكتلة
كيف تملأ الأصفار مثل السمكة المفعمة بالحيوية والعمل المزدوج

كيف يعمل تشفير الأسماك؟

يستخدم Blowfish هيكل تشفير Feistel 16 جولة.

في بنية Feistel ، يتم تشغيل وظيفة مستديرة بشكل متكرر عدد معين من المرات داخل الخوارزمية. في كل جولة ، تتم معالجة النص العادي باستخدام خطوة الاستبدال وخطوة التقليب.

في حالة Blowfish ، يعمل كل تكرار على كتلة 64 بت تقسم إلى حاجزتين فرعيتين 32 بت. هذان النصفان من النص العادي ، والذي يمكن الإشارة إليهما ل لليسار و ص من أجل اليمين ، يتم تخفيفها بشكل منفصل باستخدام سلسلة من العمليات الرياضية – الاستبدال والتقليب. في نهاية الجولة الأخيرة (16) ، يتم تسلسل L و R لتشكيل كتلة النص المشفر. أثناء فك التشفير ، تتكرر نفس العملية مع المفاتيح الفرعية المستخدمة بترتيب عكسي. في الخطوة الأخيرة ، يتم تبديل L و R لتمكين فك التشفير.

عملية تشفير الأسماك وعملية فك التشفير

يستخدم السمكة واحدة مفتاح التشفير لتشفير البيانات وفك تشفيرها ، مما يجعلها مثالًا على خوارزمية التشفير المتماثلة.

تتكون خوارزمية أسماك النفخ من جزأين رئيسيين:

  1. تشفير البيانات. قبل التشفير ، يتم إنشاء 18 مفاهي فرعية ؛ يتم استخدام نفس المفاتيح الفرعية لكل من التشفير وفك التشفير. تتم تهيئة P-Array وأربعة صناديق S مع أرقام PI. تتكون عملية التشفير من 16 جولة وتتضمن أيضًا بعض المعالجة بعد المعالجة للانضمام إلى أجزاء مخفوقة 32 بت إلى كتل مشفر 64 بت.
  2. التوسع الرئيسي والفرع. في عملية التوسع المفتاح ، يتم تحويل مفاتيح 448 بت بحد أقصى إلى عدة صفائف مفتاح فرعية ، حيث بلغ مجموعها 4،168 بايت. تشكل المفاتيح جزءًا لا يتجزأ من خوارزمية الأسماك ، والتي تستخدم الكثير منها. يتم حساب هذه المفاتيح هذه قبل أن يحدث التشفير أو فك التشفير.

يستخدم Blowfish مجموعة P-array التي تتكون من 18 مفاتيح فرعية 32 بت (18-entry p-array) وأربعة صناديق S 32 بت مع 256 إدخالات (256-entry s-bloxes). يتم حساب المفاتيح بهذه الخطوات:

  1. تتم تهيئة P-Array و S- صناديق مع سلسلة ثابتة من سداسي عشري أرقام PI.
  2. العنصر الأول في P-Array (P1) هو الآن Xored مع أول 32 بت من المفتاح ، و P2 يتم إدراجها مع 32 بت وهكذا ، حتى يتم تحصين جميع العناصر الموجودة في P-array مع البتات الرئيسية.
  3. يتم تشفير جميع الأوتار الصفر بواسطة الخوارزمية كما هو موضح في الخطوات السابقة.
  4. يتم استبدال صفائف P1 و P2 بالإخراج من الخطوة الثالثة.
  5. يتم تشفير هذا الإخراج بواسطة أسماك النفخ مع مفاتيح فرعية معدلة.
  6. إخراج الخطوة الخامسة يعدل p3 و p4 في p-array.
  7. تستمر هذه العملية حتى يتم تعديل جميع المباراة P وأربعة صناديق S-مما يعني أن A-Array بالكامل ويتم استبدال جميع إدخالات S-box.

كل جولة تنطوي على استخدام إدخال واحد من p-array. بعد الجولة النهائية ، هناك نوعان من p-entries غير مستخدمين ، أحدهما يتم تحفيزهما مع كل نصف كتلة البيانات. في المجموع ، يعمل Blowfish 521 مرة لإنشاء جميع المفاتيح والعمليات. هذا يمثل حوالي 4 كيلوبايت من البيانات التي تمت معالجتها.

https://www.youtube.com/watch؟v=AODXWTQIBCI

أثناء فك التشفير ، يتم استخدام المفاتيح الفرعية في الاتجاه المعاكس. تتضمن العملية إنشاء 18 مفاهيًا فرعية مخزنة في برنامج P-array وتهيئة صناديق S-أربعة صناديق S ، كل منها 256 إدخالات وتهيئة مع أرقام PI. كما هو الحال مع التشفير ، يتضمن فك تشفير الأسماك أيضًا 16 جولة ، بالإضافة إلى معالجة ما بعد المعالجة ، مما يؤدي إلى إخراج نص عادي 64 بت.

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

افترض أن رسالة “HI World” تحتاج إلى ترميز أسماك Blowfish. فيما يلي الخطوات المعنية:

  1. في البداية ، يتكون المدخلات “Hi World” من سبعة أحرف بالإضافة إلى مساحة واحدة ، والتي تساوي 64 بت ، أو 8 بايت.
  2. يتم تقسيم المدخلات إلى 32 بت. تُشير الـ 32 بت الأيسر – “Hi W” – مع P1 ، والتي يتم إنشاؤها عن طريق التوسع المفتاح لإنشاء قيمة تسمى P1 – تشير إلى عدد أولي ، وهو رقم غير قابل للقسمة باستثناء 1 وحده.
  3. بعد ذلك ، يمر P1 عبر وظيفة تحويلية (F in) حيث يتم تقسيم 32 بت إلى 4 بايت لكل منها وتمريرها إلى صناديق S الأربعة.
  4. تتم إضافة أول قيمتين من أول صناديق S إلى بعضها البعض ويتم Xored مع القيمة الثالثة من S-box الثالثة.
  5. تتم إضافة هذه النتيجة إلى إخراج صندوق S- الرابع لإنتاج 32 بت كإخراج.
  6. يتم إخراج F في xored مع 32 بت اليمنى من رسالة الإدخال – “orld” – لإنتاج الإخراج F1 ‘.
  7. بعد ذلك ، يحل F1 “محل النصف الأيسر من الرسالة ، بينما يحل P1” محل النصف الأيمن.
  8. تتكرر هذه العملية نفسها للأعضاء المتتاليين في P-Array لمدة 16 جولة في المجموع.
  9. أخيرًا ، بعد 16 جولة ، يتم إخراج المخرجات P16 ‘و F16 “مع آخر مداولين من P-Array ، IE ، P17 و P18. ثم يتم إعادة تجميعها لإنتاج النص المشفر 64 بت من رسالة الإدخال.

مزايا السمكة

واحدة من أسرع وأكثر أصفاف الكتل في الاستخدام العام ، يستخدم Blowfish مفتاح تشفير متماثل لتحويل البيانات إلى نص مشفر. بعد ما يقرب من ثلاثة عقود من تطويره لأول مرة ، لا يزال الأسماك النفخ على نطاق واسع لأنه يوفر هذه المزايا:

  • إنها أسرع وأكثر كفاءة من خوارزميات DES و IDEA وأكثر مرونة بسبب حجم المفتاح المتغير.
  • يمكن استخدامه بحرية من قبل أي شخص حتى بدون ترخيص.
  • على الرغم من مرحلة التهيئة المعقدة قبل التشفير ، فإن عملية تشفير البيانات فعالة وتتطلب عمليات أقل مقارنة ببعض خوارزميات التشفير الأخرى.
  • بمجرد تشفير المفتاح ، قد يكون من الصعب للغاية بالنسبة لحزب غير مصرح به أو ممثل تهديد ضار لاستعادة البيانات إذا لم يكن لديهم بالفعل المفتاح الأصلي.
  • يوفر أمانًا مكثفًا للبرامج والتطبيقات التي تم تطويرها في جافا.
  • يوفر وصول آمن ل نسخة احتياطية الأدوات ، ويدعم الآمنة مصادقة المستخدم للوصول عن بُعد.
مخطط يوضح الخطوات التي ينطوي عليها تشفير رسالة.
تبدأ رسالة مشفرة بتطبيق مفتاح تشفير على رسالة نصية.

عيوب السمك

هناك بعض الجوانب السلبية لاستخدام أسماك النفخ للتشفير:

  • تعوق السرعة عند تغيير المفاتيح.
  • قد تستغرق عملية الإعداد الأولية والجدول الزمني الرئيسي وقتًا طويلاً ، مما يجعل الخوارزمية غير صالحة للاستعمال للتطبيقات التي تكون فيها السرعة أولوية أو حيث يلزم تحول المفاتيح.
  • حجم الكتلة 64 بت يجعل الخوارزمية عرضة لهجمات أعياد الميلاد ، فئة من هجمات القوة الغاشمة، يمكن أن يتنازل عن التطبيق وأمان المستخدم.
  • متغيرات خوارزمية أسماك النفخ مع جولات أقل معرضة لهجمات النص العادي المعروف.
  • يؤدي عدم وجود مصادقة مدمجة أو عمليات تكامل البيانات إلى زيادة احتمال حدوث تسرب البيانات.

تطبيقات السمك

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

  • التشفير بالجملة.
  • جيل بت عشوائي.
  • تشفير الحزمة.
  • كلمة المرور التجزئة والإدارة.
  • معالجات الهاتف المحمول.
  • البريد الإلكتروني أو الملف أو تشفير القرص.
  • النسخ الاحتياطي للبيانات.
  • قذيفة آمنة.

تستخدم العديد من المنتجات الشعبية أسماك السمك:

  • PasswordWallet. يقوم هذا التطبيق بإنشاء وتخزين كلمات المرور في قاعدة بيانات مشفرة لحسابات متعددة ، مما يلغي الحاجة إلى تذكر أو إدارة كلمات المرور وتقليل خطر سرقة الهوية.
  • الإصدارات القديمة من Veritas Netbackup ، سابقا Symantec netbackup. يجمع حل أمان البيانات متعدد الطبقات هذا بين إدارة البيانات والأتمتة لحماية بيانات المؤسسة عبر السحب الهجينة المتكاملة. بدءًا من Netbackup V8.0 ، تم استبدال سمكة Blowfish بمعيار التشفير المتقدم 256 بت (AES).
  • Peazip. تدعم هذه الأداة المساعدة المجانية والمفتوحة في الملفات وأداة إدارة الملفات تنسيقات الملفات والأرشيفات المتعددة ويمكنها أتمتة عمليات النسخ الاحتياطي.

في الماضي ، بعض منصات التواصل الاجتماعي كما استخدمت مواقع التجارة الإلكترونية أيضًا Blowfish لحماية بيانات المستخدم. يستخدم معظمهم الآن تشفير المنحنى الإهليلجي ، AES و Rivest-Shamir-Adleman لأن هذه الخوارزميات الأحدث تعتبر أكثر أمانًا ، لا سيما لحماية المعلومات الحساسة ، مثل تفاصيل بطاقة الائتمان ، وتشفير الاتصالات الإلكترونية.

يعد Scarkbling Plaintext في نص مشفر ضروري لحماية البيانات بحيث لا يمكن قراءته أو استخدامه من قبل الأشخاص الخطأ. استكشاف مزيد من أساسيات خوارزميات التشفير الرئيسية المتماثلة.



Source link

زر الذهاب إلى الأعلى