Reseña: Towards provably robust watermarking

El martes (14 de agosto de 2012) se presentó en el ITP 2012 (Interactive Theorem Proving) un trabajo de razonamiento formalizado en Coq titulado Towards provably robust watermarking.

Sus autores son David Baelde, Pierre Courtieu, David Gross-Amblard y
Christine Paulin-Mohring.

El resumen del trabajo es

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.

El código de la formalización en Coq se encuentra aquí.

El trabajo es parte del proyecto SCALP (Security of Cryptographic ALgorithms with Probabilities).

Reseña: Construction of real algebraic numbers in Coq

El lunes (13 de agosto de 2012) se presentó en el ITP 2012 (Interactive Theorem Proving) un trabajo de razonamiento formalizado en Coq titulado Construction of real algebraic numbers in Coq.

Su autor es Cyril Cohen (de la École Polytechnique (Palaiseau, Francia)).

El resumen del trabajo es

This paper shows a construction in Coq of the set of real algebraic numbers, together with a formal proof that this set has a structure of discrete archimedian real closed field. This construction hence implements an interface of real closed field. Instances of such an interface immediately enjoy quantifier elimination thanks to a previous work. This work also intends to be a basis for the construction of complex algebraic numbers and to be a reference implementation for the certification of numerous algorithms relying on algebraic numbers in computer algebra.

El código de la formalización en Coq se encuentra en realalg.tgz.

Reseña: Formalization of Shannon’s theorems in SSReflect-Coq

Se ha publicado un nuevo artículo de razonamiento formalizado en Coq, titulado Formalization of Shannon’s theorems in SSReflect-Coq.

Sus autores son Reynald Affeldt y Manabu Hagiwara (del National Institute of Advanced Industrial Science and Technology en Tsukuba, Japón).

El trabajo se presentó ayer en el ITP 2012 (Interactive Theorem Proving).

El resumen del trabajo es

The most fundamental results of information theory are Shannon’s theorems. These theorems express the bounds for reliable data compression and transmission over a noisy channel. Their proofs are non-trivial but rarely detailed, even in the introductory literature. This lack of formal foundations makes it all the more unfortunate that crucial results in computer security rely solely on information theory (the so-called “unconditional security”). In this paper, we report on the formalization of a library for information theory in the SSReflect extension of the Coq proof-assistant. In particular, we produce the first formal proofs of the source coding theorem (that introduces the entropy as the bound for lossless compression), and the direct part of the more difficult channel coding theorem (that introduces the capacity as the bound for reliable communication over a noisy channel).

El código de la formalización se encuentra aquí.

Reseña: A certified JavaScript interpreter

Se ha publicado un nuevo trabajo de formalización en Coq titulado A certified JavaScript interpreter.

El autor del trabajo es Martin Bodin (del INRIA de Rennes) en colaboración con Alan Schmitt y Thomas Jensen.

El trabajo es parte del proyecto JSCert cuyo objetivo es la construcción de modelos de JavaScript en Coq y el desarrollo de herramientas de análisis automático basadas en dichos modelos.

El resumen del trabajo es

Although it was initially designed for running small scripts in web pages, JavaScript has become the programming language of the web. It is designed to be very dynamic, for instance by allowing the evaluation of strings as code or by letting programmers to explicitly specify the scope in which a program runs. These aspects allow for great flexibility, but significantly hinder the understanding of the semantics of programs, such as the development of certified analyses.

In practice, it is frequent to insert external code in a web page (such as an advertisement or an interactive map) and make it interact with some scripts carrying some potentially secret information. It would be useful to be able to prove the safety of a web page despite the presence of unknown (thus untrusted) code.

In this internship, we present a formalisation in Coq of JavaScript’s semantics. Our main result is a JavaScript interpreter proven correct with respect to the Coq’s semantics. This work is the first step in the building of certified analysers.

Reseña: Représentation coinductive des graphes

Se ha publicado una nueva tesis de razonamiento formalizado en Coq: Représentation coinductive des graphes.

Su autora es Celia Picard dirigida por Ralph Matthes.

La tesis se presentó el 15 de junio en la Universidad de Toulouse (Université Toulouse III Paul Sabatier).

Su resumen es

Contexte général

Ce travail s’inscrit à l’interface de l’Ingénierie Dirigée par les Modèles et de la théorie des types. Dans le contexte toulousain, fortement axé vers les systèmes embarqués et critiques, savoir certifier la représentation et la transformation des modèles est un enjeu majeur. La perspective visée ici est la transformation d’un modèle conforme à un métamodèle en un modèle conforme à un autre métamodèle en assurant certaines propriétés sur le modèle d’arrivée. Deux solutions sont possibles pour cela : vérifier les propriétés sur chaque modèle d’arrivée ou certifier que l’application de la transformation assure ces propriétés. Nous avons choisi cette seconde solution. Pour la certification, nous avons décidé dans un premier temps d’utiliser un prouveur interactif, le système Coq. La première étape consiste à représenter les métamodèles, la seconde à établir un langage permettant d’exprimer les propriétés à vérifier. Dans cette thèse, nous nous intéressons à la représentation et la manipulation de métamodèles sous forme de graphes.

La représentation des graphes

Nous avons décidé de représenter les graphes par des types coinductifs dont nous voulions explorer l’utilisation dans Coq. En effet, la représentation de la coindition dans les prouveurs basés sur la théorie des types est en progrès continuel. De plus, l’utilisation des types coinductifs permet de rendre succincte et élégante notre représentation des graphes et d’obtenir la navigabilité par construction. Nous avons dû contourner la condition de garde dont le but est d’assurer la validité des opérations effectuées sur les objets coinductifs. Son implantation dans Coq (compromis entre expressivité et maniabilité, résultat d’une longue évolution) est restrictive, et interdit parfois des définitions sémantiquement correctes. Une formalisation canonique des graphes dépasse ainsi l’expressivité directe de Coq. Nous avons donc proposé une solution respectant ces limitations, puis nous nous sommes intéressés à la définition d’une relation plus permissive sur les graphes. Celle-ci permet d’obtenir la même notion d’équivalence qu’avec une représentation classique (ensemble de nœuds/ensemble d’arêtes) tout en gardant les avantages de la coinduction. En effet, notre définition des graphes crée un ordre implicite (horizontal et vertical) entre les nœuds. Notre nouvelle relation permet de nous en affranchir. Nous montrons qu’elle est équivalente à une relation basée sur des observations finies des graphes. Ces résultats ont fait l’objet de publications et sont certifiés par des développements Coq. Toutefois, ces derniers ont été transcrits en langage mathématique et la lecture de cette thèse ne requiert pas de connaissance de Coq.

La formalización en Coq se encuentra aquí.