ما هي خوارزمية التشفير المزدوجة؟
Twofish هو مفتاح متماثل كتلة الشفرات بحجم كتلة 128 أجزاء ومفتاح طول المتغير بحجم 128 ، 192 أو 256 بت. تم تحسين خوارزمية التشفير هذه لوحدات المعالجة المركزية 32 بت وهي مثالية لبيئات الأجهزة والبرامج. إنه مفتوح المصدر (غير مرخص) ، غير مسبق ومتاح بحرية للاستخدام. يشبه Twofish تشفير كتلة سابق ، السمك. ويتضمن أيضًا وظائف متقدمة لاستبدال معيار تشفير البيانات (des) الخوارزمية.
فهم مزدوج
Twofish عبارة عن خوارزمية تشفير متماثلة تستخدم مفتاحًا واحدًا لتشفير البيانات والمعلومات. يقبل المفتاح مع نص عادي معلومة. هذا المفتاح يحول المعلومات إلى نص مشفر، والتي لا يمكن فهمها دون فك التشفير. يتم إرسال البيانات المشفرة إلى المستلم مع مفتاح التشفير ، إما بعد النص المشفر أو معه. يمكن للمستخدم استخدام هذا المفتاح لفك تشفير المعلومات المشفرة.
على الرغم من أنه لا يعتبر معيارًا متقدمًا للتشفير ، إلا أن Twofish يوفر بديلاً أكثر كفاءة وأمان لـ DES خوارزمية. أحد الأسباب هو حجم كتلة 128 بت ، مما يجعله مقاومًا هجمات القوة الغاشمة. آخر هو جدولها الرئيسي المعقد مع دعم لأحجام المفاتيح المتعددة.

الهندسة المعمارية المزدوجة
يتكون Twofish من عدد من اللبنات الأساسية ، مثل ما يلي:
- شبكة Feistel. طريقة لتحويل أي وظيفة (وظيفة f) إلى تقليب يشكل أساس العديد من الأصفار كتلة.
- S- صناديق. عمليات الاستبدال غير الخطية. يستخدم Twofish أربعة صناديق S- مُحسّنة ، تعتمد على المفاتيح ، Bijective ، 8-by-8 بت. يتم استخدامها بشكل شائع في أصفاف الكتلة.
- أقصى مسافة قابلة للفصل (MDS) مصفوفات. ميزة شائعة من رموز تصحيح الأخطاء ريد سولومون. يستخدم Twofish مصفوفة واحدة 4 في 4 MDS على Galois Field (28) للحسابات.
- تحويل Pseudo-Hadamard (PHT). عملية خلط بسيطة تعمل بسرعة في البرنامج. يستخدم TwoFish PHT 32 بت لخلط المخرجات من وظيفتين G المتوازي 32 بت.
- تبييض. تقنية المواد الرئيسية Xoring قبل وبعد الجولات الأولى والأخيرة ، على التوالي. Twofish Xors 128 بت من المفاتيح الفرعية قبل جولة Feistel الأولى وبعد جولة Feistel الأخيرة.
- جدول رئيسي. الوسيلة التي يتم من خلالها تحويل البتات الرئيسية إلى مفاتيح مستديرة يمكن للتشفير استخدامها. Twofish لديه جدول رئيسي معقد ، والذي يساهم في القدرات الأمنية.
كيف يعمل Twofish
Twofish هو 128 بت متماثل قم بمنع الشفرات التي تنقسم النص العادي إلى أربعة بتات 32 بت كلمات. هذه الكلمات هي Xorred مع أربع كلمات رئيسية – خطوة تعرف باسم تبييض المدخلات. ثم ستة عشر جولة ثم تتبع ، مع الكلمتين على اليسار المستخدمة كمدخلات إلى ز وظائف (أربعة صناديق S المعتمدة على المفاتيح على مستوى البايت تليها الخلط الخطي بناءً على مصفوفة MDS) في كل جولة.
بعد ذلك ، يجمع PHT بين نتائج وظيفتي G. يتم تدوير إحدى الكلمات الموجودة على اليمين اليسرى بتقييم 1 بت ، بينما يتم تدوير الآخر بعد ذلك مباشرة. باتباع هذا ، يتم إدراج النتيجة (لإضافة الكلمة الرئيسية) في الكلمات الموجودة على اليمين.
يتم تبديل النصفين الأيسر واليمين للجولة التالية. بمجرد اكتمال جميع الجولات ، يتم عكس مبادلة الجولة الأخيرة. تُعرف هذه الخطوة باسم تبييض الإخراج. أخيرًا ، يتم تحضير الكلمات الأربع بأربع كلمات رئيسية لإنتاج النص المشفر ، الذي تتم كتابة كلمات الأربع التي يتم كتابتها على أنها 16 بايت. كما يتم استخدام نفس التحويل اللطيف المستخدم للنص العادي لكتابة النص المشفر.
باختصار ، تتضمن عملية التشفير في Twofish الخطوات التالية:
- يكسر Twofish النص العادي للمدخلات إلى كتل 128 بت التي يتم تقسيمها بعد ذلك إلى كلمات 32 بت.
- في كل جولة ، تعمل كلمتين 32 بت كدخلات في وظيفة F. هذه الوظيفة ، وهي تقليب تعتمد على المفاتيح على قيم 64 بت ، تأخذ أيضًا الرقم المستدير R المستخدم لتحديد المفاتيح الفرعية المناسبة كمدخل. يتم استخدام المفاتيح التي تم إنشاؤها من المفتاح الرئيسي لتبييض كل كلمة 32 بت.
- يتم تقسيم كل كلمة إلى 4 بايت ، والتي يتم إرسالها بعد ذلك من خلال أربعة صناديق S المعتمدة على المفاتيح. تحتوي صناديق S هذه على إدخال/إخراج 8 بت (أنا/س).
- تجمع مصفوفة MDS بين بايت الإخراج 4 في كلمة 32 بت.
- يتم الجمع بين الكلمتين 32 بت باستخدام PHT.
- أخيرًا ، تتم إضافتها إلى مفاتيح فرعية مستديرة و Xored في النصف الأيمن.
الميزات الرئيسية لخوارزمية مزدوجة
تتمثل إحدى الخصائص الرئيسية التي تميز بين خوارزميات التشفير الأخرى في أنها تستخدم بنية تشبه Feistel ذات 16 جولة. هذا يعني أن بيانات الإدخال تنقسم إلى كتل متساوية ، ويتم معالجة كل كتلة من خلال جولات تشفير متعددة. أيضا ، العمليات ل تشفير وفك التشفير متشابهة واستخدم وظيفة Feistel Round القابلة للانعكاس لإرجاع الإخراج الذي يكون بنفس حجم كتلة البيانات.
ميزة فريدة أخرى من TwoFish هي أنها تستخدم صناديق S التي تعتمد على المفاتيح. صندوق S-Box ، الذي يأخذ 8 بت من المدخلات وينتج 8 بت من الإخراج ، يحجب علاقة مفتاح إلى النص المشفر. علاوة على ذلك ، تم توفير S-Box بالفعل ولكنه يعتمد على مفتاح التشفير لفك تشفير المعلومات. المدخلات إلى صناديق S هي عداد.
تم تصميم جدول رئيسي معقد ، خاصية أخرى من TwoFish ، لتوفير أعلى مقاومة الهجوم بالإضافة إلى تعزيز مرونة التنفيذ. يتم تعريف الخوارزمية لمفاتيح الطول 128 بت ، 192 بت ، و 256 بت ولكن يمكن أن تقبل مفاتيح أي طول يصل إلى 256 بت. يمكن أيضًا استخدام المفاتيح التي تقع أقصر من 256 بت. ومع ذلك ، يجب أن تكون مبطنة بالأصفار حتى طول المفتاح المحدد التالي. مع TwoFish ، يمكن إجراء الجدولة الرئيسية أثناء الطيران أثناء التشفير ، مما يوفر خفة الحركة الرئيسية العالية والسماح بتطبيقات منخفضة الذاكرة.
وأخيرا ، Twofish “Whitens” كلا من المدخلات والمخرجات. أثناء تبييض المدخلات ، يتم تحصين الكلمات الأربعة 32 بت التي يتم تقسيم النص العادي مع أربع كلمات رئيسية. وخلال تبييض الإخراج ، يتم عكس تبديل الجولة الأخيرة ، ويتم نسخ كلمات البيانات بأربع كلمات من المفتاح الموسع ، مما يؤدي إلى نص مشفر 16 بايت.
أمن TwoFish
مع حجم كتلة 128 بت ومفتاح تشفير طول المتغير ، يعد TwoFish أحد أكثر بروتوكولات التشفير آمنة. من الناحية النظرية ، يعني حجم الكتلة العالي أن Twofish آمن من هجمات القوة الغاشمة لأن مثل هذا الهجوم سيتطلب قوة معالجة هائلة لفك تشفير رسالة مشفرة 128 بت.

يقال إن صناديق S التي تعتمد على المفاتيح المستخدمة في Twofish عرضة هجمات القناة الجانبية – في الجهات الفاعلة التهديد قد يستغل المعلومات التي تم تسريبها من قناة (مثل التطبيق) لفهم عمليات التشفير في الخوارزمية وإضعاف أمنها. ومع ذلك ، من الممكن تقليل مخاطر هذه الهجمات عن طريق إضافة العشوائية إلى عملية التشفير أو عن طريق إدخال الضوضاء في عمليات التشفير. كلاهما يمكن أن يساعد في منع الخصوم من الاستفادة من معلومات القناة الجانبية التي تم تسريبها لاستنتاج واستغلال العمليات.
الحجم الأكبر للبيانات المشفرة يجعل أيضًا آمنًا. عند مقارنة خوارزميات التشفير المختلفة من حيث حجم النص العادي بعد التشفير ، يحول Twofish 240 كيلو بايت من معلومات النص العادي إلى 955 كيلو بايت. يمكن أن يتطابق سمكة النفخ فقط في هذا الجانب. حتى معيار التشفير المتقدم (AES) الخوارزمية محدودة من حيث أنه يمكن تحويل 250 كيلو بايت من النص العادي إلى أقصى حجم مشفر يبلغ 847 كيلو بايت. المشكلة الوحيدة في هذا الحجم الكبير هي أنه يمكن أن يبطئ تنفيذ البرنامج ، خاصةً إذا تم تطبيق الخوارزمية على كميات ضخمة من بيانات النص العادي.

المزايا الرئيسية وعيوب التشفير المزدوج
كما ذكرنا سابقًا ، فإن إحدى المزايا الرئيسية للتشفير المزدوج هي الأمن. يوفر تعقيد التشفير وحجم الكتلة وطول المفتاح حماية قوية في مجموعة واسعة من التطبيقات. أيضًا ، يوفر دعم أطوال المفاتيح المتعددة المرونة اللازمة لتنفيذ الخوارزمية متطلبات أمنية مختلفة.
ميزة أخرى هي طبيعتها الديمقراطية. نظرًا لعدم وجود براءة اختراع أو ترخيص ، يمكن تنفيذ Twofish بحرية من قبل أي شخص تقريبًا لأي نوع من التطبيقات.
على الجانب الآخر ، يمكن أن يكون تعقيد Twofish عيبًا. لأنه يمكن أن يكون كثافة الموارد و تتطلب الكثير من النفقات العامة الحسابية، قد يكون من الصعب تنفيذ الخوارزمية للأجهزة منخفضة الطاقة. يمكن أن تكون السرعة أيضًا عاملاً محددًا عند تنفيذ TwoFish في التطبيقات ذات الموارد المحدودة.
تطبيقات مزدوجة
على الرغم من أن Twofish ليس شائعًا مثل AES ، إلا أنه لا يزال يستخدمه العديد من المنتجات الشائعة. من بين هؤلاء ما يلي:
- حارس خصوصية GNU (GNUPG). تنفيذ مجاني لـ OpenPGP لتشفير وتوقيع الاتصالات والبيانات. يوفر GNUPG وحدات الوصول للوصول المفتاح العام الدلائل ومتعددة الاستخدامات الإدارة الرئيسية نظام.
- 96Crypt. تشفير/فك التشفير/Steganography برنامج للملفات والمجلدات. يستخدم مزدوجة (وغيرها من الأصفار) بالإضافة إلى خوارزميات HMAC المتجانسة المتعددة المقاومة للتصادم لتوفير مستويات عالية من سرية البيانات والنزاهة.
- Keepass. و مفتوح المصدر مدير كلمة المرور الذي يخزن بشكل آمن جميع كلمات المرور في قاعدة بيانات مشفرة واحدة من مزدوجة
- Peazip. أداة Archiver و File Manager مجانية تدعم تنسيقات الملفات المتعددة (قراءة/الكتابة) لتوفير أداة zip متعددة الأغراض. كما يدعم تنسيق أرشيف القوس مع TwoFish256 لكفاءة وآمنة ضغط.
مزدوج مقابل السمك
كل من Twofish و Blowfish هما أصفان كتلة حيث يتم تشفير بيانات النص العادي في كتل ذات طول ثابتة. وتستند أيضًا إلى بنية شبكة Feistel التي تمر فيها الكتل ذات الطول الثابت لبيانات الإدخال من خلال جولات معالجة متعددة قبل إنتاج النص المشفر. أيضا ، كلا الأصفار المتماثلة ، وهذا يعني أن نفس المفتاح يستخدم لكل من عمليات التشفير وفك التشفير. تشابه آخر هو أنهما غير مهتمين وحرهم في الاستخدام.
الفرق الرئيسي بين twofish و blowfish هو حجم الكتلة. حيث يستخدم Blowfish حجم كتلة 64 بت ، يستخدم Twofish حجم كتلة 128 بت. هذه الزيادة 2x تجعل مزدوجة الأمن أكثر أمانًا وأصعب من الصدع من السمك. Twofish هو خيار جيد بشكل خاص على السمك المنفصل إذا كان خطر هجمات عيد الميلاد عالية.
ومع ذلك ، يتمتع Blowfish بمزايا السرعة والبساطة على Twofish ، وهو ما يفسر سبب ظهوره للعديد من التطبيقات ، مثل التشفير بالجملة و مديري كلمة المرور. إن تعقيد Twofish يجعل من الصعب تنفيذها للتطبيقات مع عدد قليل من موارد الحوسبة (أو المحدودة). ومع ذلك ، يوفر Twofish مزايا أمنية قوية تجعلها خيارًا أفضل للتطبيقات التي تكون فيها الحماية من الهجمات أولوية عالية.
Twofish مقابل AES
يقدم كل من Twofish و Rijndael AES مزايا أمنية مماثلة. ومع ذلك ، فإن AES يتفوق على twofish من حيث البساطة. نظرًا لأنه يستخدم حجم كتلة ثابتة ويوفر خيارًا بين ثلاثة أطوال مفاتيح ، فإن AES لديها تصميم أبسط ، مما يسهل تنفيذه.
أيضًا ، فإن جدولها الرئيسي البسيط واستخدام شبكة الاستبدال يجعلها أسرع من Twofish والتي تستخدم جدولًا رئيسيًا معقدًا. يمكن أن تكون الاختلافات في السرعة مرئية بشكل خاص على الأجهزة منخفضة الطاقة التي تفتقر إلى الموارد اللازمة لتنفيذ وتشغيل مزدوجة بشكل صحيح.
من حيث الكفاءة ، يعتبر كل من Twofish و AEs فعالين. Twofish فعال في مختلف البرامج والأجهزة المنصات. الشيء نفسه ينطبق على AES. ومع ذلك ، نظرًا لأن AES يوفر استخدامًا أكبر للموارد الحسابية ، فقد يكون له ميزة طفيفة على مقياس الكفاءة لبعض التطبيقات.
https://www.youtube.com/watch؟v=AODXWTQIBCI
مع زيادة تهديدات الإنترنت الداخلية والخارجية ، فكر في هذه نصائح لحماية وتأمين البيانات بشكل فعال في الراحة ، في الاستخدام والحركة.