Abstract
In this paper we propose RAPID-FeinSPN, an extensible framework designed for rapid prototyping of Feistel Network and Substitution-Permutation Network (SPN) based symmetric ciphers. The framework tries to bridge the gap between the designer of cryptographic schemes and the VLSI implementation engineers of that cryptographic systems. Using a GUI-based interface the user has the freedom either to choose a well-known Feistel or SPN based cryptosystem for implementation or to specify the configuration of a new cipher. RAPID-FeinSPN supports multiple configurations of cryptographic settings and using the modular design principles generates a customized C code as well as a customized hardware implementation without significant performance degradation. This approach allows a quick hardware resource estimation, early functional validation of desirable cipher properties and can be used for benchmarking various design parameters of a cipher that vary in terms of security, complexity or both for a security-throughput trade-off. We have implemented some well known block ciphers using RAPID-FeinSPN and benchmarked the performance against software as well as hardware implementations.
The work of this author was done in part during his visit at RWTH Aachen, Germany as an Alexander von Humboldt Fellow.
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
Tillich, S.: Instruction Set Extensions for Support of Cryptography on Embedded Systems. PhD thesis, Graz University of Technology, Austria (2008), https://online.tugraz.at/tug_online/voe_main2.getvolltext?pCurrPk=39243
Constantin, J., Burg, A., Gürkaynak, F.: Investigating the potential of custom instruction set extensions for SHA-3 candidates on a 16-bit microcontroller architecture. Cryptology ePrint Archive, Report 2012/050 (2012), http://eprint.iacr.org/2012/050
Guo, X., Srivastav, M., Huang, S., Ganta, D., Henry, M.B., Nazhandali, L., Schaumont, P.: ASIC implementations of five SHA-3 finalists. In: IEEE DATE 2012, pp. 1006–1011 (2012)
Tensilica (now part of Cadence), http://tensilica.com
Synopsys DesignWare ARC Configurable Cores, http://www.synopsys.com .
Synopsys Processor Designer, http://www.synopsys.com/Systems/BlockDesign/processorDev/Pages/default.aspx
Shahzad, K., Khalid, A., Rákossy, Z.E., Paul, G., Chattopadhyay, A.: CoARX: a coprocessor for ARX-based cryptographic algorithms. In: Proceedings of the 50th Annual Design Automation Conference (DAC 2013) (2013), doi:10.1145/2463209.2488898
Chattopadhyay, A., Paul, G.: Exploring security-performance trade-offs during hardware accelerator design of stream cipher RC4. In: 20th International Conference on VLSI and System-on-Chip (VLSI-SoC 2012). IEEE (2012)
Gupta, S.S., Chattopadhyay, A., Khalid, A.: Designing integrated accelerator for stream ciphers with structural similarities. Cryptography and Communications 5(1), 19–47 (2013)
Sen Gupta, S., Chattopadhyay, A., Khalid, A.: HiPAcc-LTE: an integrated high performance accelerator for 3GPP LTE stream ciphers. In: Bernstein, D.J., Chatterjee, S. (eds.) INDOCRYPT 2011. LNCS, vol. 7107, pp. 196–215. Springer, Heidelberg (2011)
Asanovic, K., Bodik, R., Catanzaro, B.C., Gebis, J.J., Husbands, P., Keutzer, K., Patterson, D.A., Plishker, W.L., Shalf, J., Williams, S.W., Yelick, K.A.: The landscape of parallel computing research: A view from berkeley. UCB/EECS-2006-183, EECS Department, University of California, Berkeley
Dubey, P.: Teraflops for the masses: Killer apps of tomorrow. In: Workshop on Edge Computing Using New Commodity Architectures (UNC), vol. 23 (2006)
Dworkin, M.: Recommendation for block cipher modes of operation. methods and techniques. In: NIST Special Publication 800-38A (2001)
SHA-3 Cryptographic Hash Algorithm Competition, http://csrc.nist.gov/groups/ST/hash/sha-3/index.html
Ferguson, N., Lucks, S., Schneier, B., Whiting, D., Bellare, M., Kohno, T., Callas, J., Walker, J.: The Skein Hash Function Family, Version 1.3 (October 2010), http://www.skein-hash.info/sites/default/files/skein1.3.pdf
Aumasson, J., Henzen, L., Meier, W., Phan, R.: SHA-3 proposal BLAKE ver 1.3 (2010), https://www.131002.net/blake
ISO/IEC 9797-1: Authentication Codes (MACs) Part 1: Mechanisms using a block cipher. In: Information Technology-Security Techniques (1999)
ISO/IEC 9797-2: Authentication Codes (MACs) Part 2: Mechanisms using a dedicated hashfunction. In: Information Technology-Security Techniques (1999)
eSTREAM: the ECRYPT Stream Cipher Project, http://www.ecrypt.eu.org/stream
Bernstein, D.J.: The Salsa20 family of stream ciphers. In: Robshaw, M., Billet, O. (eds.) New Stream Cipher Designs. LNCS, vol. 4986, pp. 84–97. Springer, Heidelberg (2008)
Kammler, D., Zhang, D., Schwabe, P., Scharwaechter, H., Langenberg, M., Auras, D., Ascheid, G., Mathar, R.: Designing an ASIP for Cryptographic Pairings over Barreto-Naehrig Curves. In: Clavier, C., Gaj, K. (eds.) CHES 2009. LNCS, vol. 5747, pp. 254–271. Springer, Heidelberg (2009)
Bernstein, D.J.: ChaCha, a variant of Salsa20. In: Workshop Record of SASC, The State of the Art of Stream Ciphers (2008), http://cr.yp.to/papers.html#chacha
Berbain, C., et al.: sosemanuk, a fast software-oriented stream cipher. In: Robshaw, M., Billet, O. (eds.) New Stream Cipher Designs. LNCS, vol. 4986, pp. 98–118. Springer, Heidelberg (2008)
Luby, M., Rackoff, C.: How to Construct Pseudorandom Permutations and Pseudorandom Functions. SIAM Journal on Computing 17(2), 373–386 (1988)
Bertoni, G., Daemen, J., Peeters, M., Van Assche, G.: Keccak sponge function family main document. Submission to NIST, round 3 (2011)
Advanced encryption standard. Federal Information Processing Standard, FIPS-197, 12 (2001)
Data encryption standard. National Bureau of Standards, U.S. Department of Commerce, Washington D.C., FIPS 46 (1977)
Shannon, C.E.: Communication theory of secrecy systems. Bell System Technical Journal 28(4), 656–715 (1949)
Zhang, X., Parhi, K.: High-speed VLSI architectures for the AES algorithm. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 12(9), 957–967 (2004)
Barkan, E., Biham, E.: In How Many Ways Can You Write Rijndael? In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 160–175. Springer, Heidelberg (2002)
Ernst, M., Klupsch, S., Hauck, O., Huss, S.A.: Rapid Prototyping for Hardware Accelerated Elliptic Curve Public-Key Cryptosystems. In: Proceedings of the 12th International Workshop on Rapid System Prototyping (RSP 2001) (2001)
Khovratovich, D., Nikolić, I.: Rotational cryptanalysis of ARX. In: Hong, S., Iwata, T. (eds.) FSE 2010. LNCS, vol. 6147, pp. 333–346. Springer, Heidelberg (2010)
Leurent, G.: ARX Toolkit, http://www.di.ens.fr/~leurent/arxtools.html
Mouha, N., Velichkov, V., De Canniére, C., Preneel, B.: S-function Toolkit, http://www.ecrypt.eu.org/tools/s-function-toolkit
Fujii, M., Torigai, M.: Data transfer method, communication system and storage medium. In US Patent US6038321 A (March 14, 2000)
Daemen, J., Govaerts, R., Vandewalle, J.: A New Approach to Block Cipher Design. In: Anderson, R. (ed.) FSE 1993. LNCS, vol. 809, pp. 18–32. Springer, Heidelberg (1994)
Daemen, J.: Cipher and Hash Function Design: Strategies based on linear and differential cryptanalysis (Ph.D. Dissertation), ch. 7. Katholieke Universiteit Leuven (1994)
Álvarez Marańón, G., Fúster Sabater, A., Guía Martínez, D., Montoya Vitini, F., Peinado Domínguez, A.: Akelarre: a New Block Cipher Algorithm. In: Proceedings of SAC 1996, Third Annual Workshop on Selected Areas in Cryptography, Queen’s University, Kingston, Ontario, pp. 1–14 (1996)
Rijmen, V., Daemen, J., Preneel, B., Bosselaers, A., De Win, E.: The Cipher SHARK. In: Gollmann, D. (ed.) FSE 1996. LNCS, vol. 1039, pp. 99–111. Springer, Heidelberg (1996)
Daemen, J., Rijmen, V.: The Design of Rijndael: AES–The Advanced Encryption Standard. Springer (2002) ISBN 3-540-42580-2
Daemen, J., Knudsen, L.R., Rijmen, V.: The Block Cipher Square. In: Biham, E. (ed.) FSE 1997. LNCS, vol. 1267, pp. 149–165. Springer, Heidelberg (1997)
Biham, E., Anderson, R.J., Knudsen, L.R.: Serpent: A new block cipher proposal. In: Vaudenay, S. (ed.) FSE 1998. LNCS, vol. 1372, pp. 222–238. Springer, Heidelberg (1998)
Lim, C.H.: CRYPTON: A new 128-bit Block Cipher. NIST AES Proposal (1998)
Rijmen, V., Barreto, P.S.L.M.: The ANUBIS Block Cipher. New European Schemes for Signatures, Integrity, and Encryption (NESSIE) (2000)
Barreto, P.S.L.M., Rijmen, V.: The Khazad Legacy-level Block Cipher. In: First open NESSIE Workshop, p. 15 (2000)
Ohkuma, K., Muratani, H., Sano, F., Kawamura, S.: The Block Cipher Hierocrypt. In: Stinson, D.R., Tavares, S. (eds.) SAC 2000. LNCS, vol. 2012, pp. 72–88. Springer, Heidelberg (2001)
Daemen, J., Peeters, M., Van Assche, G., Rijmen, V.: Nessie Proposal: Noekeon (2000)
Standaert, F.-X., Piret, G., Rouvroy, G., Quisquater, J.-J., Legat, J.-D.: ICEBERG: An Involutional Cipher Efficient for Block Encryption in Reconfigurable Hardware. In: Roy, B., Meier, W. (eds.) FSE 2004. LNCS, vol. 3017, pp. 279–299. Springer, Heidelberg (2004)
Nakahara Jr., J., Rijmen, V., Preneel, B., Vandewalle, J.: The MESH Block Ciphers. In: Chae, K.-J., Yung, M. (eds.) WISA 2003. LNCS, vol. 2908, pp. 458–473. Springer, Heidelberg (2004)
Kwon, D., Kim, J., Park, S., Sung, S.H., Sohn, Y., Song, J.H., Yeom, Y., Yoon, E., Lee, S., Lee, J., Chee, S., Han, D., Hong, J.: New Block Cipher: ARIA. In: Lim, J.-I., Lee, D.-H. (eds.) ICISC 2003. LNCS, vol. 2971, pp. 432–445. Springer, Heidelberg (2004)
Bogdanov, A.A., Knudsen, L.R., Leander, G., Paar, C., Poschmann, A., Robshaw, M., Seurin, Y., Vikkelsoe, C.: PRESENT: An Ultra-Lightweight Block Cipher. In: Paillier, P., Verbauwhede, I. (eds.) CHES 2007. LNCS, vol. 4727, pp. 450–466. Springer, Heidelberg (2007)
Cheng, H., Heys, H.M., Wang, C.: PUFFIN: A Novel Compact Block Cipher Targeted to Embedded Digital Systems. In: 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools, DSD 2008, pp. 383–390 (2008), doi:10.1109/DSD.2008.34.
Engels, D., Fan, X., Gong, G., Hu, H., Smith, E.M.: Hummingbird: Ultra-Lightweight Cryptography for Resource-Constrained Devices. In: Sion, R., Curtmola, R., Dietrich, S., Kiayias, A., Miret, J.M., Sako, K., Sebé, F. (eds.) RLCPS, WECSR, and WLC 2010. LNCS, vol. 6054, pp. 3–18. Springer, Heidelberg (2010)
Knudsen, L., Leander, G., Poschmann, A., Robshaw, M.J.B.: PRINTcipher: A Block Cipher for IC-Printing. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp. 16–32. Springer, Heidelberg (2010)
Guo, J., Peyrin, T., Poschmann, A., Robshaw, M.: The LED Block Cipher. In: Preneel, B., Takagi, T. (eds.) CHES 2011. LNCS, vol. 6917, pp. 326–341. Springer, Heidelberg (2011)
Gong, Z., Nikova, S., Law, Y.W.: KLEIN: A New Family of Lightweight Block Ciphers. In: Juels, A., Paar, C. (eds.) RFIDSec 2011. LNCS, vol. 7055, pp. 1–18. Springer, Heidelberg (2012)
Borghoff, J., Canteaut, A., Güneysu, T., Kavun, E.B., Knezevic, M., Knudsen, L.R., Leander, G., Nikov, V., Paar, C., Rechberger, C., Rombouts, P., Thomsen, S.S., Yalçın, T.: PRINCE – A Low-Latency Block Cipher for Pervasive Computing Applications. In: Wang, X., Sako, K. (eds.) ASIACRYPT 2012. LNCS, vol. 7658, pp. 208–225. Springer, Heidelberg (2012)
Chattopadhyay, A., Meyr, H., Leupers, R.: LISA: A Uniform ADL for Embedded Processor Modelling, Implementation and Software Toolsuite Generation. In: Mishra, P., Dutt, N. (eds.) Processor Description Languages, pp. 95–130. Morgan Kaufmann (2008)
Doeffinger, R.: AES C Implementation, stuff.mit.edu/afs/sipb/project/vlcplayer/old/src/ffmpeg/libavutil/
Klose, D.: PRESENT C Implementation (32 bit), http://www.lightweightcrypto.org/implementations.php .
Akinyele, J.A., et al.: Charm: A framework for rapidly prototyping cryptosystems. Journal of Cryptographic Engineering, 1–18 (2013)
Lacy, J.B., Donald, P.: Mitchell, and William M. Schell. CryptoLib: Cryptography in software. In: Proc. of Fourth USENIX Security Workshop, pp. 1–18 (1993)
SHA-3 Finalists Announced by NIST Blog post quoting NIST’s announcement in full, http://crypto.junod.info/2010/12/10/sha-3-finalists-announced-by-nist/
Rolfes, C., Poschmann, A., Leander, G., Paar, C.: Ultra-lightweight implementations for smart devices security for 1000 gate equivalents. In: Grimaud, G., Standaert, F.-X. (eds.) CARDIS 2008. LNCS, vol. 5189, pp. 89–103. Springer, Heidelberg (2008)
Satoh, A., Morioka, S., Takano, K., Munetoh, S.: Ultra-lightweight implementations for smart devices security for 1000 gate equivalents. In: Boyd, C. (ed.) ASIACRYPT 2001. LNCS, vol. 2248, pp. 239–254. Springer, Heidelberg (2001)
Simple AES (Rijndael) IP Core, http://opencores.org/project,aes_core
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Khalid, A., Hassan, M., Chattopadhyay, A., Paul, G. (2013). RAPID-FeinSPN: A Rapid Prototyping Framework for Feistel and SPN-Based Block Ciphers. In: Bagchi, A., Ray, I. (eds) Information Systems Security. ICISS 2013. Lecture Notes in Computer Science, vol 8303. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45204-8_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-45204-8_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45203-1
Online ISBN: 978-3-642-45204-8
eBook Packages: Computer ScienceComputer Science (R0)