TY - JOUR ID - TI - Design and Implementation of an Improvement Of Blowfish Encryption Algorithm AU - Janan A. Mahdi* AU - Saleh M. Al-Qarrawy* AU - Ashwaq T. Hashim* PY - 2009 VL - 9 IS - 1 SP - 95 EP - 109 JO - IRAQI JOURNAL OF COMPUTERS, COMMUNICATIONS, CONTROL AND SYSTEMS ENGINEERING المجلة العراقية لهندسة الحاسبات والاتصالات والسيطرة والنظم SN - 18119212 AB - Abstract:Block cipher is a major part of cipher algorithm like stream cipher and other techniques. Its power comes from dealing with plaintext as parts and operating on each block independently. Blowfish is a secret-key block cipher proposed by B. Shneier. It is a Feistel network, iterating a simple encryption function 16 times. The block size is 8-bytes and the key can be any length up to 56-bytes.In this paper, a Blowfish was improved to encrypt 16-bytes using a variable key length from 8-bytes up to 144-bytes. During the design of Improved Blowfish algorithm, the pragmatic aim was to satisfy as many goals as possible while keeping the cipher simple. Only by keeping a cipher simple one can achieve a well-understood level of security, good performance, and a versatility of design that makes the cipher highly adaptable to future demands. The improved algorithm reduced the memory requirement by using a single S-box instead of four S-boxes without compromising security. The security of improved Blowfish algorithm will be increased by several techniques where the block size and key length were increased, using more complex function before the first round and after the last round and using a complex function to avoid a symmetric to the output of S-box.

الخلاصة:التشفير الكتلي جزء رئيسي من خوارزمية التشفير مثل التشفير الانسيابي وبقية التقنيات الأخرى. قوّته جاءت من التعامل مع plaintext كأجزاء تتعامل مع كلّ كتلة بشكل مستقل. Blowfish هو تشفير كتلي ذو مفتاح سري إقترح من قبل B. Shneier. وهو شبكة فيستيل، يكرر وظيفة تشفير بسيطة 16 مرة. إنّ حجم الكتلة 8-bytes والمفتاح يمكن أن يكون أيّ طول إلى 56-bytes.تم تحسين ال Blowfish في هذا البحث لتشفير bytes 16-مستعملا مفتاح متغيّرالطول من 8-bytes إلى 144-bytes. أثناء تصميم خوارزمية Blowfish المحسّنة، الهدف الواقعي كان لتحقيق الاهداف قدر ما هو محتمل بينما يبقي التشفير بسيط. فقط بواسطة الإستمرار بالتشفير البسيط الواحد يمكن أن ينجز مستوى مفهوم بشكل جيد من الأمن , أداء جيد، و تعددية الاستعمال للتصميم التي تجعل التشفير متكيّفا جدا إلى الطلبات المستقبلية. خفّضت الخوارزمية المحسّنة متطلب الذاكرة بإستعمال صندوق واحدا بدلا من أربعة صناديق بدون مساومة الأمنية. أمن خوارزمية Blowfish المحسّنة سيكون متزايد بعدّة تقنيات حيث تم زيادة حجم الكتلة والطول الرئيسي وإستعمال وظيفة أكثر تعقيدا قبل الدورة الأولى وبعد الدورة الاخيرة واستخدام وظيفة معقّدة لتفادي التماثل إلى ناتج الصندوق(S-box). ER -