Provable security and other problems in modern cryptography


Article from Issue 257/2022

A concept called provable security brings the rigor of mathematics to the art of cryptography.

Cryptography was originally a mystical art form with the goal of concealing information from unauthorized persons. For example, a simple method for encrypting messages was developed by Gaius Julius Caesar around the year 100 BC. The basic idea of the method was to shift each letter of a message by a fixed amount in the alphabet. This position then served as a secret key. For example, if Caesar were to encrypt Veni, vidi, vici with a secret key of 3, it would result in a ciphertext of Yhql, ylgl, ylfl.

However, the method was soon seen through, then improved, cracked again, and so on. In this way, over time, a kind of cat-and-mouse game developed between the designers of encryption methods and the attackers who cracked the methods in order to access the secret information. This dragged on until the discovery of provable security in the 1980s.

Provable security is a field that seeks to assess the security of systems through mathematical proofs . People often think of cryptography as a sea of digits and huge numbers, which it often is; however, for a mathematician, the goal is to sweep away the details and define the system symbolically in a way that lends itself to logical proof. The development of provable security has brought rigor to the ancient practice of cryptography, which was once considered more art than science.

This article will introduce you to the concept of provable security and will put the principles to work with an example analysis of email communication. I'll also describe some typical errors in the use of cryptographic methods, as well as the strengths and limitations of provable security. And, last but not least, I'll use practical examples to illustrate current research topics in the field of modern cryptography.

Provable Security: The 6 Steps

According to the principles of security-by-design, the provable security process has six steps, as shown in Figure 1.

Figure 1: The six steps leading to provable security.

Step 1: Describe the Functionality

The first step is to describe the functionality of the system – What is the intended purpose? This description often takes the form of a requirements specification.

Step 2: Define the Security Properties

The task of defining the security characteristics usually has two parts. First, you need to describe the security objectives in a way that everyone can understand. After that, you need to formalize the whole thing precisely in order to avoid ambiguous interpretations.

Note that the formal security case applies only to the formal description. That is why this formalization must break down the real protection goals as precisely as possible. As a rule, this step covers the following aspects: What security property does the system need to provide? What system(s) with what setup are we talking about? What class of attackers do we need to fend off? What are their capabilities? When is an attack deemed successful?

Identifying and formalizing the security properties is a challenging task, and a suitable security model has not yet been found for many cryptographic schemes. For example, the research community has still not agreed on a definition for authenticated encryption [1]. In addition, there is always a natural state of competition between efficiency and security. Ideally, you would want to provide protection against all types of adversaries and rely on the best possible security guarantees. However, security is not free, and stronger security guarantees are often less efficient. Inefficient systems are not usually adopted in practice.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Web Cryptography API

    The controversial Web Cryptography API offers flexible encryption for web applications, but it also lays the groundwork for content providers to implement more powerful access restrictions through DRM.

  • Quantum Computing and Encryption

    The encryption methods we use today are no match for tomorrow's quantum computers. We'll show you why and what's ahead for cryptography in the post-quantum era.

  • DM-Crypt

    If you’re serious about keeping secrets, try hard disk encryption with DM-Crypt and LUKS.

  • OpenSSH 5.2 Secured and Tuned

    Even though the OpenSSH project emphasizes that the focus of 5.2 is bug fixes to the 5.1 version, 5.2 does contain some notable enhancements.

  • Cryptomator

    Make files fit for the cloud with Cryptomator by encrypting content and obscuring the name and size of each file.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More