Cryptographic techniques for computing have evolved rapidly over the past decade. Many advanced techniques are gaining traction in real-world applications, due in large part to the rise of decentralized cryptocurrencies and blockchains.

One major obstacle to widespread deployment of advanced cryptographic technologies is that programming distributed cryptographic systems requires the programmer to be a skilled cryptographer. The challenges, therefore, include not only performance, but usability and practical deployment: how to deploy these techniques without dedicated cryptographers.

Researchers at UC Santa Cruz, in collaboration with IBM Research and three other institutions (Cornell University, Oregon State University, and the University of Illinois, Urbana-Champaign), will attempt to overcome this challenge through a project called PASCAL: Programming Architecture for Secure Cryptographic Applications.

The $14.7 million project is funded by the Intelligence Advanced Research Projects Activity (IARPA) through its Homomorphic Encryption Computing Techniques with Overhead Reduction (HECTOR) program.

The investigators on the project say that PASCAL will enable widespread deployment of advanced cryptographic technologies through usable implementation of existing and new cryptographic tools, programming languages that establish the constructs and metadata needed to specify and reason about properties of those tools, and systems implementing high-level compilers and development tools that use the metadata to deploy crypto tools as needed.

A key component of the project is a new programming language, called Blaze, which offers a high-level programming model for building secure distributed applications with advanced cryptographic mechanisms. Blaze is the lynchpin of the project, allowing non-expert programmers to leverage underlying cryptographic tools.

Owen Arden, assistant professor of computer science and engineering at UCSC, will lead the design, specification, and implementation of Blaze. Arden is an expert in language-based approaches to security and is considered a pioneer in applying security-typed programming languages to distributed programming. In 2018, he won a five year, $500,000 CAREER award from the National Science Foundation to investigate a language-based approach to building inherently secure decentralized applications (see news story).

“Finding good programming abstractions for security mechanisms is very challenging,” said Arden. “Without them, programmers tend to stick to the familiar, or worse, use the new mechanisms incorrectly. A good abstraction helps them integrate security into their design without forcing them to become an expert in the underlying technology.”

The project investigators expect that outcomes will include “major progress towards the vision of real-world deployment of cryptography without dedicated cryptographers.” They also expect the project will lead to new programming language and type systems for specifying and reasoning about security properties; a rich crypto library; advances in crypto technology and algorithms from basic primitives to complex protocols and specific applications; and advances in the theory and practice of blockchain as a crypto platform.