Automated analysis of cryptographic constructions

La criptografia asistida por ordenador es un area de investigacion cada vez mas popular que estudia la aplicacion de metodos formales y tecnicas de analisis automatizado a la criptografia. Permite que los criptografos deleguen en un ordenador algunos calculos tediosos y propensos a errores (por ejemplo, partes rutinarias del analisis y validacion de pruebas criptograficas, verificar calculos complejos o explorar diferentes variantes de construcciones criptograficas). La criptografia asistida por ordenador ha sido utilizada con exito para el analisis de varias primitivas, tanto en sistemas de clave-publica clasicos, como en sistemas de clave simetrica. Sin embargo, todavia no es muy claro como se podrian aplicar dichos metodos automatizados a las construcciones mas recientes y avanzadas. En esta tesis se desarrollan nuevas tecnicas y herramientas que amplian el alcance de la criptografia asistida por ordenador, con especial enfasis en la criptografia basada en pairings. La primera contribucion se trata de un nuevo metodo (con su correspondiente implementacion) para comprobar la seguridad de esquemas criptograficos (como structure-preserving signatures, message-authentication codes o asunciones definidas sobre bilinear pairings) de forma completamente automatica y garantizando niveles de estandarizados de seguridad. Primero, nuestro nuevo metodo estudia como reducir la seguridad de dichos esquemas a la ausencia de soluciones a sistemas de restricciones. Despues, desarrollamos tecnicas para resolver dichos sistemas y demostrar que no admiten ninguna solucion. La segunda contribucion se centra en attribute-based encryption (ABE). Mas concretamente, presentamos nuevos resultados sobre predicate encodings, una primitiva criptografica que se utiliza para construir ABE de manera modular. Proponemos una caracterizacion puramente algebraica de la nocion de privacidad de los encodings, que da lugar a diversas nuevas aplicaciones: combinadores logicos de predicate encodings y tecnicas de optimizacion que han resultado en construcciones de ABE mejoradas (con nuevas propiedades y mejor eficiencia). Ademas, nuestra caracterizacion hace posible nuestros siguientes resultados. La tercera contribucion construye sobre las dos primeras. Proponemos, por primera vez en criptografia asistida por ordenador, tecnicas y algoritmos (ademas de una implementacion) para demostrar automaticamente la seguridad de construcciones ABE en el generic group model. Nuesto metodo permite estudiar experimentos de seguridad basados en indistinguibilidad (como require ABE), lo que supone un logro muy importante. Los trabajos anteriores sobre analisis automatico se centraban especialmente en experimentos de seguridad computacional. Como ultima contribucion tambien estudiamos la nocion de indiferenciabilidad en construcciones de clave simetrica (como por ejemplo, diferentes variantes de Feistel networks o cifrados Even-Mansour). Al contrario que en nuestras primeras contribuciones, donde nuestro analisis estaba orientado a la busqueda de demostraciones, aqui nos centramos en formalizar y sintetizar ataques. Desarrollamos metodos para automatizar la busqueda de ataques. Primero, definimos formalmente el concepto de distinguidor universal y proporcionamos metodos para probar la universalidad de distinguidores candidatos. Despues, desarrollamos e implementamos heuristicas que toman como entrada la descripcion de una componente criptografica y tratan de encontrar un ataque universal. Todas nuestras contribuciones comparten una metodologia comun: utilizamos tecnicas de la teoria de metodos formales, expresando las construcciones criptograficas y sus definiciones de seguridad en un lenguaje simbolico. A continuacion, proporcionamos teoremas que garantizan su validez computacional de forma que las conclusiones obtenidas simbolicamente se puedan extrapolar al modelo real sin simbolos. Ademas, demostramos la efectividad de nuestros metodos a traves de varias herramientas que implementan nuestras tecnicas y que han sido evaluadas en un amplio conjunto de ejemplos de la literatura. Los resultados presentados en esta tesis amplian el alcance de la criptografia asistida por ordenador, permitiendo el analisis de nuevas primitivas y garantizando mejores nociones de seguridad. ----------ABSTRACT---------- Computer-aided cryptography is an emerging area of research concerned with the application of formal methods and techniques from automated reasoning in cryptography. It allows cryptographers to outsource tedious or error-prone tasks to computers (including mundane parts of the analysis and validation of cryptographic proofs, verifying complex calculations or exploring design spaces of cryptographic constructions). Computer-aided cryptography has been successfully applied to the analysis of several primitives in classic public-key systems and symmetric schemes. However, it is still not clear how automated methods can be applied to more recent and advanced constructions. In this thesis we develop new techniques and tools to broaden the scope of computer-aided cryptography, with special emphasis on pairing-based cryptography. Our first contribution consists of a novel method (and an implementation) for automatically checking the security of cryptographic schemes (such as structure-preserving signatures, message authentication codes or assumptions defined over bilinear groups) in the generic group model, under strong standard definitions of security. Our work improves on previous works, which consider weaker security models. Our new approach allows us to reduce the security of schemes to the absence of solutions to a system of constraints. We then develop dedicated constraints-solving algorithms for testing that the systems are unsatisfiable. Our second contribution focuses on attribute-based encryption (ABE). More precisely, we present several new results about predicate encodings, a cryptographic primitive that can be used to build ABE in a modular way. We propose a purely algebraic formulation of the notion of privacy for predicate encodings, that leads to several new applications, such as logical combinations of predicate encodings and optimization techniques that resulted in improved ABE constructions (with extra features and better performance). Our third contribution builds on the first two. We provide, for the first time, computer-aided techniques and algorithms (plus an implementation) for automatically proving the security of attribute-based encryption constructions in the generic group model. Our method allows us to deal with indistinguishabilitybased security definitions (as is required for ABE), which is a very important achievement. Previous works on automated analysis mainly focused on computational security experiments instead. As a last contribution we also study indifferentiability of symmetric constructions (such as different variants of Feistel networks or Even-Mansour ciphers). Unlike in our previous contributions, where our analysis was oriented towards proof search, here we focus on formalizing and synthesizing attacks. We develop methods for fully automated attack search. First, we formally define the notion of universal indifferentiability distinguishers and provide methods for proving the universality of candidate distinguishers. Then, we develop (and implement) heuristics that take the description of a cryptographic component and try to find a universal distinguisher for it. All our contributions share a common methodology: we leverage techniques from formal methods, expressing cryptographic constructions and security definitions in a symbolic language. We then provide computational soundness theorems for such symbolic models that guarantee that the conclusions derived symbolically can be lifted to the actual non-symbolic model. We demonstrate the effectiveness of our approaches by developing several tools that implement our techniques, which are then evaluated on a wide range of examples from the literature. The results presented in this thesis expand the scope of computeraided cryptography, capturing stronger security notions and new settings.