Skip to main content

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

    Article  MathSciNet  MATH  Google Scholar 

  2. 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

    Article  MathSciNet  MATH  Google Scholar 

  3. Altenkirch, T., Grattage, J.: QML: Quantum data and control (2005)

    Google Scholar 

  4. LIQUi〉Github. https://stationq.github.io/Liquid/. Accessed 24 June 2021

  5. Quipper Homepage. https://www.mathstat.dal.ca/~selinger/quipper/. Accessed 24 June 2021

  6. Selinger, P.: Towards a quantum programming language. Math. Struct. Comput. Sci. 14, 527–586 (2004). https://doi.org/10.1017/S0960129504004256

    Article  MathSciNet  MATH  Google Scholar 

  7. van Tonder, A.: A lambda calculus for quantum computation. SIAM J. Comput. 33, 1109–1135 (2004). https://doi.org/10.1137/S0097539703432165

    Article  MathSciNet  MATH  Google Scholar 

  8. van Tonder, A., Dorca, M.: Quantum Computation, Categorical Semantics and Linear Logic. ArXivquant-Ph0312174 (2011)

    Google Scholar 

  9. 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

    Article  MathSciNet  MATH  Google Scholar 

  10. Bernstein, E., Vazirani, U.: Quantum complexity theory. SIAM J. Comput. 26, 1411–1473 (1997). https://doi.org/10.1137/S0097539796300921

    Article  MathSciNet  MATH  Google Scholar 

  11. Knill, E.: Conventions for Quantum Pseudocode. Los Alamos National Lab (LANL), Los Alamos, NM (United States) (1996)

    Book  Google Scholar 

  12. 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

    Article  Google Scholar 

  13. Ömer, B.: A procedural formalism for quantum computing. (1998)

    Google Scholar 

  14. Ömer, B.: Procedural quantum programming. AIP Conf. Proc. 627, 276–285 (2002). https://doi.org/10.1063/1.1503695

    Article  MathSciNet  Google Scholar 

  15. Ömer, B.: Structured Quantum Programming (2003)

    Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. Azure Quantum Documentation: QDK & Q# API Reference. https://docs.microsoft.com/en-us/azure/quantum/. Accessed 24 June 2021

  19. Liu, S., et al.: Q|SI〉: A Quantum Programming Environment. ArXiv171009500 Quant-Ph (2017)

    Google Scholar 

  20. Qiskit documentation. https://qiskit.org/documentation/. Accessed 24 June 2021

  21. Abhari, A.J., et al.: Scaffold: Quantum Programming Language. Princeton University NJ, Department of Computer Science, Princeton (2012)

    Google Scholar 

  22. Preskill, J.: Quantum computing in the NISQ era and beyond. Quantum 2, 79 (2018). https://doi.org/10.22331/q-2018-08-06-79

    Article  Google Scholar 

  23. 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

  24. 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

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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)

    Google Scholar 

  28. Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information: 10th, Anniversary Cambridge University Press, USA (2011)

    MATH  Google Scholar 

  29. Preskill, J.: Lecture notes for physics 229: Quantum information and computation. Calif. Inst. Technol. 16, 1–8 (1998)

    Google Scholar 

  30. 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

    Article  MATH  Google Scholar 

  31. Roffe, J.: Quantum error correction: an introductory guide. Contemp. Phys. 60, 226–245 (2019). https://doi.org/10.1080/00107514.2019.1667078

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. Preskill, J.: Fault-tolerant quantum computation. In: Introduction to quantum computation and information. pp. 213–269. World Scientific (1998)

    Google Scholar 

  34. 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)

    Google Scholar 

  35. Zhao, P., Zhao, J., Ma, L.: Identifying Bug Patterns in Quantum Programs. ArXiv210309069 Quant-Ph (2021)

    Google Scholar 

  36. 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.

  37. Kitaev, A.Y.: Quantum measurements and the Abelian Stabilizer Problem. ArXivquant-Ph. 9511026. (1995)

    Google Scholar 

  38. IBM Quantum phase estimation. https://quantum-computing.ibm.com/composer/docs/iqx/guide/quantum-phase-estimation. Accessed 08 July 2021

  39. Coppersmith, D.: An approximate Fourier transform useful in quantum factoring. ArXivquant-Ph. 0201067 (2002)

    Google Scholar 

  40. Qiskit Quantum Fourier Transform. https://community.qiskit.org/textbook/ch-algorithms/quantum-fourier-transform.html. Accessed 08 July 2021

  41. 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

  42. 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

  43. Cross, A.W., Bishop, L.S., Smolin, J.A., Gambetta, J.M.: Open Quantum Assembly Language. ArXiv170703429 Quant-Ph. (2017)

    Google Scholar 

  44. Test and debug quantum programs - Azure Quantum, https://docs.microsoft.com/en-us/azure/quantum/user-guide/testing-debugging. Accessed 24 June 2021

  45. 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

    Chapter  MATH  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. 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

  48. Rüdiger, R.: Quantum programming languages: an introductory overview. Comput. J. 50, 134–150 (2007). https://doi.org/10.1093/comjnl/bxl057

    Article  Google Scholar 

  49. Gay, S.J.: Quantum programming languages: survey and bibliography. Math. Struct. Comput. Sci. 16, 581–600 (2006). https://doi.org/10.1017/S0960129506005378

    Article  MathSciNet  MATH  Google Scholar 

  50. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Danel Arias .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics