Abstract
Information decoding and security using minimal hardware and software resources is very indispensable in mission and safety critical applications. Currently, various methodologies have been proposed in which hardware exhibits parallelism either implicitly or explicitly. In this chapter, we report an enhancement in DLX processor instruction set for efficient implementation of Viterbi decoding algorithm and enhanced AES encryption algorithm. We also present results for enhanced AES encryption algorithm for PicoJava II processor. We create a custom permutation instruction (WUHPERM) and a custom trellis expansion instruction (Texpand) in CPUSIM simulator on RISC-based architecture. In addition, we implement the same WUHPERM instruction on Mic-1 simulator which is based on JVM microarchitecture. The results show substantial improvements in the execution speed of approximately six times when the WUHPERM instruction is implemented in RISC architecture and eight times for stack-based architecture. The execution time is stupendously improved to approximately three times when Texpand instruction is implemented for RISC architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Announcing the advanced encryption standard (AES). National Institute of Standard Technology, FIPS, 197
Schneier B (1996) Applied cryptography, 2nd edn. Wiley, New York
Schneier B, Kelsey J (1998). Twofish: A 128-bit block cipher. Available online http://www.schneier.com/twofish.html
Smith B, Anderson R, Biham E, Knudsen L (1998). Serpent: a proposal for the advanced encryption standard. Available online http://www.cl.cam.ac.uk/ftp/users/rja14/serpent.pdf
Sedwick R (June 1977) Permutation generation methods. Comput Surv 9(2):137–164
Tompkin C (1956) Machine attack on problems whose variable are permutations. In: Proceedings of symposium in applied math numerical analysis. McGraw Hill Inc., New York, US, pp 195–211
Bossert M (1999) Channel coding for telecommunications. Wiley, Chichester, UK
Viterbi AJ (1967) Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Trans Inform Theory IT-13(2):260–269
Hennessy J, Patterson D (1996) A Computer Architecture, A Quantitative Approach. Morgan Kaufmann publisher Inc., San Francisco
Tanenubaum AS (2005) Structured computer organization, 5th edn. Prentice Hall, Upper Saddle River, NJ
Ahmed W, Mahmood H, Siddique U (2011) The Efficient Implementation of S8 AES Algorithm. In: Proceedings of world congress on engineering 2011 (WCE 2011). International Conference of Computer Science and Engineering, London, UK, 6–8 July 2011, pp 1215–1219
Skrien D (2001) CPU Sim 3.1: A Tool for Simulating Computer Architectures for CS3 classes. ACM J Educ Resour Comput 1(4):46–591
Hussain I, Shah T, Mahmood H (2010) A new algorithm to construct secure keys for AES. Int J Contemp Math Sci 5(26):1263–1270
Tran MT, Bui DK, Duong AD (2008) Gray S-box for advanced encryption standard. In: Proceedings of international conference of computational intelligence and security (CIS’08), Suzhou, 13–17 Dec 2008, pp 253–258
Murphy S, Robshaw MJ (2002) Essential algebraic structure within the AES. In: Proceedings of the 22nd annual international cryptology conference 2002 (Crypto’02). LNCS 2442, Santa Barbara, CA, USA, 18–22 Aug 2002, pp 1–16
Rosenthal J (2003) A polynomial description of the Rijndael Advanced Encryption Standard. J Algebra Appl 2(2):223–236
Daemen J, Rijmen V (1999) AES proposal: Rijindael, AES submission, version 2. Available online http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf
Forney GD (2005) The Viterbi algorithm: a personal history. In: Proceedings of Viterbi conference, LA, USA, 8–9 Mar 2005
Asanovic K (2002) DLX microprogramming slides. MIT Laboratory of computer science. Available online http://dspace.mit.edu/bitstream/handle/1721.1/35849/6-823Spring-2002/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-823Computer-System-ArchitectureSpring2002/B1A470D6-9272-44BE-8E8D-B77FA84A7745/0/lecture04.pdf
Lee R (1989) Precision architecture. IEEE Comput 22(1):78–91
Lee R, Mahon M, Morris D (1992) Path length reduction features in the PA-RISC architecture. In: Proceedings of IEEE Compcon, San Francisco, CA, 24–28 Feb 1992, pp 129–135
Shi Z, Lee RB (2000) Bit permutation instructions for accelerating software cryptography. In: Proceedings of the IEEE international conference on application-specific systems. Architectures and Processors 2000 (ASAP 2000), Boston, MA, USA, 10–12 July 2000, pp 138–148
Convolutional coding on Xtensa processor application note. Tensilica, Inc., January 2009, Doc Number: AN01-123-04
Liang J, Tessier R, Geockel D (2004) A dynamically-reconfigurable, power-efficient turbo decoder. In: Proceedings of 12th annual IEEE symposium on field programmable custom computing machines (FCCM 2004), Napa, CA, USA, 20–23 April 2004, pp 91–100
Ferguson N, Schroeppel R, Whiting D (2001) A simple algebraic representation of Rijndael. In: Proceedings of Selected Areas in Cryptography 2011 (SAC01). LNCS 2259, London, UK, 16–17 Aug 2001, pp 103–111
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Ahmed, W., Mahmood, H., Siddique, U. (2013). Efficient Implementation of Computationally Complex Algorithms: Custom Instruction Approach. In: Ao, SI., Gelman, L. (eds) Electrical Engineering and Intelligent Systems. Lecture Notes in Electrical Engineering, vol 130. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-2317-1_4
Download citation
DOI: https://doi.org/10.1007/978-1-4614-2317-1_4
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-2316-4
Online ISBN: 978-1-4614-2317-1
eBook Packages: EngineeringEngineering (R0)