{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,3]],"date-time":"2025-03-03T05:59:54Z","timestamp":1740981594080,"version":"3.38.0"},"reference-count":39,"publisher":"SAGE Publications","issue":"2","license":[{"start":{"date-parts":[[2003,5,1]],"date-time":"2003-05-01T00:00:00Z","timestamp":1051747200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/journals.sagepub.com\/page\/policies\/text-and-data-mining-license"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["The International Journal of High Performance Computing Applications"],"published-print":{"date-parts":[[2003,5]]},"abstract":"<jats:p> Various algorithms for public-key cryptography, such as the Rivest-Shamir-Adleman or Diffie-Hellman algorithms, are based on long integer arithmetic operations, most notably modulo multiplication. To be adequate for long-term security, the modulus should have a length of at least 1024 bits. Long integer arithmetic is difficult to implement efficiently in software, particularly on smart cards due to their constrained resources and relatively slow clock frequency. In this paper we investigate the potential of application-specific instruction set extensions for cryptographic workloads such as long integer arithmetic. We define two special instructions that carry out computations of the form a \u00d7b + c + d, whereby a,b,c,d are single-precision words (unsigned integers). These additional instructions can be executed on an optimized multiply\/accumulate unit and therefore they are simple to incorporate into common RISC architectures such as the MIPS32. The proposed extensions cause almost no speed or area penalty since no extra functional units are required. Experimental results indicate that the inner-loop operation of a multiple-precision multiplication can be accelerated by a factor of almost 2. We also estimate the execution time of a 1024-bit modulo exponentiation assuming that these special instructions were made available. The presented concept is an alternative solution to a crypto co-processor, especially for multi-application smart cards (e.g. Java cards) with an embedded 32-bit RISC core. <\/jats:p>","DOI":"10.1177\/1094342003017002004","type":"journal-article","created":{"date-parts":[[2003,6,25]],"date-time":"2003-06-25T22:04:01Z","timestamp":1056578641000},"page":"135-146","source":"Crossref","is-referenced-by-count":2,"title":["Architectural Support for Long Integer Modulo Arithmetic on Risc-Based Smart Cards"],"prefix":"10.1177","volume":"17","author":[{"given":"Johann","family":"Gro\u00dfsch\u00e4dl","sequence":"first","affiliation":[{"name":"GRAZ UNIVERSITY OF TECHNOLOGY, INSTITUTE FOR APPLIED INFORMATION                        PROCESSING AND COMMUNICATIONS, INFFELDGASSE 16A, A-8010 GRAZ, AUSTRIA"}]}],"member":"179","published-online":{"date-parts":[[2003,5,1]]},"reference":[{"key":"atypb1","unstructured":"ARM Limited. February 2002. ARM SecurCore Solutions. Product brief, available for download at http:\/\/www.arm.com\/aboutarm\/4XAFLB\/$File\/SecurCores.pdf."},{"key":"atypb2","doi-asserted-by":"crossref","unstructured":"Burke, J., McDonald, J., and Austin, T.M. 2000. Architectural support for fast symmetric-key cryptography . In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2000), ACM Press, pp. 178-189 .","DOI":"10.1145\/378993.379238"},{"key":"atypb3","unstructured":"Choi, K. and Song, M. 2001. Design of a high performance 32 \u00d7 32-bit multiplier with a novel sign select Booth encoder . In Proceedings of the 34th IEEE International Symposium on Circuits and Systems (ISCAS 2001), IEEE, vol. II, pp. 701-704 ."},{"key":"atypb4","unstructured":"Dhem, J.F. 1998. Design of an efficient public-key cryptographic library for RISC-based smart cards. Ph.D. Thesis, Universit\u00e9 Catholique de Louvain, Louvain-la-Neuve, Belgium."},{"key":"atypb5","doi-asserted-by":"crossref","unstructured":"Dhem, J.F. and Feyt, N. 2001. Hardware and software symbiosis helps smart card evolution. IEEE Micro, 21(6): 14-25 .","DOI":"10.1109\/40.977754"},{"key":"atypb6","doi-asserted-by":"publisher","DOI":"10.1109\/TIT.1976.1055638"},{"key":"atypb7","doi-asserted-by":"crossref","unstructured":"Farooqui, A.A. and Oklobd\u017eija, V.G. 1998. General data-path organization of a MAC unit for VLSI implementation of DSP processors. In Proceedings of the 1998 IEEE International Symposium on Circuits and Systems (ISCAS '98), IEEE, vol. 2, pp. 260-263 .","DOI":"10.1109\/ISCAS.1998.706891"},{"key":"atypb8","doi-asserted-by":"crossref","unstructured":"Gonzalez, R.E. 2000. Xtensa: A configurable and extensible processor. IEEE Micro, 20(2): 60-70 .","DOI":"10.1109\/40.848473"},{"key":"atypb9","doi-asserted-by":"publisher","DOI":"10.1006\/jagm.1997.0913"},{"key":"atypb10","doi-asserted-by":"crossref","unstructured":"Gro\u00dfsch\u00e4dl, J. 2002. Instruction set extension for long integer modulo arithmetic on RISC-based smart cards . In Proceedings of the 14th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD 2002), IEEE Computer Society Press, pp. 13-19 .","DOI":"10.1109\/CAHPC.2002.1180754"},{"key":"atypb11","unstructured":"Gro\u00dfsch\u00e4dl, J. and Kamendje, G.A. 2003. A single-cycle (32 \u00d7 32 + 32 + 64)-bit multiply\/accumulate unit for digital signal processing and public-key cryptography. Submitted for publication."},{"key":"atypb12","doi-asserted-by":"crossref","unstructured":"Gschwind, M. 1999. Instruction set selection for ASIP design . In Proceedings of the 7th International Symposium on Hardware\/Software Codesign (CODES '99), ACM Press, pp. 7-11 .","DOI":"10.1145\/301177.301187"},{"key":"atypb13","doi-asserted-by":"crossref","unstructured":"Huang, X., Liu, W.J., and Wei, B.W. 1994. A high-performance CMOS redundant binary multiplication-and-accumulation (MAC) unit. IEEE Transactions on Circuits and Systems, 41(1): 33-39 .","DOI":"10.1109\/81.260217"},{"key":"atypb14","unstructured":"Knuth, D.E. 1998. Seminumerical Algorithms, vol. 2 of The Art of Computer Programming. 3rd edn, Addison-Wesley, Reading, MA ."},{"key":"atypb15","doi-asserted-by":"publisher","DOI":"10.1109\/40.502403"},{"key":"atypb16","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48405-1_25"},{"key":"atypb17","unstructured":"Koren, I. 2002. Computer Arithmetic Algorithms. 2nd edn, A. K. Peters, Natick, MA ."},{"key":"atypb18","doi-asserted-by":"crossref","unstructured":"K\u00fc\u00e7\u00fck\u00e7akar, K. 1999. An ASIP design methodology for embedded systems . In Proceedings of the 7th International Symposium on Hardware\/Software Codesign (CODES '99), ACM Press. pp. 17-21 .","DOI":"10.1145\/301177.301190"},{"key":"atypb19","doi-asserted-by":"crossref","unstructured":"Lee, R.B. 1995. Accelerating multimedia with enhanced microprocessors. IEEE Micro, 15(2): 22-32 .","DOI":"10.1109\/40.372347"},{"key":"atypb20","doi-asserted-by":"crossref","unstructured":"Lee, R.B. 1997. Multimedia extensions for general-purpose processors . In Proceedings of the 1997 IEEE Workshop on Signal Processing Systems (SiPS '97), IEEE. pp. 9-23 .","DOI":"10.1109\/SIPS.1997.625683"},{"key":"atypb21","doi-asserted-by":"crossref","unstructured":"Lee, R.B. and Huck, J.B. 1996. 64-bit and multimedia extensions in the PA-RISC 2.0 architecture . In Proceedings of the 41st IEEE Computer Society International Conference (COMPCON '96), IEEE Computer Society Press. pp. 152-160 .","DOI":"10.1109\/CMPCON.1996.501762"},{"key":"atypb22","doi-asserted-by":"crossref","unstructured":"Lee, R.B., Shi, Z., and Yang, X. 2001. Efficient permutation instructions for fast software cryptography. IEEE Micro, 21(6): 56-69 .","DOI":"10.1109\/40.977759"},{"key":"atypb23","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008807631619"},{"key":"atypb24","unstructured":"Menezes, A.J., van Oorschot, P.C., and Vanstone, S.A. 1996. Handbook of Applied Cryptography. CRC Press Series on Discrete Mathematics and Its Applications. CRC Press, Boca Raton, FL ."},{"key":"atypb25","unstructured":"MIPS Technologies, Inc. 2001a. MIPS32\u2122 Architecture for Programmers, vol. I & II. Available for download at http:\/\/www.mips.com\/publications\/index.html."},{"key":"atypb26","unstructured":"MIPS Technologies, Inc. 2001b. MIPS32 4Km\u2122 Processor Core Family Data Sheet. Available for download at http:\/\/www.mips.com\/publications\/index.html."},{"key":"atypb27","doi-asserted-by":"publisher","DOI":"10.1090\/S0025-5718-1985-0777282-X"},{"key":"atypb28","unstructured":"National Institute of Standards and Technology (NIST). 1999. Data Encryption Standard (DES). FIPS Publication 46-3. Available for download at http:\/\/csrc.nist.gov\/CryptoToolkit."},{"key":"atypb29","unstructured":"National Institute of Standards and Technology (NIST). 2001. Advanced Encryption Standard (AES). FIPS Publication 197. Available for download at http:\/\/csrc.nist.gov\/CryptoToolkit."},{"key":"atypb30","unstructured":"National Institute of Standards and Technology (NIST). 2002. Secure Hash Standard (SHS). FIPS Publication 180-2. Available for download at http:\/\/csrc.nist.gov\/CryptoToolkit."},{"key":"atypb31","doi-asserted-by":"crossref","unstructured":"Peleg, A. and Weiser, U. 1996. MMX technology extension to the Intel architecture. IEEE Micro, 16(4): 42-50 .","DOI":"10.1109\/40.526924"},{"key":"atypb32","doi-asserted-by":"crossref","unstructured":"Phillips, B.J. and Burgess, N. 2000. Implementing 1,024-bit RSA exponentiation on a 32-bit processor core . In Proceedings of the 12th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2000), IEEE Computer Society Press. pp. 127-137 .","DOI":"10.1109\/ASAP.2000.862384"},{"key":"atypb33","doi-asserted-by":"publisher","DOI":"10.1049\/el:19820617"},{"key":"atypb34","doi-asserted-by":"publisher","DOI":"10.1145\/359340.359342"},{"key":"atypb35","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1949.tb00928.x"},{"key":"atypb36","doi-asserted-by":"crossref","unstructured":"Shelfer, K.M. and Procaccino, J.D. 2002. Smart card evolution. Communications of the ACM, 45(7): 83-88 .","DOI":"10.1145\/514236.514239"},{"key":"atypb37","unstructured":"The Open SystemC Initiative (OSCI). April 2002. SystemC Version 2.0 User's Guide. Available for download at http:\/\/www.systemc.org."},{"key":"atypb38","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45760-7_5"},{"key":"atypb39","doi-asserted-by":"crossref","unstructured":"Wang, A., Killian, E., Maydan, D.E., and Rowen, C. 2001. Hardware\/software instruction set configurability for system-on-chip processors . In Proceedings of the 38th Design Automation Conference (DAC 2001), ACM Press. pp. 184-188 .","DOI":"10.1145\/378239.378460"}],"container-title":["The International Journal of High Performance Computing Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342003017002004","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1177\/1094342003017002004","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,3]],"date-time":"2025-03-03T01:33:53Z","timestamp":1740965633000},"score":1,"resource":{"primary":{"URL":"https:\/\/journals.sagepub.com\/doi\/10.1177\/1094342003017002004"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,5]]},"references-count":39,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2003,5]]}},"alternative-id":["10.1177\/1094342003017002004"],"URL":"https:\/\/doi.org\/10.1177\/1094342003017002004","relation":{},"ISSN":["1094-3420","1741-2846"],"issn-type":[{"type":"print","value":"1094-3420"},{"type":"electronic","value":"1741-2846"}],"subject":[],"published":{"date-parts":[[2003,5]]}}}