cryptography

Cryptography

Modern cryptography plays an integral role in every aspect of online and electronic security, including providing evidence you’re speaking to the intended party and hindering spying on the subsequent communication. Cutting-edge cryptography tools will allow the creation of incredibly strong evidence that general information processing has been performed in a privacy-preserving and trustless way.

Publications

View all PL Research publications!

2023-08-30/Report

Filecoin Proof of Useful Space This document provides a simple formal definition of Proof of Space (taken from the academic literature) and an informal definition of persistent and useful space (needed for Filecoin). It describes construction details and a security proof for the Stacked-DRGs proof of space (SDR), and goes into how SDR is used in Filecoin.

2023-03-21/Report

SpaceVDF: Verifiable delay functions using cryptographic satellites In this document we aim to evaluate how VDF algorithms based on physical limits can be implemented in satellites and which physical properties / or roles of physics we can utilize to guarantee the passage of time.

2023-03-16/Report

LURK: Lambda, the ultimate recursive knowledge We introduce Lurk, a new LISP-based programming language for zk-SNARKs. Traditional approaches to programming over zero-knowledge proofs require compiling the desired computation into a flat circuit, imposing serious constraints on the size and complexity of computations that can be achieved in practice.

2023-02-13/Report

tlock: Practical timelock encryption from threshold BLS We present a practical construction and implementation of timelock encryption, in which a ciphertext is guaranteed to be decryptable only after some specified time has passed. We employ an existing threshold network, the League of Entropy, implementing threshold BLS [BLS01, B03] in the context of Boneh and Franklin’s identity-based encryption (IBE).

2022-11-01/Report

Structure-preserving compilers from new notions of obfuscations The dream of software obfuscation is to take programs, as they are, and then compile them into obfuscated versions that hide their secret inner workings. In this work we investigate notions of obfuscations weaker than virtual black-box (VBB) but which still allow obfuscating cryptographic primitives preserving their original functionalities as much as possible.

2022-09-09/Report

Impossibilities in succinct arguments: Black-box extraction and more The celebrated result by Gentry and Wichs established a theoretical barrier for succinct non-interactive arguments (SNARGs), showing that for (expressive enough) hard-on-average languages we must assume non-falsifiable assumptions. We further investigate those barriers by showing new negative and positive results related to extractability and to the preprocessing model.

2022-09-08/Report

Curve trees: Practical and transparent zero-knowledge accumulators In this work we propose a new accumulator construction and efficient ways to prove knowledge of some element in a set without leaking anything about the element. This problem arises in several applications including privacy-preserving distributed ledgers.

2022-08-30/Conference paper

Encryption to the future: A paradigm for sending secret messages to future (anonymous) committees A number of recent works have constructed cryptographic protocols with flavors of adaptive security by having a randomly-chosen anonymous committee run at each round. Since most of these protocols are stateful, transferring secret states from past committees to future, but still unknown, committees is a crucial challenge.

2022-07-06/Report

Caulk: Lookup arguments in sublinear time We present position-hiding linkability for vector commitment schemes: one can prove in zero knowledge that one or m values that comprise commitment cm all belong to the vector of size N committed to in C.

2022-07-06/Report

Linear-map vector commitments and their practical applications Vector commitments (VC) are a cryptographic primitive that allow one to commit to a vector and then "open" some of its positions efficiently. Vector commitments are increasingly recognized as a central tool to scale highly decentralized networks of large size and whose content is dynamic.

... (Continued with the remaining publications) ...