{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,1]],"date-time":"2025-11-01T13:41:12Z","timestamp":1762004472122,"version":"3.41.0"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2013,1]]},"abstract":"<jats:p>This article proposes the Computing with the ResidueNumber System (CRNS) framework, which aims at the design automation of accelerators for Modular Arithmetic (MA). The framework provides a comprehensive set of tools ranging from a programming language and respective compiler to back-ends targeting parallel computation platforms such as Graphical Processing Units (GPUs) and reconfigurable hardware. Given an input algorithm described with a high-level programming language, the CRNS can be used to obtain in a few seconds the corresponding optimized Parallel Thread Execution (PTX) program ready to be run on GPUs or the Hardware Description Language (HDL) specification of a fully functional accelerator suitable for reconfigurable hardware and embedded systems. The resulting framework's implementations benefit from the Residue Number System (RNS) arithmetic's parallelization properties in a fully automated way. Designers do not need to be familiar with the mathematical details concerning the employed arithmetic, namely the RNS representation. In order to thoroughly describe and evaluate the proposed framework, experimental results obtained for the supported back-ends (GPU and HDL) are presented targeting the implementation of the modular exponentiation used in the Rivest-Shamir-Adleman (RSA) algorithm and Elliptic Curve (EC) point multiplication. Results suggest competitive latency and throughput with minimum design effort and overcoming all the development issues that arise in the specification and verification of dedicated solutions.<\/jats:p>","DOI":"10.1145\/2400682.2400692","type":"journal-article","created":{"date-parts":[[2013,1,22]],"date-time":"2013-01-22T15:28:56Z","timestamp":1358868536000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["The CRNS framework and its application to programmable and reconfigurable cryptography"],"prefix":"10.1145","volume":"9","author":[{"given":"Samuel","family":"Ant\u00e3o","sequence":"first","affiliation":[{"name":"INESC-ID\/Instituto Superior T\u00e9cnico - TU-Lisbon, Lisboa, Portugal"}]},{"given":"Leonel","family":"Sousa","sequence":"additional","affiliation":[{"name":"INESC-ID\/Instituto Superior T\u00e9cnico - TU-Lisbon, Lisboa, Portugal"}]}],"member":"320","published-online":{"date-parts":[[2013,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/bxr119"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2009.18"},{"volume-title":"Proceeding of the IEEE Symposium on Computer Arithmetic (ARITH). IEEE, 59--65","author":"Bajard J.-C.","key":"e_1_2_1_3_1"},{"volume-title":"Flex: The fast lexical analyzer","year":"2012","author":"Flex","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","unstructured":"GNU - Bison. 2012. Bison - GNU parser generator. http:\/\/www.gnu.org\/software\/bison\/  GNU - Bison. 2012. Bison - GNU parser generator. http:\/\/www.gnu.org\/software\/bison\/"},{"key":"e_1_2_1_6_1","unstructured":"GNU - GMP. 2012. The GNU multiple precision arithmetic library. http:\/\/gmplib.org\/  GNU - GMP. 2012. The GNU multiple precision arithmetic library. http:\/\/gmplib.org\/"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/1881511.1881517"},{"volume-title":"Proceeding of the Conference on EUROCRYPT00","author":"Kawamura S.","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2006.873887"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2008.31"},{"key":"e_1_2_1_11_1","unstructured":"LLVM. 2012. The LLVM compiler infrastructure. http:\/\/llvm.org\/  LLVM. 2012. The LLVM compiler infrastructure. http:\/\/llvm.org\/"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.959864"},{"volume-title":"Residue Number Systems: Algorithms and Architectures","author":"Mohan P. V. A.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"crossref","unstructured":"Montgomery P. L. 1985. Modular multiplication without trial division. Math. Comput. 44 170 519--521.  Montgomery P. L. 1985. Modular multiplication without trial division. Math. Comput. 44 170 519--521.","DOI":"10.1090\/S0025-5718-1985-0777282-X"},{"volume-title":"Proceeding of the Conference on Cryptographic Hardware and Embedded Systems (CHES'01)","author":"Nozaki H.","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/359340.359342"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCSI.2008.2008507"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-85053-3_6"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400692","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2400682.2400692","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:35:01Z","timestamp":1750239301000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400692"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,1]]},"references-count":18,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,1]]}},"alternative-id":["10.1145\/2400682.2400692"],"URL":"https:\/\/doi.org\/10.1145\/2400682.2400692","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2013,1]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}