Skip to main content

A Calculus of Chaos in Stochastic Compilation

Engineering in the Cause of Mathematics

  • Conference paper
  • First Online:
Book cover Formal Methods. FM 2019 International Workshops (FM 2019)

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

Included in the following conference series:

  • 417 Accesses

Abstract

An unexpected outcome from an open project to develop a ‘chaotic’ compiler for ANSI C is described here: a trace information entropy calculus for stochastically compiled programs. A stochastic compiler produces randomly different object codes every time it is applied to the same source code. This calculus quantifies the entropy introduced into run-time program traces by a compiler that aims for the maximal possible entropy, furnishing a definition and proof of security for encrypted computing (Turing-complete computation in which data remains in encrypted form throughout), where the status was formerly unknown.

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

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    Signed 2s complement comparison is translation-invariant. I.e., \(x{<}y\) \(~\mathrm {iff}~\) \(x{+}k{<}y{+}k\).

  2. 2.

    Entropy is formally the stochastic expectation \(H = -E[\log _2 p_i]\) of the probability \(p_i\) of the possible observations i, thus \(H = - \sum \limits _i p_i \log _2 p_i\) with \(0 \le p_i\le 1\) and \(H\ge 0\).

  3. 3.

    ‘Success’ is stochastic: the method has probability of being right on each bit that beats chance by a (‘non-negligible’) margin B that does not tend to 0 as \(n{\rightarrow }\infty \).

  4. 4.

    For readability here, the final delta in register v0 is set to zero.

  5. 5.

    C code: \(\mathbf{int}~\mathsf{A}(\mathbf{int}~\mathsf{m},\mathbf{int}~\mathsf{n})~\{~\mathsf{if}(\mathsf{m}{=}0) \textsf {return}~\mathsf{n}{+}1;~\mathsf{if}(\mathsf{n}{=}0) \textsf {return}~\mathsf{A}(\mathsf{m}{-}1, 1); \textsf {return}~\mathsf{A}\) \((\mathsf{m}{-}1, \mathsf{A}(\mathsf{m}, \mathsf{n}{-}1));~\}\).

References

  1. Breuer, P.T., Bowen, J.P.: A fully homomorphic crypto-processor design: correctness of a secret computer. In: Jürjens, J., Livshits, B., Scandariato, R. (eds.) ESSoS 2013. LNCS, vol. 7781, pp. 123–138. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36563-8_9

    Chapter  Google Scholar 

  2. Breuer, P., Bowen, J.: Chaotic compilation: a (statistical) cloak for a secret computer. In: Proceedings of 1st Annual International Workshop SW/HW Interaction Faults (SHIFT 2019), IEEE International Symposium on SW Reliability Engineering Workshops (ISSREW 2019), CA, USA, pp. 428–433. IEEE, October 2019. https://doi.org/10.1109/ISSREW.2019.00106

  3. Breuer, P., Bowen, J.: A fully encrypted high-speed microprocessor architecture: the secret computer in simulation. Int. J. Crit. Comput.-Based Sys. 9(1/2), 26–55 (2019). https://doi.org/10.1504/IJCCBS.2019.10020015

    Article  Google Scholar 

  4. Breuer, P., Bowen, J.: (Un)encrypted computing and indistinguishability obfuscation, January 2019. http://arxiv.org/abs/1811.12365v1. Principles of Secure Compilation (PriSC 2019) at 46th ACM Symposium on Principles of Programming Languages (POPL 2019)

  5. Breuer, P., Bowen, J., Palomar, E., Liu, Z.: A practical encrypted microprocessor. In: Callegari, C., et al. (eds.) Proceedings of 13th International Conference on Security and Cryptography (SECRYPT 2016), Port, vol. 4, pp. 239–250. SCITEPRESS, July 2016. https://doi.org/10.5220/0005955902390250

  6. Breuer, P., Bowen, J., Palomar, E., Liu, Z.: On obfuscating compilation for encrypted computing. In: Samarati, P., et al. (eds.) Proceedings of 14th International Conference on Security and Cryptography (SECRYPT 2017), Port, pp. 247–254. SCITEPRESS, July 2017. https://doi.org/10.5220/0006394002470254

  7. Breuer, P.T., Bowen, J.P., Palomar, E., Liu, Z.: On security in encrypted computing. In: Naccache, D., et al. (eds.) ICICS 2018. LNCS, vol. 11149, pp. 192–211. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01950-1_12

    Chapter  Google Scholar 

  8. Breuer, P., Bowen, J., Palomar, E., Liu, Z.: Superscalar encrypted RISC: the measure of a secret computer. In: Proceedings of 17th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom 2018), pp. 1336–1341. IEEE Computer Society (2018). https://doi.org/10.1109/TrustCom/BigDataSE.2018.00184

  9. Conway, J.H.: FRACTRAN: a simple universal programming language for arithmetic. In: Cover, T.M., Gopinath, B. (eds.) Open Problems in Communication and Computation, pp. 4–26. Springer, Heidelberg (1987). https://doi.org/10.1007/978-1-4612-4808-8_2

    Chapter  Google Scholar 

  10. van Dijk, M., Gentry, C., Halevi, S., Vaikuntanathan, V.: Fully homomorphic encryption over the integers. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 24–43. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13190-5_2

    Chapter  Google Scholar 

  11. Fletcher, C.W., van Dijk, M., Devadas, S.: A secure processor architecture for encrypted computation on untrusted programs. In: Proceedings of 7th ACM Workshop on Scalable Trusted Computing (STC 2012), pp. 3–8. ACM, New York (2012). https://doi.org/10.1145/2382536.2382540

  12. Gentry, C.: Fully homomorphic encryption using ideal lattices. In: Proceedings of 41st Annual ACM Symposium on Theory of Computing (STOC 2009), NY, USA, pp. 169–178 (2009). https://doi.org/10.1145/1536414.1536440

  13. Gentry, C., Halevi, S.: Implementing gentry’s fully-homomorphic encryption scheme. In: Paterson, K.G. (ed.) EUROCRYPT 2011. LNCS, vol. 6632, pp. 129–148. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20465-4_9

    Chapter  Google Scholar 

  14. Goldwasser, S., Micali, S.: Probabilistic encryption & how to play mental poker keeping secret all partial information. In: Proceedings of Annual ACM Symposium on Theory of Computing (STOC 1982), pp. 365–377. ACM (1982). https://doi.org/10.1145/800070.802212

  15. Goldwasser, S., Micali, S.: Probabilistic encryption. J. Comput. Syst. Sci. 28, 270–299 (1984)

    Article  MathSciNet  Google Scholar 

  16. den Hartog, J.I.: Verifying probabilistic programs using a hoare like logic. In: Thiagarajan, P.S., Yap, R. (eds.) ASIAN 1999. LNCS, vol. 1742, pp. 113–125. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-46674-6_11

    Chapter  Google Scholar 

  17. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969). https://doi.org/10.1145/363235.363259

    Article  MATH  Google Scholar 

  18. Irena, F., Murphy, D., Parameswaran, S.: CryptoBlaze: a partially homomorphic processor with multiple instructions and non-deterministic encryption support. In: Proceedings of 23rd Asia and South Pacific Design Automation Conference (ASP-DAC 2018), pp. 702–708. IEEE (2018)

    Google Scholar 

  19. ISO/IEC: Programming languages - C. 9899:201x Technical report, n1570, International Organization for Standardization, August 2011. JTC 1, SC 22, WG 14

    Google Scholar 

  20. Morgan, C., McIver, A., Seidel, K.: Probabilistic predicate transformers. ACM Trans. Prog. Lang. Syst. (TOPLAS) 18(3), 325–353 (1996). https://doi.org/10.1145/229542.229547

    Article  Google Scholar 

  21. Shannon, C.E.: A mathematical theory of communication. Bell Syst. Tech. J. 27(3), 379–423 (1948). https://doi.org/10.1002/j.1538-7305.1948.tb01338.x

    Article  MathSciNet  MATH  Google Scholar 

  22. Sundblad, Y.: The Ackermann function: a theoretical, computational, and formula manipulative study. BIT Numer. Math. 11(1), 107–119 (1971)

    Article  MathSciNet  Google Scholar 

  23. Tsoutsos, N.G., Maniatakos, M.: The HEROIC framework: encrypted computation without shared keys. IEEE TCAD IC Syst. 34(6), 875–888 (2015)

    Google Scholar 

  24. Yao, A.C.C.: How to generate and exchange secrets. In: 27th Annual Symposium on Foundations of Computer Science, pp. 162–167. IEEE (1986). https://doi.org/10.1109/SFCS.1986.25

Download references

Acknowledgments

Simon Pickin’s work has been supported by the Spanish MINECO-FEDER (grant numbers DArDOS, TIN2015-65845-C3-1-R and FAME, RTI2018-093608-B-C31). Peter Breuer thanks Hecusys LLC for continued support in encrypted computing research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter T. Breuer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Breuer, P.T., Pickin, S.J. (2020). A Calculus of Chaos in Stochastic Compilation. In: Sekerinski, E., et al. Formal Methods. FM 2019 International Workshops. FM 2019. Lecture Notes in Computer Science(), vol 12233. Springer, Cham. https://doi.org/10.1007/978-3-030-54997-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-54997-8_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-54996-1

  • Online ISBN: 978-3-030-54997-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics