Abstract
Blowfish is used in a wide variety of applications, involving large amounts of data, demanding high-speed encryption, flexible key sizes and various encryption modes. Even though the ASIC implementations have better encryption speeds and throughput than FPGA ones, their flexibility is restricted. In blowfish, key generation and encryption stages function disjointedly rendering it suitable for dynamic reconfiguration. Fiestal network of the algorithm is better suited for inner loop pipelining and loop folding. Combining these architectural features with dynamic reconfiguration and replication results in a proficient architecture for blowfish described in this paper as the DRIL architecture. This four-tier architecture, involving both hardware and software designs, focuses on efficient hardware utilization, higher throughput, flexibility and better performance. Further, DRIL is a platform independent architecture. Performance evaluation on the XILINX SPARTAN 2E and VIRTEX 2 devices showed very high utilization of the FPGA device with a throughput of 259.615 x R Mbps on SPARTAN 2E and 515.218 x R Mbps on VIRTEX 2 devices, where R is the replication factor.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Stallings, W.: Cryptography and Network Security principles and practice, 3rd edn. Pearson Education, London (2003)
Schneier, B.: Applied Cryptography: Protocols, Algorithms and Source code in C, 2nd edn. John Wiley & Sons, Chichester (1996)
Schneier, B.: Description of a New Variable-Length Key, 64 bit Block Cipher (Blowfish). In: Proc. of Fast Software Encryption Cambridge Security Workshop, pp. 191–204. Springer, Heidelberg (1994)
Schneier, B.: The Blowfish Encryption Algorithm -One year later. Dr. Dobb’S Journal (September 1995s)
Compton, K., Hauck, S.: Reconfigurable Computing: A Survey of Systems and Software. ACM Computing Surveys 34(2) (June 2002)
Wollinger, T., Paar, C.: How Secure Are FPGAs in cryptographic Applications? In: Int’l Conference on Field Programmable Logic and Applications (FPL 2003), Lisbon, Portugal, September 1-3 (2003)
Lai, Y.K., Shu, Y.C.: A novel VLSI architecture for a variable-length key, 64-bit blowfish Block cipher. In: Proc. of IEEE Int’l Workshop on Signal Processing System Design and Implementation (SiPS 1999), Taipei, Taiwan, pp. 568–577 (1999)
Lai, Y.K., Shu, Y.C.: VLSI Architecture Design and Implementation for Blowfish BlockCipher with Secure Modes of Operation. In: Proc.of IEEE Int’l. Symposium on Circuits and Systems (ISCAS 2001), May, pp. 57–60 (2001)
Lin, M.C.J., Lin, Y.-L.: A VLSI Implementation of the BlowfishEncryption/Decryption Algorithm. In: Asia and South Pacific Design Automation Conference (ASPDAC), Yokohama, Japan (Janaury 2000)
Salomao, S.L.C., de Alcantra, J.M.S., Alves, V.C., Vieria, A.C.C.: SCOB, a soft-core for the Blowfish Cryptographic algorithm. In: Proc. IEEE Int’l Conf. Integrated Circuit and System Design, pp. 220–223 (1999)
Singpiel, H., Simmler, H., Kugel, A., Manner, R., Vieira, A.C.C., Galvez-Durand, F., de Alcantara, J.M.S., Alves, V.C.: Implementation of Cryptographic Application on the Reconfigurable FPGA Coprocessor. In: 13th Symposium on Integrated Circuits and Systems Design (SBCCI 2000), Manaus, Brazil, September 18-24 (2000)
Chodowiec, P., Khuon, P., Gaj, K.: Fast implementations of secret-key block ciphers using mixed inner- and outer-round pipelining. In: Proc. of the 2001 ACM/SIGDA 9th Int’l symposium on Field programmable gate arrays, Monterey, California, February 11-13, pp. 94–102 (2001)
Elbirt, A.J., Yip, W., Chetwynd, B., Paar, C.: An FPGA implementation and performance evaluation of the AES block cipher candidate algorithm finalists. In: Proc. of the 3rd Advanced Encryption Standard (AES) Candidate Conference, New York, April 13-14 (2000)
Taylor, R.R., Goldstein, S.C.: A high Performance flexible architecture for cryptography. In: Koç, Ç.K., Paar, C. (eds.) CHES 1999. LNCS, vol. 1717, pp. 231–245. Springer, Heidelberg (1999)
Kaps, J., Paar, C.: Fast DES implementations for FPGAs and its Applications to a Universal Key Search Machine. In: Tavares, S., Meijer, H. (eds.) SAC 1998. LNCS, vol. 1556, p. 234. Springer, Heidelberg (1999)
Patterson, C.: High Performance DES Encryption in Virtex(tm) FPGAs Using Jbits(tm). In: Proc. of the 2000 IEEE Symposium on Field-Programmable Custom Computing Machines, Napa Valley, California, April 17-19 (2000)
Hodjat, A., Verbauwhede, I.: A 21.54 Gbits/s fully pipelined AES processor on FPGA. In: IEEE Symposium on Field-Programmable Custom Computing Machines (April 2004)
Fischer, V., Drutarovsky, M.: Two Methods of Rijndael implementation in Reconfigurable hardware. In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 77–92. Springer, Heidelberg (2001)
Backup for Workgroups, Automatic backup and restore software, http://www.backup-forworkgroups.com/A
Encryption Plus Hard disk, http://www.pcguardiantechnologies.com/Encryption_Plus_Hard_Disk/
Encryption Tools, http://www.parisien.org/pet.htm
Ultra Scan, True Identity biometrics, http://www.ultra-scan.com
Cryptography: Protecting your Geographic Data, http://www.geodyssey.com/cryptography/cryptography.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sudarshan, T.S.B., Mir, R.A., Vijayalakshmi, S. (2005). DRIL– A Flexible Architecture for Blowfish Encryption Using Dynamic Reconfiguration, Replication, Inner-Loop Pipelining, Loop Folding Techniques. In: Srikanthan, T., Xue, J., Chang, CH. (eds) Advances in Computer Systems Architecture. ACSAC 2005. Lecture Notes in Computer Science, vol 3740. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11572961_51
Download citation
DOI: https://doi.org/10.1007/11572961_51
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29643-0
Online ISBN: 978-3-540-32108-8
eBook Packages: Computer ScienceComputer Science (R0)