On Separation Logic, Computational Independence, and Pseudorandomness (Extended Version)

Ugo Dal Lago,Davide Davoli,Bruce M. Kapron
2024-05-20
Abstract:Separation logic is a substructural logic which has proved to have numerous and fruitful applications to the verification of programs working on dynamic data structures. Recently, Barthe, Hsu and Liao have proposed a new way of giving semantics to separation logic formulas in which separating conjunction is interpreted in terms of probabilistic independence. The latter is taken in its exact form, i.e., two events are independent if and only if the joint probability is the product of the probabilities of the two events. There is indeed a literature on weaker notions of independence which are computational in nature, i.e. independence holds only against efficient adversaries and modulo a negligible probability of success. The aim of this work is to explore the nature of computational independence in a cryptographic scenario, in view of the aforementioned advances in separation logic. We show on the one hand that the semantics of separation logic can be adapted so as to account for complexity bounded adversaries, and on the other hand that the obtained logical system is useful for writing simple and compact proofs of standard cryptographic results in which the adversary remains hidden. Remarkably, this allows for a fruitful interplay between independence and pseudorandomness, itself a crucial notion in cryptography.
Cryptography and Security
What problem does this paper attempt to address?
The core problem that this paper attempts to solve is to extend the semantics of Separation Logic from information - theoretic independence to computational independence, especially in cryptographic scenarios. Specifically, the authors hope to explore the nature of computational independence in the context of cryptography and show how to adjust the semantics of Separation Logic to take into account adversaries with limited complexity (i.e., attackers with limited computing power). In addition, they also hope to prove that this new logical system can be used to write concise and compact proofs of standard cryptographic results, in which the adversary can be hidden. ### Main Problems 1. **Traditional Interpretation of Separation Logic**: Separation Logic is usually used to verify programs that handle dynamic data structures, where the separating conjunction represents that different parts in memory are independent. 2. **Probabilistic Independence**: Barthe, Hsu and Liao proposed a new semantic interpretation of Separation Logic formulas, in which the separating conjunction is interpreted as probabilistic independence, that is, the product of the probabilities of two events is equal to the joint probability. 3. **Computational Independence**: Computational independence is a weaker form of independence, which is only valid for efficient adversaries and allows for a negligible probability of success. This kind of independence is very important in cryptography. ### Goals of the Paper - **Adapt to Computational Independence**: The main goal of the paper is to explore how to adjust the semantics of Separation Logic to computational independence so that it is suitable for adversaries with limited complexity. - **Apply to Cryptography**: In this way, the authors hope to provide a new logical framework for analyzing and proving the security of cryptographic primitives and protocols, especially when the adversary has limited complexity. ### Specific Contributions 1. **Introduce the Minimal Programming Language**: The paper first introduces a minimal imperative programming language, and all programs can be executed in polynomial time. This language only contains assignment, sequential composition and conditional constructs, and captures randomization through function symbols. 2. **Adjust Probabilistic Separation Logic**: Next, the paper studies how to adjust the probabilistic Separation Logic proposed by Barthe et al. so that it can capture computational independence instead of information - theoretic independence. This involves modifying the underlying semantics to allow for comparing computationally indistinguishable distributions. 3. **Define Hoare Triples**: The paper further studies how to define Hoare triples and their inference rules for the above - mentioned language, showing that computational concepts can be treated similarly to information - theoretic concepts. 4. **Cryptographic Applications**: Finally, the paper demonstrates the practicality of the new logical system through several simple cryptographic proof examples, such as the security proof of the encryption scheme induced by the pseudo - random generator and the properties of the combination of pseudo - random generators. ### Summary The main contribution of this paper lies in extending Separation Logic from information - theoretic independence to computational independence and demonstrating the application potential of this extension in cryptography. In this way, the authors provide a new logical framework that can handle basic concepts in cryptography, such as computational independence and pseudo - randomness, more naturally.