Abstract
Security and probability are both artefacts that we hope to bring increasingly within the reach of refinement-based Formal Methods; although we have worked on them separately, in the past, the goal has always been to bring them together.
In this report we describe our ongoing work in that direction: we relate it to a well known problem in security, Chaum’s Dining Cryptographers, where the various criteria of correctness that might apply to it expose precisely the issues we have found to be significant in our efforts to deal with security, probability and abstraction all at once.
Taking our conviction into this unfamiliar and demanding territory, that abstraction and refinement are the key tools of software development, has turned out to be an exciting challenge.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
A large literature on probabilistic process algebras from 1990 or before
A series of meetings between Oxford and Manchester over the general principles of data refinement (reification) and its completeness, Participants included Jifeng He, Tony Hoare, Cliff Jones, Peter Lupton, Carroll Morgan, Tobias Nipkow, Ken Robinson, Bill Roscoe, Jeff Sanders, Ib Sørensen and Mike Spivey (1986)
Back, R.-J.R.: On the correctness of refinement steps in program development. Report A-1978-4, Dept. Comp. Sci., Univ. Helsinki (1978)
Back, R.-J.R.: Data refinement in the refinement calculus. In: Proceedings 22nd Hawaii International Conference of System Sciences, Kailua-Kona (January 1989)
Back, R.-J.R., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer, Heidelberg (1998)
Butler, M.J., Hartel, P.H.: Reasoning about Grover’s quantum search algorithm using probabilistic WP. ACM Trans. Prog. Lang. Sys. 21(3), 417–430 (1999)
Celiku, O., McIver, A.: Cost-based analysis of probabilistic programs mechanised in HOL. Nordic. Jnl. Comp. 11(2), 102–128 (2004)
Chaum, D.: The Dining Cryptographers problem: Unconditional sender and recipient untraceability. J. Cryptol. 1(1), 65–75 (1988)
Cohen, E.S.: Information transmission in sequential programs. ACM SIGOPS Operatings Systems Review 11(5), 133–139 (1977)
de Nicola, M., Hennessy, M.: Testing equivalence for processes. Theo. Comp. Sci. 34 (1984)
Deng, Y., Chothia, T., Palamidessi, C., Pang, J.: Metrics for action-labelled quantitative transition systems. Electronic Notes in Theoretical Computer Science 153(2), 79–96 (2006)
Deng, Y., Du, W.: Kantorovich metric in computer science: A brief survey. In: Proceedings of the 7th Workshop on Quantitative Aspects of Programming Languages (to appear, 2009)
Desharnais, J., Jagadeesan, R., Gupta, V., Panangaden, P.: The metric analogue of weak bisimulation for probabilistic processes. In: Proc. of the 17th Annual IEEE Symp. Logic in Computer Science, pp. 413–422. IEEE, Los Alamitos (2002)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Engelhardt, K., Moses, Y., van der Meyden, R.: Unpublished report, Univ. NSW (2005)
Engelhardt, K., van der Meyden, R., Moses, Y.: A refinement theory that supports reasoning about knowledge and time. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 125–141. Springer, Heidelberg (2001)
Fidge, C., Shankland, C.: But what if I don’t want to wait forever? Formal Aspects of Computing 14(3), 281–294 (2003)
Floyd, R.W.: Assigning meanings to programs. In: Schwartz, J.T. (ed.) Mathematical Aspects of Computer Science. Proc. Symp. Appl. Math., vol. 19, pp. 19–32. American Mathematical Society, Providence (1967)
Gardiner, P.H.B., Morgan, C.C.: Data refinement of predicate transformers. Theo. Comp. Sci. 87, 143–162 (1991); Reprinted in [60]
Goguen, J.A., Meseguer, J.: Unwinding and inference control. In: Proc. IEEE Symp. on Security and Privacy, pp. 75–86 (1984)
Gonzalia, C., McIver, A.K.: Automating refinement checking in probabilistic system design. In: Butler, M., Hinchey, M.G., Larrondo-Petrie, M.M. (eds.) ICFEM 2007. LNCS, vol. 4789, pp. 212–231. Springer, Heidelberg (2007)
Grimmett, G.R., Welsh, D.: Probability: an Introduction. Oxford Science Publications (1986)
Hallerstede, S., Hoang, T.S.: Qualitative probabilistic modelling in Event-B. In: Davies, J., Gibbons, J. (eds.) IFM 2007. LNCS, vol. 4591, pp. 293–312. Springer, Heidelberg (2007)
He, J., Seidel, K., McIver, A.K.: Probabilistic models for the guarded command language. Science of Computer Programming 28, 171–192 (1997)
Hoang, T.S.: The Development of a Probabilistic B-Method and a Supporting Toolkit. PhD thesis, Computer Science and Engineering (2005)
Hoang, T.S., McIver, A.K., Morgan, C.C., Robinson, K.A., Jin, Z.D.: Probabilistic invariants for probabilistic machines. In: Bert, D., Bowen, J.P., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 240–259. Springer, Heidelberg (2003)
Hoang, T.S., Morgan, C.C., Robinson, K.A., Jin, Z.D.: Refinement in probabilistic B: Foundation and case study. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455. Springer, Heidelberg (2005)
Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12(10), 576–580 (1969)
Hurd, J., McIver, A.K., Morgan, C.C.: Probabilistic guarded commands mechanised in HOL. Theo. Comp. Sci. 346(1), 96–112 (2005)
de Vink, E.P., den Hartog, J.I., de Bakker, J.W.: Metric semantics and full abstractness for action refinement and probabilistic choice. Electronic Notes in Theo. Comp. Sci. 40 (2001)
Jones, C.: Probabilistic nondeterminism. Monograph ECS-LFCS-90-105, Edinburgh University, Ph.D. Thesis (1990)
Jones, C., Plotkin, G.: A probabilistic powerdomain of evaluations. In: Proceedings of the IEEE 4th Annual Symposium on Logic in Computer Science, pp. 186–195. IEEE Computer Society Press, Los Alamitos (1989)
Jones, C.B.: Systematic Software Development using VDM. Prentice-Hall, Englewood Cliffs (1986)
Kozen, D.: Semantics of probabilistic programs. Jnl. Comp. Sys. Sci. 22, 328–350 (1981)
Kozen, D.: A probabilistic PDL. Jnl. Comp. Sys. Sci. 30(2), 162–178 (1985)
Leino, K.R.M., Joshi, R.: A semantic approach to secure information flow. Science of Computer Programming 37(1–3), 113–138 (2000)
McIver, A.K.: The secure art of computer programming. In: Proc. ICTAC 2009 (2009) (invited presentation)
McIver, A.K., Morgan, C.C.: A quantified measure of security 2: A programming logic. Available at [62, key McIver:98A] (1998)
McIver, A.K., Morgan, C.C.: Demonic, angelic and unbounded probabilistic choices in sequential programs. Acta. Inf. 37(4/5), 329–354 (2001)
McIver, A.K., Morgan, C.C.: Abstraction and refinement of probabilistic systems. In: Katoen, J.-P. (ed.) ACM SIGMetrics Performance Evaluation Review, vol. 32. ACM, New York (2005)
McIver, A.K., Morgan, C.C.: Abstraction, Refinement and Proof for Probabilistic Systems. Tech. Mono. Comp. Sci. (2005)
McIver, A.K., Morgan, C.C.: Developing and reasoning about probabilistic programs in pGCL. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 123–155. Springer, Heidelberg (2006)
McIver, A.K., Morgan, C.C.: A calculus of revelations. In: Presented at VSTTE Theories Workshop (October 2008), http://www.cs.york.ac.uk/vstte08/
McIver, A.K., Morgan, C.C.: Sums and lovers: Case studies in security, compositionality and refinement. In: Cavalcanti, A., Dams, D. (eds.) FM 2009. LNCS. Springer, Heidelberg (2009)
McIver, A.K., Morgan, C.C., Gonzalia, C.: Proofs and refutations for probabilistic systems. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 100–115. Springer, Heidelberg (2008)
McIver, A.K., Morgan, C.C., Hoang, T.S.: Probabilistic termination in B. In: Bert, D., Bowen, J.P., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 216–239. Springer, Heidelberg (2003)
McIver, A.K., Morgan, C.C., Sanders, J.W.: Probably Hoare? Hoare probably! In: Davies, J.W., Roscoe, A.W., Woodcock, J.C.P. (eds.) Millennial Perspectives in Computer Science, Cornerstones of Computing, pp. 271–282. Palgrave, Oxford (2000)
McIver, A.K., Morgan, C.C., Troubitsyna, E.: The probabilistic steam boiler: a case study in probabilistic data refinement. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 250–265. Springer, Heidelberg (1998); Also [41, ch. 4]
McIver, A., Morgan, C.: The thousand-and-one cryptographers. In: Festschrift in Honour of Tony Hoare (to appear, 2009)
Morgan, C.C.: The specification statement. ACM Trans. Prog. Lang. Sys. 10(3), 403–419 (1988); Reprinted in [60]
Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994), web.comlab.ox.ac.uk/oucl/publications/books/PfS/
Morgan, C.C.: Proof rules for probabilistic loops. In: Jifeng, H., Cooke, J., Wallis, P. (eds.) Proc. BCS-FACS 7th Refinement Workshop, Workshops in Computing. Springer, Heidelberg (1996), ewic.bcs.org/conferences/1996/refinement/papers/paper10.htm
Morgan, C.C.: The generalised substitution language extended to probabilistic programs. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 9–25. Springer, Heidelberg (1998)
Morgan, C.C.: The Shadow Knows: Refinement of ignorance in sequential programs. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 359–378. Springer, Heidelberg (2006)
Morgan, C.C.: How to brew-up a refinement ordering. In: Boiten, E., Derrick, J., Reeves, S. (eds.) Proc. 2009 Refine Workshop, Eindhoven (2009)
Morgan, C.C.: The Shadow Knows: Refinement of ignorance in sequential programs. Science of Computer Programming 74(8) (2009); Treats Oblivious Transfer
Morgan, C.C., McIver, A.K.: A quantified measure of security 1: a relational model. Available at [62, key Morgan:98a] (1998)
Morgan, C.C., McIver, A.K.: pGCL: Formal reasoning for random algorithms. South African Comp. Jnl. 22, 14–27 (1999)
Morgan, C.C., McIver, A.K., Seidel, K.: Probabilistic predicate transformers. ACM Trans. Prog. Lang. Sys. 18(3), 325–353 (1996), doi.acm.org/10.1145/229542.229547
Morgan, C.C., Vickers, T.N. (eds.): On the Refinement Calculus. FACIT Series in Computer Science. Springer, Berlin (1994)
Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming 9(3), 287–306 (1987)
Probabilistic Systems Group. Publications, http://www.cse.unsw.edu.au/~carrollm/probs
Sabelfeld, A., Sands, D.: A PER model of secure information flow. Higher-Order and Symbolic Computation 14(1), 59–91 (2001)
Schneider, S., Hoang, T.S., Robinson, K.A., Treharne, H.: Tank monitoring: a pAMN case study. Formal Aspects of Computing 18(3), 308–328 (2006)
Tix, R., Keimel, K., Plotkin, G.D.: Semantic domains for combining probability and non-determinism. ENTCS 129, 1–104 (2005)
van Breugel, F.: Comparative Metric Semantics of Programming Languages: Nondeterminism and Recursion. Theoretical Computer Science (1997)
Ying, M., Wirsing, M.: Approximate Bisimilarity. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 309–322. Springer, Heidelberg (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
McIver, A., Meinicke, L., Morgan, C. (2009). Security, Probability and Nearly Fair Coins in the Cryptographers’ Café. In: Cavalcanti, A., Dams, D.R. (eds) FM 2009: Formal Methods. FM 2009. Lecture Notes in Computer Science, vol 5850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05089-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-05089-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05088-6
Online ISBN: 978-3-642-05089-3
eBook Packages: Computer ScienceComputer Science (R0)