{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T18:23:29Z","timestamp":1740162209385,"version":"3.37.3"},"reference-count":38,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2017,10,29]],"date-time":"2017-10-29T00:00:00Z","timestamp":1509235200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Cryptogr Eng"],"published-print":{"date-parts":[[2019,6]]},"DOI":"10.1007\/s13389-017-0175-4","type":"journal-article","created":{"date-parts":[[2017,10,29]],"date-time":"2017-10-29T00:08:30Z","timestamp":1509235710000},"page":"159-171","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Parallel bitsliced AES through PHAST: a single-source high-performance library for multi-cores and GPUs"],"prefix":"10.1007","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4998-0092","authenticated-orcid":false,"given":"Biagio","family":"Peccerillo","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sandro","family":"Bartolini","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"\u00c7etin Kaya","family":"Ko\u00e7","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2017,10,29]]},"reference":[{"key":"175_CR1","doi-asserted-by":"publisher","unstructured":"Boyar, J., Peralta, R.: A New Combinational Logic Minimization Technique with Applications to Cryptology, pp. 178\u2013189. Springer, Berlin (2010). \n                    https:\/\/doi.org\/10.1007\/978-3-642-13193-6_16","DOI":"10.1007\/978-3-642-13193-6_16"},{"key":"175_CR2","doi-asserted-by":"publisher","unstructured":"Canright, D.: A very compact S-box for AES. In: Proceedings of the 7th International Conference on Cryptographic Hardware and Embedded Systems, CHES \u201905, pp. 441\u2013455. Springer, Berlin (2005). \n                    https:\/\/doi.org\/10.1007\/11545262_32","DOI":"10.1007\/11545262_32"},{"issue":"1","key":"175_CR3","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1109\/99.660313","volume":"5","author":"L Dagum","year":"1998","unstructured":"Dagum, L., Menon, R.: OpenMP: an industry-standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46\u201355 (1998). \n                    https:\/\/doi.org\/10.1109\/99.660313","journal-title":"IEEE Comput. Sci. Eng."},{"key":"175_CR4","doi-asserted-by":"publisher","unstructured":"Edwards, H.C., Trott, C.R.: Kokkos: enabling performance portability across manycore architectures. In: 2013 Extreme Scaling Workshop (xsw 2013), pp. 18\u201324 (2013). \n                    https:\/\/doi.org\/10.1109\/XSW.2013.7","DOI":"10.1109\/XSW.2013.7"},{"key":"175_CR5","doi-asserted-by":"publisher","unstructured":"Enmyren, J., Kessler, C.W.: SkePU: a multi-backend skeleton programming library for multi-GPU systems. In: Proceedings of the Fourth International Workshop on High-Level Parallel Programming and Applications, HLPP \u201910, pp. 5\u201314. ACM, New York (2010). \n                    https:\/\/doi.org\/10.1145\/1863482.1863487","DOI":"10.1145\/1863482.1863487"},{"key":"175_CR6","doi-asserted-by":"publisher","unstructured":"Gepner, P., Kowalik, M.F.: Multi-core processors: new way to achieve high system performance. In: International Symposium on Parallel Computing in Electrical Engineering (PARELEC\u201906), pp. 9\u201313 (2006). \n                    https:\/\/doi.org\/10.1109\/PARELEC.2006.54","DOI":"10.1109\/PARELEC.2006.54"},{"key":"175_CR7","volume-title":"C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++","author":"K Gregory","year":"2012","unstructured":"Gregory, K., Miller, A.: C++ AMP: Accelerated Massive Parallelism with Microsoft Visual C++. O\u2019Reilly, Sebastopol (2012)"},{"key":"175_CR8","doi-asserted-by":"publisher","unstructured":"Haidl, M., Gorlatch, S.: PACXX: towards a unified programming model for programming accelerators using C++14. In: Proceedings of the 2014 LLVM Compiler Infrastructure in HPC, LLVM-HPC \u201914, pp. 1\u201311. IEEE Press, Piscataway (2014). \n                    https:\/\/doi.org\/10.1109\/LLVM-HPC.2014.9","DOI":"10.1109\/LLVM-HPC.2014.9"},{"key":"175_CR9","volume-title":"Elements of Software Science (Operating and Programming Systems Series)","author":"MH Halstead","year":"1977","unstructured":"Halstead, M.H.: Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc., New York (1977)"},{"key":"175_CR10","doi-asserted-by":"publisher","unstructured":"Han, T.D., Abdelrahman, T.S.: Reducing branch divergence in GPU programs. In: Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units, GPGPU-4, pp. 3:1\u20133:8. ACM, New York (2011). \n                    https:\/\/doi.org\/10.1145\/1964179.1964184","DOI":"10.1145\/1964179.1964184"},{"issue":"4","key":"175_CR11","doi-asserted-by":"publisher","first-page":"322","DOI":"10.1145\/945511.945515","volume":"13","author":"P Hellekalek","year":"2003","unstructured":"Hellekalek, P., Wegenkittl, S.: Empirical evidence concerning AES. ACM Trans. Model. Comput. Simul. 13(4), 322\u2013333 (2003). \n                    https:\/\/doi.org\/10.1145\/945511.945515","journal-title":"ACM Trans. Model. Comput. Simul."},{"key":"175_CR12","volume-title":"Computer Architecture: A Quantitative Approach","author":"JL Hennessy","year":"2011","unstructured":"Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 5th edn. Morgan Kaufmann Publishers Inc., San Francisco (2011)","edition":"5"},{"key":"175_CR13","volume-title":"The Pragmatic Programmer","author":"A Hunt","year":"2000","unstructured":"Hunt, A., Thomas, D.: The Pragmatic Programmer. Addison-Wesley, Boston (2000)"},{"key":"175_CR14","unstructured":"Intel: Intel 64 and IA-32 Architectures Software Developer\u2019s Manual\u2014Volume 1: Basic Architecture. \n                    http:\/\/download.intel.com\/design\/processor\/manuals\/253665.pdf\n                    \n                   (2011). Accessed 17 Sept 2016"},{"key":"175_CR15","unstructured":"ISO: ISO\/IEC 14882:2011\u2014Information technology\u2014Programming languages\u2014C++. Standard, International Organization for Standardization, Geneva (2011)"},{"key":"175_CR16","doi-asserted-by":"publisher","unstructured":"K\u00e4sper, E., Schwabe, P.: Faster and timing-attack resistant AES-GCM. In: Proceedings of the 11th International Workshop on Cryptographic Hardware and Embedded Systems, CHES \u201909, pp. 1\u201317. Springer, Berlin (2009). \n                    https:\/\/doi.org\/10.1007\/978-3-642-04138-9_1","DOI":"10.1007\/978-3-642-04138-9_1"},{"key":"175_CR17","unstructured":"Khronos OpenCL Working Group: SYCL Provisional Specification, version 2.2. \n                    https:\/\/www.khronos.org\/registry\/sycl\/specs\/sycl-2.2.pdf\n                    \n                   (2016). Accessed 17 Sept 2016"},{"key":"175_CR18","unstructured":"Khronos OpenCL Working Group: The OpenCL Specification, version 2.2. \n                    https:\/\/www.khronos.org\/registry\/cl\/specs\/opencl-2.2.pdf\n                    \n                   (2016). Accessed 17 Sept 2016"},{"issue":"6","key":"175_CR19","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1109\/MM.2003.1261393","volume":"23","author":"C Kim","year":"2003","unstructured":"Kim, C., Burger, D., Keckler, S.W.: Nonuniform cache architectures for wire-delay dominated on-chip caches. IEEE Micro 23(6), 99\u2013107 (2003). \n                    https:\/\/doi.org\/10.1109\/MM.2003.1261393","journal-title":"IEEE Micro"},{"key":"175_CR20","volume-title":"The Art of Computer Programming. Seminumerical Algorithms","author":"DE Knuth","year":"1997","unstructured":"Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2, 3rd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (1997)","edition":"3"},{"key":"175_CR21","doi-asserted-by":"publisher","unstructured":"Lim, R.K., Petzold, L.R., Ko\u00e7, \u00c7.K.: Bitsliced high-performance AES-ECB on GPUs. In: Ryan, A.P.Y., Naccache, D., Quisquater, J.J. (eds.) The New Codebreakers: Essays Dedicated to David Kahn on the Occasion of His 85th Birthday, pp. 125\u2013133. Springer, Berlin (2016). \n                    https:\/\/doi.org\/10.1007\/978-3-662-49301-4_8","DOI":"10.1007\/978-3-662-49301-4_8"},{"key":"175_CR22","unstructured":"Lutz, K.: Boost.Compute. \n                    http:\/\/www.boost.org\/doc\/libs\/1_61_0\/libs\/compute\/doc\/html\/index.html\n                    \n                   (2016). Accessed 17 Sept 2016"},{"issue":"4","key":"175_CR23","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"2","author":"TJ McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 2(4), 308\u2013320 (1976). \n                    https:\/\/doi.org\/10.1109\/TSE.1976.233837","journal-title":"IEEE Trans. Softw. Eng."},{"key":"175_CR24","unstructured":"Microsoft: Multithreading with C and Win32. \n                    https:\/\/msdn.microsoft.com\/en-us\/library\/y6h8hye8.aspx\n                    \n                  . Accessed 17 Sept 2016"},{"key":"175_CR25","unstructured":"Miller, R., Stout, Q.F.: Algorithmic techniques for networks of processors. In: Atallah, M.J. (ed.) Algorithms and Theory of Computation Handbook, 2nd edn., Chap.\u00a046, pp. 46:1\u201346:18. CRC Press, Boca Raton (1999)"},{"key":"175_CR26","unstructured":"National Institute of Standards and Technology (NIST): FIPS PUB 197: Announcing the ADVANCED ENCRYPTION STANDARD (AES). National Institute for Standards and Technology, Gaithersburg (2001)"},{"key":"175_CR27","volume-title":"Pthreads Programming\u2014A POSIX Standard for Better Multiprocessing","author":"B Nichols","year":"1996","unstructured":"Nichols, B., Buttlar, D., Farrell, J.P.: Pthreads Programming\u2014A POSIX Standard for Better Multiprocessing. O\u2019Reilly, Sebastopol (1996)"},{"key":"175_CR28","unstructured":"NVIDIA: NVIDIA GF100 Whitepaper. \n                    http:\/\/www.nvidia.com\/object\/IO_89569.html\n                    \n                   (2010). Accessed 17 Sept 2016"},{"key":"175_CR29","unstructured":"NVIDIA: CUDA C Best Practices Guide. \n                    http:\/\/docs.nvidia.com\/cuda\/pdf\/CUDA_C_Best_Practices_Guide.pdf\n                    \n                   (2015). Accessed 17 Sept 2016"},{"key":"175_CR30","unstructured":"NVIDIA: CUDA C Programming Guide. \n                    http:\/\/docs.nvidia.com\/cuda\/pdf\/CUDA_C_Programming_Guide.pdf\n                    \n                   (2015). Accessed 17 Sept 2016"},{"key":"175_CR31","unstructured":"NVIDIA: NVIDIA GeForce GTX 1080 Whitepaper. \n                    http:\/\/international.download.nvidia.com\/geforce-com\/international\/pdfs\/geforce_gtx_1080_whitepaper_final.pdf\n                    \n                   (2016). Accessed 17 Sept 2016"},{"key":"175_CR32","unstructured":"OpenACC: OpenACC Programming and Best Practices Guide. \n                    http:\/\/www.openacc.org\/sites\/default\/files\/OpenACC_Programming_Guide_0.pdf\n                    \n                   (2015). Accessed 17 Sept 2016"},{"key":"175_CR33","unstructured":"Perkins, H.: EasyCL\u2014easy to run kernels using OpenCL. \n                    https:\/\/github.com\/hughperkins\/EasyCL\n                    \n                   (2016). Accessed 17 Sept 2016"},{"key":"175_CR34","volume-title":"Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism","author":"J Reinders","year":"2007","unstructured":"Reinders, J.: Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism. O\u2019Reilly Media Inc, Sebastopol (2007)"},{"key":"175_CR35","volume-title":"The Boost C++ Libraries","author":"B Sch\u00e4ling","year":"2014","unstructured":"Sch\u00e4ling, B.: The Boost C++ Libraries, 2nd edn. XML Press, Laguna Hills (2014)","edition":"2"},{"key":"175_CR36","doi-asserted-by":"publisher","unstructured":"Steuwer, M., Kegel, P., Gorlatch, S.: SkelCL\u2014a portable skeleton library for high-level GPU programming. In: Proceedings of the 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and PhD Forum, IPDPSW \u201911, pp. 1176\u20131182. IEEE Computer Society, Washington (2011). \n                    https:\/\/doi.org\/10.1109\/IPDPS.2011.269","DOI":"10.1109\/IPDPS.2011.269"},{"issue":"3","key":"175_CR37","first-page":"202","volume":"30","author":"H Sutter","year":"2005","unstructured":"Sutter, H.: The free lunch is over: a fundamental turn toward concurrency in software. Dr. Dobb\u2019s J. 30(3), 202\u2013210 (2005)","journal-title":"Dr. Dobb\u2019s J."},{"key":"175_CR38","unstructured":"Yalamanchili, P., Arshad, U., Mohammed, Z., Garigipati, P., Entschev, P., Kloppenborg, B., Malcolm, J., Melonakos, J.: ArrayFire\u2014a high performance software library for parallel computing with an easy-to-use API. \n                    https:\/\/github.com\/arrayfire\/arrayfire\n                    \n                   (2015)"}],"container-title":["Journal of Cryptographic Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s13389-017-0175-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s13389-017-0175-4\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s13389-017-0175-4.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,16]],"date-time":"2019-05-16T13:29:37Z","timestamp":1558013377000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s13389-017-0175-4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,10,29]]},"references-count":38,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2019,6]]}},"alternative-id":["175"],"URL":"https:\/\/doi.org\/10.1007\/s13389-017-0175-4","relation":{},"ISSN":["2190-8508","2190-8516"],"issn-type":[{"type":"print","value":"2190-8508"},{"type":"electronic","value":"2190-8516"}],"subject":[],"published":{"date-parts":[[2017,10,29]]},"assertion":[{"value":"24 January 2017","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"16 October 2017","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 October 2017","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}