Abstract
Quantum computing is set to revolutionize the world of software engineering. Currently, quantum paradigms and languages are being developed that are bringing the physical principles of quantum information closer to solving problems in multiple application domains. These paradigms and languages will continue to evolve and bring quantum computing closer to software engineering, and to an increasingly massive use of it. Unfortunately, as quantum software engineering advances in bringing these new capabilities closer to widespread industry exploitation, attackers will turn the spotlight on quantum software vulnerabilities, on what will be the new battlefront in the world of cybersecurity. In this paper, we approach this security from scratch, starting with an introduction to the current state of quantum programming languages. Then, some current hardware limitations are presented and how these affect quantum software engineering. Followed, we make an overview on the analysis of the quantum languages in terms of security together with some of the research made up to date. As a conclusion, we express the necessity to avoid the many times made mistake of not including security considerations from the first steps in the design of computing paradigms. An error that is repeated a second time is not an error; it is, indeed, a choice.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, 348–375 (1978). https://doi.org/10.1016/0022-0000(78)90014-4
Freedman, M.H., Kitaev, A., Wang, Z.: Simulation of topological field theories by quantum computers. Commun. Math. Phys. 227, 587–603 (2002). https://doi.org/10.1007/s002200200635
Altenkirch, T., Grattage, J.: QML: Quantum data and control (2005)
LIQUi〉Github. https://stationq.github.io/Liquid/. Accessed 24 June 2021
Quipper Homepage. https://www.mathstat.dal.ca/~selinger/quipper/. Accessed 24 June 2021
Selinger, P.: Towards a quantum programming language. Math. Struct. Comput. Sci. 14, 527–586 (2004). https://doi.org/10.1017/S0960129504004256
van Tonder, A.: A lambda calculus for quantum computation. SIAM J. Comput. 33, 1109–1135 (2004). https://doi.org/10.1137/S0097539703432165
van Tonder, A., Dorca, M.: Quantum Computation, Categorical Semantics and Linear Logic. ArXivquant-Ph0312174 (2011)
Deutsch, D., Penrose, R.: Quantum theory, the Church-Turing principle and the universal quantum computer. Proc. R. Soc. Lond. Math. Phys. Sci. 400, 97–117 (1985). https://doi.org/10.1098/rspa.1985.0070
Bernstein, E., Vazirani, U.: Quantum complexity theory. SIAM J. Comput. 26, 1411–1473 (1997). https://doi.org/10.1137/S0097539796300921
Knill, E.: Conventions for Quantum Pseudocode. Los Alamos National Lab (LANL), Los Alamos, NM (United States) (1996)
Svore, K.M., Aho, A.V., Cross, A.W., Chuang, I., Markov, I.L.: A layered software architecture for quantum computing design tools. Computer 39, 74–83 (2006). https://doi.org/10.1109/MC.2006.4
Ömer, B.: A procedural formalism for quantum computing. (1998)
Ömer, B.: Procedural quantum programming. AIP Conf. Proc. 627, 276–285 (2002). https://doi.org/10.1063/1.1503695
Ömer, B.: Structured Quantum Programming (2003)
Bettelli, S., Calarco, T., Serafini, L.: Toward an architecture for quantum programming. Eur. Phys. J. D-Atom. Mol. Optical Phys. 25(2), 181–200 (2003). https://doi.org/10.1140/epjd/e2003-00242-2
Sanders, J.W., Zuliani, P.: Quantum programming. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 80–99. Springer, Heidelberg (2000). https://doi.org/10.1007/10722010_6
Azure Quantum Documentation: QDK & Q# API Reference. https://docs.microsoft.com/en-us/azure/quantum/. Accessed 24 June 2021
Liu, S., et al.: Q|SI〉: A Quantum Programming Environment. ArXiv171009500 Quant-Ph (2017)
Qiskit documentation. https://qiskit.org/documentation/. Accessed 24 June 2021
Abhari, A.J., et al.: Scaffold: Quantum Programming Language. Princeton University NJ, Department of Computer Science, Princeton (2012)
Preskill, J.: Quantum computing in the NISQ era and beyond. Quantum 2, 79 (2018). https://doi.org/10.22331/q-2018-08-06-79
Almudever, C.G., et al.: The engineering challenges in quantum computing. In: Design, Automation Test in Europe Conference Exhibition (DATE), 2017, pp. 836–845 (2017). https://doi.org/10.23919/DATE.2017.7927104
Krantz, P., Kjaergaard, M., Yan, F., Orlando, T.P., Gustavsson, S., Oliver, W.D.: A quantum engineer’s guide to superconducting Qubits. Appl. Phys. Rev. 6, 021318 (2019). https://doi.org/10.1063/1.5089550
Bruzewicz, C.D., Chiaverini, J., McConnell, R., Sage, J.M.: Trapped-ion quantum computing: progress and challenges. Appl. Phys. Rev. 6, 021314 (2019). https://doi.org/10.1063/1.5088164
Devitt, S.J., Munro, W.J., Nemoto, K.: Quantum error correction for beginners. Rep. Prog. Phys. 76, 076001 (2013). https://doi.org/10.1088/0034-4885/76/7/076001
Gottesman, D.: An introduction to quantum error correction and fault-tolerant quantum computation. In: Quantum Information Science and Its Contributions to Mathematics, Proceedings of Symposia in Applied Mathematics (2010)
Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information: 10th, Anniversary Cambridge University Press, USA (2011)
Preskill, J.: Lecture notes for physics 229: Quantum information and computation. Calif. Inst. Technol. 16, 1–8 (1998)
Preskill, J.: Reliable quantum computers. Proc. R. Soc. Lond. Ser. Math. Phys. Eng. Sci. 454, 385–410 (1998). https://doi.org/10.1098/rspa.1998.0167
Roffe, J.: Quantum error correction: an introductory guide. Contemp. Phys. 60, 226–245 (2019). https://doi.org/10.1080/00107514.2019.1667078
Campbell, E.T., Terhal, B.M., Vuillot, C.: Roads towards fault-tolerant universal quantum computation. Nature 549, 172–179 (2017). https://doi.org/10.1038/nature23460
Preskill, J.: Fault-tolerant quantum computation. In: Introduction to quantum computation and information. pp. 213–269. World Scientific (1998)
Saki, A.A., Alam, M., Phalak, K., Suresh, A., Topaloglu, R.O., Ghosh, S.: A Survey and Tutorial on Security and Resilience of Quantum Computing. ArXiv210606081 Quant-Ph. (2021)
Zhao, P., Zhao, J., Ma, L.: Identifying Bug Patterns in Quantum Programs. ArXiv210309069 Quant-Ph (2021)
Liu, J., Byrd, G.T., Zhou, H.: Quantum circuits for dynamic runtime assertions in quantum computation. In: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 1017–1030. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3373376.3378488.
Kitaev, A.Y.: Quantum measurements and the Abelian Stabilizer Problem. ArXivquant-Ph. 9511026. (1995)
IBM Quantum phase estimation. https://quantum-computing.ibm.com/composer/docs/iqx/guide/quantum-phase-estimation. Accessed 08 July 2021
Coppersmith, D.: An approximate Fourier transform useful in quantum factoring. ArXivquant-Ph. 0201067 (2002)
Qiskit Quantum Fourier Transform. https://community.qiskit.org/textbook/ch-algorithms/quantum-fourier-transform.html. Accessed 08 July 2021
Huang, Y., Martonosi, M.: Statistical assertions for validating patterns and finding bugs in quantum programs. In: Proceedings of the 46th International Symposium on Computer Architecture. pp. 541–553. Association for Computing Machinery, New York, NY, USA (2019). https://doi.org/10.1145/3307650.3322213
Abhari, A.J., Patil, S., Kudrow, D., Heckey, J., Lvov, A., Chong, F.T., Martonosi, M.: ScaffCC: a framework for compilation and analysis of quantum computing programs. In: Proceedings of the 11th ACM Conference on Computing Frontiers, pp. 1–10. Association for Computing Machinery, New York, NY, USA (2014). https://doi.org/10.1145/2597917.2597939
Cross, A.W., Bishop, L.S., Smolin, J.A., Gambetta, J.M.: Open Quantum Assembly Language. ArXiv170703429 Quant-Ph. (2017)
Test and debug quantum programs - Azure Quantum, https://docs.microsoft.com/en-us/azure/quantum/user-guide/testing-debugging. Accessed 24 June 2021
Selinger, P.: A brief survey of quantum programming languages. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol. 2998, pp. 1–6. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24754-8_1
Menon, P.S., Ritwik, M.: A comprehensive but not complicated survey on quantum computing. IERI Procedia. 10, 144–152 (2014). https://doi.org/10.1016/j.ieri.2014.09.069
Elhoushi, M., El-Kharashi, M.W., Elrefaei, H.: Modeling a quantum processor using the QRAM model. In: Proceedings of 2011 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, pp. 409–415 (2011). https://doi.org/10.1109/PACRIM.2011.6032928
Rüdiger, R.: Quantum programming languages: an introductory overview. Comput. J. 50, 134–150 (2007). https://doi.org/10.1093/comjnl/bxl057
Gay, S.J.: Quantum programming languages: survey and bibliography. Math. Struct. Comput. Sci. 16, 581–600 (2006). https://doi.org/10.1017/S0960129506005378
Tao, R., Shi, Y., Yao, J., Hui, J., Chong, F.T., Gu, R.: Gleipnir: toward practical error analysis for quantum programs (Extended Version). ArXiv210406349 Quant-Ph. (2021)
Acknowledgements
The authors would like to thank the Basque Government through its partial funding support through the TRUSTIND ELKARTEK R&D project (ref. KK-2020/00054).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Arias, D., Sanz, B., de la Puerta, J.G., Pastor, I., Bringas, P.G. (2022). A Repeated Mistake is a Choice: Considering Security Issues and Risks in Quantum Computing from Scratch. In: Gude Prego, J.J., de la Puerta, J.G., García Bringas, P., Quintián, H., Corchado, E. (eds) 14th International Conference on Computational Intelligence in Security for Information Systems and 12th International Conference on European Transnational Educational (CISIS 2021 and ICEUTE 2021). CISIS - ICEUTE 2021. Advances in Intelligent Systems and Computing, vol 1400. Springer, Cham. https://doi.org/10.1007/978-3-030-87872-6_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-87872-6_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-87871-9
Online ISBN: 978-3-030-87872-6
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)