Skip to main content

Encryption and Reversible Computations

Work-in-progress Paper

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11106))

Abstract

Encryption is a special case of conditional loss-less transformation and is, thus, interesting to study from the perspective of reversible computations. In this paper we investigate some of the advantages of implementing encryption algorithms in a reversible language; here exemplified by implementing several symmetric lightweight encryption algorithms in Janus.

We not only get both encryption and decryption programs with the same implementation, but also demonstrate how to translate the Janus program to a Vale program, which is then intended to be used to formally show the absence of state information leakage. This shows a way to use reversible programming to increase resilience to some side-channel attacks and give prospects for writing more secure algorithms in the future. Our experience shows that the implementation time is not significantly increased when implementing the algorithms in Janus.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Notes

  1. 1.

    Here we are using the notation, where \([\![p]\!](x) = (y)\) represents the execution on an machine of program p with x as a given parameter and y being the result.

  2. 2.

    Some encryptions algorithms require fixed-sized plaintexts/ciphertexts.

References

  1. Beaulieu, R., Shors, D., Smith, J., Treatman-Clark, S., Weeks, B., Wingers, L.: The SIMON and SPECK families of lightweight block ciphers. Cryptology ePrint Archive, Report 2013/404 (2013). https://eprint.iacr.org/2013/404

  2. Bond, B., et al.: Vale: verifying high-performance cryptographic assembly code. In: Proceedings of the 26th USENIX Security Symposium, pp. 917–934 (2017)

    Google Scholar 

  3. Burignat, S., Vermeirsch, K., De Vos, A., Thomsen, M.K.: Garbageless reversible implementation of integer linear transformations. In: Glück, R., Yokoyama, T. (eds.) RC 2012. LNCS, vol. 7581, pp. 160–170. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36315-3_13

    Chapter  MATH  Google Scholar 

  4. Huffman, D.A.: Canonical forms for information-lossless finite-state logical machines. IRE Trans. Inf. Theor. 5(5), 41–59 (1959)

    Article  Google Scholar 

  5. Protzenko, J.: Verified low-level programming embedded in F*. Proc. ACM Program. Lang. 1(ICFP), 17:1–17:29 (2017)

    Article  Google Scholar 

  6. Rivest, R.L.: The RC5 Encryption Algorithm. http://people.csail.mit.edu/rivest/Rivest-rc5rev.pdf

  7. Simon, L., Chisnall, D., Anderson, R.: What You Get is What You C: Controlling Side Effects in Mainstream C Compilers (2014)

    Google Scholar 

  8. Wheeler, D.J., Needham, R.M.: TEA, a tiny encryption algorithm. In: Preneel, B. (ed.) FSE 1994. LNCS, vol. 1008, pp. 363–366. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60590-8_29

    Chapter  MATH  Google Scholar 

  9. Yokoyama, T., Glück, R.: A reversible programming language and its invertible self-interpreter. In: Partial Evaluation and Program Manipulation, PEPM 2007, pp. 144–153. ACM (2007)

    Google Scholar 

Download references

Acknowledgements

This work was partly supported by the European COST Action IC 1405: Reversible Computation - Extending Horizons of Computing.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Kirkedal Thomsen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Táborský, D., Larsen, K.F., Thomsen, M.K. (2018). Encryption and Reversible Computations. In: Kari, J., Ulidowski, I. (eds) Reversible Computation. RC 2018. Lecture Notes in Computer Science(), vol 11106. Springer, Cham. https://doi.org/10.1007/978-3-319-99498-7_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-99498-7_23

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-99497-0

  • Online ISBN: 978-3-319-99498-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics