[1] David Baelde, Pierre Courtieu, David Gross-Amblard, and Christine Paulin-Mohring. Towards Provably Robust Watermarking. In L. Beringer and A. Felty, editors, ITP 2012, number 7406 in Lecture Notes in Computer Science, pages 201-216. Springer-Verlag, August 2012. [ bib | .pdf ]
Watermarking techniques are used to help identifying copies of publicly released information. They consist in applying a slight and secret modification to the data before its release, in a way that should be robust, ie., remain recognizable even in (reasonably) modified copies of the data. In this paper, we present new results about the robustness of watermarking schemes against arbitrary attackers, and the formalization of those results in Coq. We used the ALEA library, which formalizes probability theory and models probabilistic programs using a simple monadic translation. This work illustrates the strengths and particularities of the induced style of reasoning about probabilistic programs. Our technique for proving robustness is adapted from methods commonly used for cryptographic protocols, and we discuss its relevance to the field of watermarking.

Keywords: watermarking, probabilistic algorithms, formal proofs, security, interactive theorem proving
[2] Christine Paulin-Mohring. Alea: A library for reasoning on randomized algorithms in Coq version 7. Description of a Coq contribution, Université Paris Sud, February 2012. Contributions by David Baelde and Pierre Courtieu. [ bib | .pdf ]
[3] C. Paulin-Mohring. Tools for Practical Software Verification, LASER 2011 summerschool, Revised Tutorial Lectures, chapter Introduction to the Coq proof-assistant for practical software verification, pages 45-95. Number 7682 in Lecture Notes in Computer Science. Springer-Verlag, 2012. [ bib | .pdf ]
[4] Christine Paulin. Eléments de logique pour l’informatique, 2012. notes de cours, 54 p. [ bib | http ]
[5] Christine Paulin. Mathématiques pour l'informatique, 2012. notes de cours, 56 p. [ bib | http ]
[6] Philippe Audebaud and Christine Paulin-Mohring. Proofs of randomized algorithms in Coq. Science of Computer Programming, 74(8):568-589, 2009. Extended version of [10]. [ bib | http ]
[7] Christine Paulin-Mohring. From Semantics and Computer Science: Essays in Honor of Gilles Kahn, chapter A constructive denotational semantics for Kahn networks in Coq. Cambridge University Press, 2009. [ bib | www: ]
[8] Ph. Audebaud and Christine Paulin-Mohring, editors. Mathematics of Program Construction (MPC'08), Lecture Notes in Computer Science, Marseille, July 2008. Springer-Verlag. [ bib ]
[9] C. Paulin-Mohring, B. Werner, B. Barras, H. Herbelin, J.-C. Filliâtre, H. Herbelin, and C. Marché. Assistants de preuve, 2007. notes de cours, 124 p. [ bib | http ]
[10] Philippe Audebaud and Christine Paulin-Mohring. Proofs of randomized algorithms in Coq. In Tarmo Uustalu, editor, Mathematics of Program Construction, MPC 2006, volume 4014 of Lecture Notes in Computer Science, Kuressaare, Estonia, July 2006. Springer-Verlag. [ bib ]
[11] Claude Marché and Christine Paulin-Mohring. Reasoning on Java programs with aliasing and frame conditions. In J. Hurd and T. Melham, editors, 18th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2005), volume 3603 of Lecture Notes in Computer Science. Springer-Verlag, August 2005. [ bib ]
[12] June Andronick, Boutheina Chetali, and Christine Paulin-Mohring. Formal verification of security properties of smart card embedded source code. In John Fitzgerald, Ian J. Hayes, and Andrzej Tarlecki, editors, International Symposium of Formal Methods Europe (FM'05), volume 3582 of Lecture Notes in Computer Science, Newcastle,UK, July 2005. Springer-Verlag. [ bib ]
[13] Jean-Christophe Filliâtre, Christine Paulin-Mohring, and Benjamin Werner, editors. Types for Proofs and Programs, International Workshop, TYPES 2004, Jouy-en-Josas, France, December 15-18,2004, Selected Papers, volume 3839 of Lecture Notes in Computer Science. Springer-Verlag, 2005. [ bib ]
[14] C. Paulin-Mohring. Principes des langages de programmation, 2005. notes de cours, 64 p. [ bib ]
[15] G. Huet, G. Kahn, and Ch. Paulin-Mohring. The Coq Proof Assistant - A tutorial - Version 8.0, April 2004. [ bib | http ]
[16] The Coq Development Team. The Coq Proof Assistant Reference Manual - Version V8.0, April 2004. http://coq.inria.fr. [ bib | http ]
[17] Claude Marché, Christine Paulin-Mohring, and Xavier Urbain. The Krakatoa tool for certification of Java/JavaCard programs annotated in JML. Journal of Logic and Algebraic Programming, 58(1-2):89-106, 2004. http://krakatoa.lri.fr. [ bib | http ]
[18] Néstor Cataño, Marek Gawkowski, Marieke Huisman, Bart Jacobs, Claude Marché, Christine Paulin, Erik Poll, Nicole Rauch, and Xavier Urbain. Logical techniques for applet verification. Deliverable 5.2, IST VerifiCard Project, 2003. http://www.cs.kun.nl/VerifiCard/files/deliverables/deliverable_5_2.pdf. [ bib | .pdf ]
[19] Christine Paulin. Cours de compilation, 2003. notes de cours avec exercices, 160 p. [ bib ]
[20] Ph. Chatalic, C. Delobel, D. Kesner, C. Paulin, and M.-C. Rousset. Modélisation de problèmes : Approche fonctionnelle, 2003. notes de cours, 124 p. [ bib ]
[21] Claude Marché, Christine Paulin, and Xavier Urbain. The Krakatoa proof tool, 2002. http://krakatoa.lri.fr/. [ bib ]
[22] C. Paulin-Mohring. Introduction à la méthode B, 2002. notes de cours, 54 p. [ bib ]
[23] The Coq Development Team. The Coq Proof Assistant Reference Manual - Version V7.1, October 2001. http://coq.inria.fr. [ bib ]
[24] G. Huet, G. Kahn, and Ch. Paulin-Mohring. The Coq Proof Assistant - A tutorial - Version 7.1, October 2001. http://coq.inria.fr. [ bib ]
[25] Christine Paulin-Mohring. Modelisation of timed automata in Coq. In N. Kobayashi and B. Pierce, editors, Theoretical Aspects of Computer Software (TACS'2001), volume 2215 of Lecture Notes in Computer Science, pages 298-315. Springer-Verlag, 2001. [ bib ]
[26] B. Bérard, P. Castéran, E. Fleury, L. Fribourg, J.-F. Monin, C. Paulin, A. Petit, and D. Rouillard. Automates temporisés calife. Fourniture F1.1, Calife, 2000. [ bib | .ps.gz ]
[27] P. Castéran, E. Freund, C. Paulin, and D. Rouillard. Bibliothèques Coq et Isabelle-HOL pour les systèmes de transitions et les p-automates. Fourniture F5.4, Calife, 2000. [ bib | .ps.gz ]
[28] Y. Bertot, G. Dowek, C. Paulin-Mohring, and L. Théry, editors. International Conference on Theorem Proving in Higher Order Logics (TPHOLs'99), Lecture Notes in Computer Science, Nice, September 1999. Springer-Verlag. [ bib ]
[29] G. Huet, G. Kahn, and Ch. Paulin-Mohring. The Coq Proof Assistant - A tutorial - Version 6.3, July 1999. [ bib | Abstract ]
[30] E. Giménez and C. Paulin-Mohring, editors. Proceedings TYPES'96, volume 1512 of Lecture Notes in Computer Science. Springer-Verlag, 1998. [ bib ]
[31] B. Barras, S. Boutin, C. Cornes, J. Courant, J.-C. Filliâtre, H. Herbelin, G. Huet, P. Manoury, C. Muñoz, C. Murthy, C. Parent, C. Paulin-Mohring, A. Saïbi, and B. Werner. The Coq Proof Assistant Reference Manual Version 6.1. INRIA-Rocquencourt-CNRS-ENS Lyon, December 1996. [ bib | .dvi.gz ]
[32] C. Paulin-Mohring. Définitions Inductives en Théorie des Types d'Ordre Supérieur. Habilitation à diriger les recherches, Université Claude Bernard Lyon I, December 1996. [ bib | .ps.gz ]
[33] C. Paulin-Mohring. Circuits as streams in Coq : Verification of a sequential multiplier. In S. Berardi and M. Coppo, editors, Types for Proofs and Programs, TYPES'95, volume 1158 of Lecture Notes in Computer Science, 1996. [ bib ]
[34] F. Leclerc and C. Paulin-Mohring. Programming with streams in Coq. a case study : The sieve of eratosthenes. In H. Barendregt and T. Nipkow, editors, Types for Proofs and Programs, Types' 93, volume 806 of Lecture Notes in Computer Science. Springer-Verlag, 1994. [ bib ]
[35] C. Paulin-Mohring. Inductive Definitions in the System Coq - Rules and Properties. In M. Bezem and J.-F. Groote, editors, Proceedings of the conference Typed Lambda Calculi and Applications, number 664 in Lecture Notes in Computer Science, 1993. LIP research report 92-49. [ bib ]
[36] C. Paulin-Mohring and B. Werner. Synthesis of ML programs in the system Coq. Journal of Symbolic Computation, 15:607-640, 1993. [ bib ]
[37] G. Huet and C. Paulin-Mohring. Preuves et construction de programmes. Courrier du CNRS - Informatique, 1992. [ bib ]
[38] C. Paulin-Mohring. Réalisabilité et extraction de programmes. In B. Courcelle, editor, Logique et Informatique : une introduction, volume 8 of Collection Didactique, pages 163-180. INRIA, 1991. [ bib ]
[39] Th. Coquand and C. Paulin-Mohring. Inductively defined types. In P. Martin-Löf and G. Mints, editors, Proceedings of Colog'88, volume 417 of Lecture Notes in Computer Science. Springer-Verlag, 1990. [ bib ]
[40] F. Pfenning and C. Paulin-Mohring. Inductively defined types in the Calculus of Constructions. In Proceedings of Mathematical Foundations of Programmi ng Semantics, volume 442 of Lecture Notes in Computer Science. Springer-Verlag, 1990. technical report CMU-CS-89-209. [ bib ]
[41] C. Paulin-Mohring. Extraction de programmes dans le Calcul des Constructions. Thèse d'université, Paris 7, January 1989. [ bib | .ps.gz ]
[42] C. Paulin-Mohring. Extracting Fω's programs from proofs in the Calculus of Constructions. In Sixteenth Annual ACM Symposium on Principles of Prog ramming Languages, Austin, January 1989. ACM. [ bib ]
[43] C. Mohring. Algorithm development in the Calculus of Constructi ons. In Symposium on Logic in Computer Science, Cambridge, MA, 1986. IEEE Computer Society Press. [ bib ]
[44] The Coq Proof Assistant. http://coq.inria.fr/. [ bib ]

This file was generated by bibtex2html 1.96.