Post-Quantum Cryptography for Engineers
draft-ietf-pquip-pqc-engineers-00
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Active".
|
|
|---|---|---|---|
| Authors | Aritra Banerjee , Tirumaleswar Reddy.K , Dimitrios Schoinianakis , Tim Hollebeek | ||
| Last updated | 2023-08-30 | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Reviews |
INTDIR Telechat review
(of
-13)
by Dirk Von Hugo
Ready w/nits
ARTART Telechat review
(of
-13)
by Thomas Fossati
Ready w/nits
ARTART IETF Last Call review
(of
-12)
by Thomas Fossati
Ready w/issues
TSVART IETF Last Call review
(of
-12)
by Vidhi Goel
Ready w/nits
DNSDIR IETF Last Call review
(of
-12)
by Scott Rose
Ready w/nits
|
||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Associated WG milestone |
|
||
| Document shepherd | (None) | ||
| IESG | IESG state | I-D Exists | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-pquip-pqc-engineers-00
PQUIP A. Banerjee
Internet-Draft T. Reddy
Intended status: Informational D. Schoinianakis
Expires: 2 March 2024 Nokia
T. Hollebeek
DigiCert
30 August 2023
Post-Quantum Cryptography for Engineers
draft-ietf-pquip-pqc-engineers-00
Abstract
The presence of a Cryptographically Relevant Quantum Computer (CRQC)
would render state-of-the-art, public-key cryptography deployed today
obsolete, since all the assumptions about the intractability of the
mathematical problems that offer confident levels of security today
no longer apply in the presence of a CRQC. This means there is a
requirement to update protocols and infrastructure to use post-
quantum algorithms, which are public-key algorithms designed to be
secure against CRQCs as well as classical computers. These new
public-key algorithms behave similarly to previous public key
algorithms, however the intractable mathematical problems have been
carefully chosen so they are hard for CRQCs as well as classical
computers. This document explains why engineers need to be aware of
and understand post-quantum cryptography. It emphasizes the
potential impact of CRQCs on current cryptographic systems and the
need to transition to post-quantum algorithms to ensure long-term
security. The most important thing to understand is that this
transition is not like previous transitions from DES to AES or from
SHA-1 to SHA-2. While drop-in replacement may be possible in some
cases, others will require protocol re-design to accommodate
significant differences in behavior between the new post-quantum
algorithms and the classical algorithms that they are replacing.
About This Document
This note is to be removed before publishing as an RFC.
Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-ietf-pquip-pqc/.
Discussion of this document takes place on the pquip Working Group
mailing list (mailto:pqc@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/pqc/. Subscribe at
https://www.ietf.org/mailman/listinfo/pqc/.
Banerjee, et al. Expires 2 March 2024 [Page 1]
Internet-Draft PQC for Engineers August 2023
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 2 March 2024.
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 5
3. Contributing to This Document . . . . . . . . . . . . . . . . 5
4. Traditional Cryptographic Primitives that Could Be Replaced by
PQC . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Invariants of Post-Quantum Cryptography . . . . . . . . . . . 6
6. NIST PQC Algorithms . . . . . . . . . . . . . . . . . . . . . 7
6.1. NIST candidates selected for standardization . . . . . . 7
6.1.1. PQC Key Encapsulation Mechanisms (KEMs) . . . . . . . 7
6.1.2. PQC Signatures . . . . . . . . . . . . . . . . . . . 7
6.2. Candidates advancing to the fourth-round for
standardization at NIST . . . . . . . . . . . . . . . . . 8
7. Threat of CRQCs on Cryptography . . . . . . . . . . . . . . . 9
7.1. Symmetric cryptography . . . . . . . . . . . . . . . . . 9
7.2. Asymmetric cryptography . . . . . . . . . . . . . . . . . 10
Banerjee, et al. Expires 2 March 2024 [Page 2]
Internet-Draft PQC for Engineers August 2023
8. Timeline for transition . . . . . . . . . . . . . . . . . . . 10
9. Post-quantum cryptography categories . . . . . . . . . . . . 12
9.1. Lattice-Based Public-Key Cryptography . . . . . . . . . . 12
9.2. Hash-Based Public-Key Cryptography . . . . . . . . . . . 13
9.3. Code-Based Public-Key Cryptography . . . . . . . . . . . 14
10. KEMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
10.1. What is a KEM . . . . . . . . . . . . . . . . . . . . . 14
10.1.1. Authenticated Key Exchange (AKE) . . . . . . . . . . 15
10.2. HPKE . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.3. Security property . . . . . . . . . . . . . . . . . . . 17
11. PQC Signatures . . . . . . . . . . . . . . . . . . . . . . . 17
11.1. What is a Post-quantum Signature . . . . . . . . . . . . 17
11.2. Security property . . . . . . . . . . . . . . . . . . . 17
11.3. Details of FALCON, Dilithium, and SPHINCS+ . . . . . . . 18
11.4. Details of XMSS and LMS . . . . . . . . . . . . . . . . 19
11.5. Hash-then-Sign Versus Sign-then-Hash . . . . . . . . . . 20
12. Recommendations for Security / Performance Tradeoffs . . . . 21
13. Comparing PQC KEMs/Signatures vs Traditional KEMs
(KEXs)/Signatures . . . . . . . . . . . . . . . . . . . . 24
14. Post-Quantum and Traditional Hybrid Schemes . . . . . . . . . 25
14.1. PQ/T Hybrid Confidentiality . . . . . . . . . . . . . . 26
14.2. PQ/T Hybrid Authentication . . . . . . . . . . . . . . 26
14.3. Additional Considerations . . . . . . . . . . . . . . . 27
15. Security Considerations . . . . . . . . . . . . . . . . . . . 29
15.1. Cryptanalysis . . . . . . . . . . . . . . . . . . . . . 29
15.2. Cryptographic Agility . . . . . . . . . . . . . . . . . 29
15.3. Hybrid Key Exchange and Signatures: Bridging the Gap
Between Post-Quantum and Traditional Cryptography . . . 30
16. Further Reading & Resources . . . . . . . . . . . . . . . . . 30
16.1. Reading List . . . . . . . . . . . . . . . . . . . . . . 30
16.2. Developer Resources . . . . . . . . . . . . . . . . . . 30
17. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 31
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 31
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Normative References . . . . . . . . . . . . . . . . . . . . . 31
Informative References . . . . . . . . . . . . . . . . . . . . 32
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 37
1. Introduction
Quantum computing is no longer perceived as a conjecture of
computational sciences and theoretical physics. Considerable
research efforts and enormous corporate and government funding for
the development of practical quantum computing systems are being
invested currently. For instance, some recent results as of writing
in mid 2023 such as Google’s announcement on achieving quantum
supremacy [Google], IBM’s latest 433-qubit processor Osprey [IBM] or
even Nokia Bell Labs' work on topological qubits [Nokia] signify,
Banerjee, et al. Expires 2 March 2024 [Page 3]
Internet-Draft PQC for Engineers August 2023
among other outcomes, the accelerating efforts towards large-scale
quantum computers. At the time of writing the document,
Cryptographically Relevant Quantum Computers (CRQCs) that can break
widely used public-key cryptographic algorithms are not yet
available. However, it is worth noting that there is ongoing
research and development in the field of quantum computing, with the
goal of building more powerful and scalable quantum computers. One
common myth is that quantum computers are faster than conventional
CPUs and GPUs in all areas. This is not the case; much as GPUs
outperform general-purpose CPUs only on specific types of problems,
so too will quantum computers have a niche set of problems on which
they excel; unfortunately for cryptographers, integer factorization
and discrete logarithms, the mathematical problems underpinning all
of modern cryptography, happen to fall within the niche that we
expect quantum computers to excel at. As such, as quantum technology
advances, there is the potential for future quantum computers to have
a significant impact on current cryptographic systems. Forecasting
the future is difficult, but the general consensus is that such
computers might arrive some time in the 2030s, or might not arrive
until 2050 or later.
Extensive research has produced several "post-quantum cryptographic
(PQC) algorithms" (sometimes refered to as "quantum-safe" algorithms)
that offer the potential to ensure cryptography's survival in the
quantum computing era. However, transitioning to a post-quantum
infrastructure is not a straightforward task, and there are numerous
challenges to overcome. It requires a combination of engineering
efforts, proactive assessment and evaluation of available
technologies, and a careful approach to product development. This
document aims to provide general guidance to engineers who utilize
public-key cryptography in their software. It covers topics such as
selecting appropriate PQC algorithms, understanding the differences
between PQC Key Encapsulation Mechanisms (KEMs) and traditional
Diffie-Hellman style key exchange, and provides insights into
expected key sizes and processing time differences between PQC
algorithms and traditional ones. Additionally, it discusses the
potential threat to symmetric cryptography from Cryptographically
Relevant Quantum Computers (CRQCs). It is important to remember that
asymmetric algorithms (also known as public key algorithms) are
largely used for secure communications between organizations or
endpoints that may not have previously interacted, so a significant
amount of coordination between organizations, and within and between
ecosystems needs to be taken into account. Such transitions are some
of the most complicated in the tech industry and will require staged
migrations in which upgraded agents need to co-exist and communicate
with non-upgraded agents at a scale never before undertaken. It
might be worth mentioning that recently NSA released an article on
Future Quantum-Resistant (QR) Algorithm Requirements for National
Banerjee, et al. Expires 2 March 2024 [Page 4]
Internet-Draft PQC for Engineers August 2023
Security Systems [CNSA2-0] based on the need to protect against
deployments of CRQCs in the future. Germany's BSI has also released
a PQC migration and recommendations document [BSI-PQC] which largely
aligns with United States NIST and NSA guidance, but does differ on
some of the guidance.
It is crucial for the reader to understand that when the word "PQC"
is mentioned in the document, it means Asymmetric Cryptography (or
Public key Cryptography) and not any algorithms from the Symmetric
side based on stream, block ciphers, hash functions, MACs, etc. This
document does not cover such topics as when traditional algorithms
might become vulnerable (for that, see documents such as [QC-DNS] and
others). It also does not cover unrelated technologies like Quantum
Key Distribution or Quantum Key Generation, which use quantum
hardware to exploit quantum effects to protect communications and
generate keys, respectively. Post-quantum cryptography is based on
conventional (i.e., non-quantum) math and software and can be run on
any general purpose computer.
Please note: This document does not go into the deep mathematics or
technical specification of the PQC algorithms, but rather provides an
overview to engineers on the current threat landscape and the
relevant algorithms designed to help prevent those threats. Also,
the cryptographic and algorithmic guidance given in this document
should be taken as non-authoritative if it conflicts with emerging
and evolving guidance from the IRTF's Cryptographic Forum Research
Group (CFRG).
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Contributing to This Document
The guide was inspired by a thread in September 2022 on the
pqc@ietf.org (mailto:pqc@ietf.org) mailing list. The document is
being collaborated on through a GitHub repository
(https://github.com/tireddy2/pqc-for-engineers).
The editors actively encourage contributions to this document.
Please consider writing a section on a topic that you think is
missing. Short of that, writing a paragraph or two on an issue you
found when writing code that uses PQC would make this document more
useful to other coders. Opening issues that suggest new material is
Banerjee, et al. Expires 2 March 2024 [Page 5]
Internet-Draft PQC for Engineers August 2023
fine too, but relying on others to write the first draft of such
material is much less likely to happen than if you take a stab at it
yourself.
4. Traditional Cryptographic Primitives that Could Be Replaced by PQC
Any asymmetric cryptographic algorithm based on integer
factorization, finite field discrete logarithms or elliptic curve
discrete logarithms will be vulnerable to attacks using Shor's
Algorithm on a sufficiently large general-purpose quantum computer,
known as a CRQC. This document focuses on the principal functions of
asymmetric cryptography:
* Key Agreement and Key Transport: Key Agreement schemes, typically
referred to as Diffie-Hellman or Elliptic Curve Diffie-Hellman, as
well as Key Transport, typically using RSA Encryption, are used to
establish a shared cryptographic key for secure communication.
They are one of the mechanisms that can be replaced by PQC, as
this is based on public key cryptography and is therefore
vulnerable to the Shor's algorithm. An CRQC can employ Shor's
algorithm to efficiently find the prime factors of a large public
key, which in turn can be exploited to derive the private key.
* Digital Signatures: Digital Signature schemes are used to
authenticate the identity of a sender, detect unauthorized
modifications to data and underpin trust in a system. Similar to
Key Agreement, signatures also depend on public-private key pair
based on the same mathematics as for Key Agreement and Key
Transport, and hence a break in public key cryptography will also
affect traditional digital signatures, hence the importance of
developing post quantum digital signatures.
5. Invariants of Post-Quantum Cryptography
In the context of PQC, symmetric-key cryptographic algorithms are
generally not directly impacted by quantum computing advancements.
Symmetric-key cryptography, which includes keyed primitives such as
block ciphers (e.g., AES) and message authentication mechanisms
(e.g., HMAC-SHA2), rely on secret keys shared between the sender and
receiver. Symmetric cryptography also includes hash functions (e.g.,
SHA-256) that are used for secure message digesting without any
shared key material. HMAC is a specific construction that utilizes a
cryptographic hash function (such as SHA-2) and a secret key shared
between the sender and receiver to produce a message authentication
code. CRQCs, in theory, do not offer substantial advantages in
breaking symmetric-key algorithms compared to classical computers
(see Section 7.1 for more details).
Banerjee, et al. Expires 2 March 2024 [Page 6]
Internet-Draft PQC for Engineers August 2023
6. NIST PQC Algorithms
In 2016, the National Institute of Standards and Technology (NIST)
started a process to solicit, evaluate, and standardize one or more
quantum-resistant public-key cryptographic algorithms, as seen here
(https://csrc.nist.gov/projects/post-quantum-cryptography). The
first set of algorithms for standardization
(https://csrc.nist.gov/publications/detail/nistir/8413/final) were
selected in July 2022.
NIST announced as well that they will be opening a fourth round
(https://csrc.nist.gov/csrc/media/Projects/post-quantum-
cryptography/documents/round-4/guidelines-for-submitting-tweaks-
fourth-round.pdf) to standardize an alternative KEM, and a call
(https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/
call-for-proposals-dig-sig-sept-2022.pdf) for new candidates for a
post-quantum signature algorithm.
These algorithms are not a drop-in replacement for classical
asymmetric cryptographic algorithms. RSA [RSA] and ECC [RFC6090] can
be used for both key encapsulation and signatures, while for post-
quantum algorithms, a different algorithm is needed for each. When
upgrading protocols, it is important to replace the existing use of
classical algorithms with either a PQC key encapsulation method or a
PQC signature method, depending on how RSA and/or ECC was previously
being used. Additionally, Key Encapsulation Methods (KEMs), as
described in Section 10, present a different API than either key
agreement or key transport primitives. As a result, they may require
protocol-level or application-level changes in order to be
incorporated.
6.1. NIST candidates selected for standardization
6.1.1. PQC Key Encapsulation Mechanisms (KEMs)
* CRYSTALS-Kyber (https://pq-crystals.org/kyber/): Kyber is a module
learning with errors (MLWE)-based key encapsulation mechanism
(Section 9.1).
6.1.2. PQC Signatures
* CRYSTALS-Dilithium (https://pq-crystals.org/dilithium/): CRYSTALS-
Dilithium is a lattice signature scheme (Section 9.1 and
Section 11.3).
* Falcon (https://falcon-sign.info/): Falcon is a lattice signature
scheme (Section 9.1 and Section 11.3).
Banerjee, et al. Expires 2 March 2024 [Page 7]
Internet-Draft PQC for Engineers August 2023
* SPHINCS+ (https://sphincs.org/): SPHINCS+ is a stateless hash-
based signature scheme (Section 9.2 and Section 11.3).
6.2. Candidates advancing to the fourth-round for standardization at
NIST
The fourth-round of the NIST process focuses only on KEMs. The goal
of that round is to select an althernative algorithm that is based on
different hard problem than Kyber. The candidates still advancing
for standardization are:
* Classic McEliece (https://classic.mceliece.org/): Based on the
hardness of syndrome decoding of Goppa codes. Goppa codes are a
class of error-correcting codes that can correct a certain number
of errors in a transmitted message. The decoding problem involves
recovering the original message from the received noisy codeword.
* BIKE (https://bikesuite.org/): Based on the the hardness of
syndrome decoding of QC-MDPC codes. Quasi-Cyclic Moderate Density
Parity Check (QC-MDPC) code are a class of error correcting codes
that leverages bit flipping technique to efficiently correct
errors.
* HQC (http://pqc-hqc.org/) : Based on the hardness of syndrome
decoding of Quasi-cyclic concatenated Reed Muller Reed Solomon
(RMRS) codes in the Hamming metric. Reed Muller (RM) codes are a
class of block error correcting codes used especially in wireless
and deep space communications. Reed Solomon (RS) are a class of
block error correcting codes that are used to detect and correct
multiple bit errors.
* SIKE (https://sike.org/) (Broken): Supersingular Isogeny Key
Encapsulation (SIKE) is a specific realization of the SIDH
(Supersingular Isogeny Diffie-Hellman) protocol. Recently, a
mathematical attack (https://eprint.iacr.org/2022/975.pdf) based
on the "glue-and-split" theorem from 1997 from Ernst Kani was
found against the underlying chosen starting curve and torsion
information. In practical terms, this attack allows for the
efficient recovery of the private key. NIST announced that SIKE
was no longer under consideration, but the authors of SIKE had
asked for it to remain in the list so that people are aware that
it is broken. While SIKE is broken, Isogenies in general remain
an active area of cryptographic research due to their very
attractive bandwidth usage, and we may yet see more cryptographic
primitives in the future from this research area.
Banerjee, et al. Expires 2 March 2024 [Page 8]
Internet-Draft PQC for Engineers August 2023
7. Threat of CRQCs on Cryptography
Post-quantum cryptography or quantum-safe cryptography refers to
cryptographic algorithms that are secure against cryptographic
attacks from both CRQCs and classic computers.
When considering the security risks associated with the ability of a
quantum computer to attack traditional cryptography, it is important
to distinguish between the impact on symmetric algorithms and public-
key ones. Dr. Peter Shor and Dr. Lov Grover developed two algorithms
that changed the way the world thinks of security under the presence
of a CRQC.
7.1. Symmetric cryptography
Grover's algorithm is a quantum search algorithm that provides a
theoretical quadratic speedup for searching an unstructured database,
compared to classical algorithms. If we consider the mapping of hash
values to their corresponding hash inputs (also known as pre-image),
or of ciphertext blocks to the corresponding plaintext blocks, as an
unstructured database, then Grover’s algorithm theoretically requires
doubling the key sizes of the symmetric algorithms that are currently
deployed today to achieve quantum resistance. This is because
Grover’s algorithm reduces the amount of operations to break 128-bit
symmetric cryptography to 2^{64} quantum operations, which might
sound computationally feasible. However, 2^{64} operations performed
in parallel are feasible for modern classical computers, but 2^{64}
quantum operations performed serially in a quantum computer are not.
Grover's algorithm is highly non-parallelizable and even if one
deploys 2^c computational units in parallel to brute-force a key
using Grover's algorithm, it will complete in time proportional to
2^{(128−c)/2}, or, put simply, using 256 quantum computers will only
reduce runtime by 1/16, 1024 quantum computers will only reduce
runtime by 1/32 and so forth (see [NIST] and [Cloudflare]).
Therefore, while Grover's attack suggests that we should double the
sizes of symmetric keys, the current consensus among experts is that
the current key sizes remain secure in practice.
For unstructured data such as symmetric encrypted data or
cryptographic hashes, although CRQCs can search for specific
solutions across all possible input combinations (e.g., Grover's
Algorithm), no quantum algorithm is known to break the underlying
security properties of these classes of algorithms.
Banerjee, et al. Expires 2 March 2024 [Page 9]
Internet-Draft PQC for Engineers August 2023
How can someone be sure that an improved algorithm won’t outperform
Grover's algorithm at some point in time? Christof Zalka has shown
that Grover's algorithm (and in particular its non-parallel nature)
achieves the best possible complexity for unstructured search
[Grover-search].
Finally, in their evaluation criteria for PQC, NIST is assessing the
security levels of proposed post-quantum algorithms by comparing them
against the equivalent classical and quantum security of AES-128,
192, and 256. This indicates that NIST is confident in the stable
security properties of AES, even in the presence of both classical
and quantum attacks. As a result, 128-bit algorithms can be
considered quantum-safe for the foreseeable future.
7.2. Asymmetric cryptography
“Shor’s algorithm” on the other side, efficiently solves the integer
factorization problem (and the related discrete logarithm problem),
which offer the foundations of the vast majority of public-key
cryptography that the world uses today. This implies that, if a CRQC
is developed, today’s public-key cryptography algorithms (e.g., RSA,
Diffie-Hellman and Elliptic Curve Cryptography, as well as less
commonly-used variants such as ElGamal and Schnorr signatures) and
protocols would need to be replaced by algorithms and protocols that
can offer cryptanalytic resistance against CRQCs. Note that Shor’s
algorithm cannot run solely on a classic computer, it needs a CRQC.
For example, to provide some context, one would need 20 million noisy
qubits to break RSA-2048 in 8 hours [RSA8HRS] or 4099 stable qubits
to break it in 10 seconds [RSA10SC].
For structured data such as public-key and signatures, instead, CRQCs
can fully solve the underlying hard problems used in classic
cryptography (see Shor's Algorithm). Because an increase of the size
of the key-pair would not provide a secure solution short of RSA keys
that are many gigabytes in size [PQRSA], a complete replacement of
the algorithm is needed. Therefore, post-quantum public-key
cryptography must rely on problems that are different from the ones
used in classic public-key cryptography (i.e., the integer
factorization problem, the finite-field discrete logarithm problem,
and the elliptic-curve discrete logarithm problem).
8. Timeline for transition
The timeline, and driving motivation for transition differs slighly
between data confidentiality (e.g., encryption) and data
authentication (e.g., signature) use-cases.
Banerjee, et al. Expires 2 March 2024 [Page 10]
Internet-Draft PQC for Engineers August 2023
For data confidentiality, we are concerned with the so-called
"Harvest Now, Decrypt Later" attack where a malicious actor with
adequate resources can launch an attack to store sensitive encrypted
data today that can be decrypted once a CRQC is available. This
implies that, every day, sensitive encrypted data is susceptible to
the attack by not implementing quantum-safe strategies, as it
corresponds to data being deciphered in the future.
For authentication, it is often the case that signatures have a very
short lifetime between signing and verifying -- such as during a TLS
handshake -- but some authentication use-cases do require long
lifetimes, such as signing firmware or software that will be active
for decades, signing legal documents, or signing certificates that
will be embedded into hardware devices such as smartcards.
+------------------------+----------------------------+
| | |
| y | x |
+------------------------+----------+-----------------+
| | <--------------->
| z | Security gap
+-----------------------------------+
Figure 1: Mosca model
These challenges are illustrated nicely by the so called Mosca model
discussed in [Threat-Report]. In the Figure 1, "x" denotes the time
that our systems and data need to remain secure, "y" the number of
years to fully migrate to a PQC infrastructure and "z" the time until
a CRQC that can break current cryptography is available. The model
assumes either that encrypted data can be intercepted and stored
before the migration is completed in "y" years, or that signatures
will still be relied upon for "x" years after their creation. This
data remains vulnerable for the complete "x" years of their lifetime,
thus the sum "x+y" gives us an estimate of the full timeframe that
data remain insecure. The model essentially asks how are we preparing
our IT systems during those "y" years (or in other words, how can one
minimize those "y" years) to minimize the transition phase to a PQC
infrastructure and hence minimize the risks of data being exposed in
the future.
Finally, other factors that could accelerate the introduction of a
CRQC should not be under-estimated, like for example faster-than-
expected advances in quantum computing and more efficient versions of
Shor’s algorithm requiring fewer qubits. As an example, IBM, one of
the leading actors in the development of a large-scale quantum
computer, has recently published a roadmap committing to new quantum
processors supporting more than 1000 qubits by 2025 and networked
Banerjee, et al. Expires 2 March 2024 [Page 11]
Internet-Draft PQC for Engineers August 2023
systems with 10k-100k qubits beyond 2026 [IBMRoadmap]. Innovation
often comes in waves, so it is to the industry’s benefit to remain
vigilant and prepare as early as possible. Bear in mind also that
while we track advances from public research institutions such as
universities and companies that publish their results, there is also
a great deal of large-budget quantum research being conducted
privately by various national interests. Therefore, the true state
of quantum computer advancement is likely several years ahead of the
publicly available research.
9. Post-quantum cryptography categories
The current set of problems used in post-quantum cryptography can be
currently grouped into three different categories: lattice-based,
hash-based and code-based.
9.1. Lattice-Based Public-Key Cryptography
Lattice-based public-key cryptography leverages the simple
construction of lattices (i.e., a regular collection of points in a
Euclidean space that are evenly spaced) to create 'trapdoor'
problems. These problems are efficient to compute if you possess the
secret information but challenging to compute otherwise. Examples of
such problems include the Shortest Vector, Closest Vector, Shortest
Integer Solution, Learning with Errors, Module Learning with Errors,
and Learning with Rounding problems. All of these problems feature
strong proofs for worst-to-average case reduction, effectively
relating the hardness of the average case to the worst case.
The possibility to implement public-key schemes on lattices is tied
to the characteristics of the vector basis used for the lattice. In
particular, solving any of the mentioned problems can be easy when
using "reduced" or "good" bases (i.e., as short as possible and as
orthogonal as possible), while it becomes computationally infeasible
when using "bad" bases (i.e., long vectors not orthogonal). Although
the problem might seem trivial, it is computationally hard when
considering many dimensions, or when the underlying field is not
simple numbers, but high-order polynomials. Therefore, a typical
approach is to use "bad" basis for public keys and "good" basis for
private keys. The public keys ("bad" basis) let you easily verify
signatures by checking, for example, that a vector is the closest or
smallest, but do not let you solve the problem (i.e., finding the
vector) that would yield the private key. Conversely, private keys
(i.e., the "good" basis) can be used for generating the signatures
(e.g., finding the specific vector).
Banerjee, et al. Expires 2 March 2024 [Page 12]
Internet-Draft PQC for Engineers August 2023
Lattice-based schemes usually have good performances and average size
public keys and signatures (average within the PQC primitives at
least, they are still several orders of magnitude larger than RSA or
ECC signatures), making them the best available candidates for
general-purpose use such as replacing the use of RSA in PKIX
certificates.
Examples of such class of algorithms include Kyber, Falcon and
Dilithium.
It is noteworthy that lattice-based encryption schemes require a
rounding step during decryption which has a non-zero probability of
"rounding the wrong way" and leading to a decryption failure, meaning
that valid encryptions are decrypted incorrectly; as such, an
attacker could significantly reduce the security of lattice-based
schemes that have a relatively high failure rate. However, for most
of the NIST Post-Quantum Proposals, the number of required oracle
queries to force a decryption failure is above practical limits, as
has been shown in [LattFail1]. More recent works have improved upon
the results in [LattFail1], showing that the cost of searching for
additional failing ciphertexts after one or more have already been
found, can be sped up dramatically [LattFail2]. Nevertheless, at
this point in time (July 2023), the PQC candidates by NIST are
considered secure under these attacks and we suggest constant
monitoring as cryptanalysis research is ongoing.
9.2. Hash-Based Public-Key Cryptography
Hash based PKC has been around since the 70s, developed by Lamport
and Merkle which creates a digital signature algorithm and its
security is mathematically based on the security of the selected
cryptographic hash function. Many variants of "hash-based signatures
(HBS)" have been developed since the 70s including the recent XMSS
[RFC8391], HSS/LMS [RFC8554] or BPQS schemes. Unlike digital
signature techniques, most hash-based signature schemes are stateful,
which means that signing necessitates the update and careful tracking
of the secret key; producing multiple signatures using the same
secret key state results in loss of security and ultimately signature
forgery attacks against that key.
The SPHINCS algorithm on the other hand leverages the HORS (Hash to
Obtain Random Subset) technique and remains the only hash based
signature scheme that is stateless.
SPHINCS+ is an advancement on SPHINCS which reduces the signature
sizes in SPHINCS and makes it more compact. SPHINCS+ was recently
standardized by NIST.
Banerjee, et al. Expires 2 March 2024 [Page 13]
Internet-Draft PQC for Engineers August 2023
9.3. Code-Based Public-Key Cryptography
This area of cryptography stemmed in the 1970s and 80s based on the
seminal work of McEliece and Niederreiter which focuses on the study
of cryptosystems based on error-correcting codes. Some popular error
correcting codes include the Goppa codes (used in McEliece
cryptosystems), encoding and decoding syndrome codes used in Hamming
Quasi-Cyclic (HQC) or Quasi-cyclic Moderate density parity check (QC-
MDPC) codes.
Examples include all the NIST Round 4 (unbroken) finalists: Classic
McEliece, HQC, BIKE.
10. KEMs
10.1. What is a KEM
A Key Encapsulation Mechanism (KEM) is a cryptographic technique used
for securely exchanging symmetric key material between two parties
over an insecure channel. It is commonly used in hybrid encryption
schemes, where a combination of asymmetric (public-key) and symmetric
encryption is employed. The KEM encapsulation results in a fixed-
length symmetric key that can be used in one of two ways: (1) Derive
a Data Encryption Key (DEK) to encrypt the data (2) Derive a Key
Encryption Key (KEK) used to wrap the DEK. The term "encapsulation"
is chosen intentionally to indicate that KEM algorithms behave
differently at the API level than the Key Agreement or Key
Encipherment / Key Transport mechanisms that we are accustomed to
using today. Key Agreement schemes imply that both parties
contribute a public / private keypair to the exchange, while Key
Encipherment / Key Transport schumes imply that the symmetric key
material is chosen by one party and "encrypted" or "wrapped" for the
other party. KEMs, on the other hand, behave according to the
following API:
KEM relies on the following primitives [PQCAPI]:
* def kemKeyGen() -> (pk, sk)
* def kemEncaps(pk) -> (ct, ss)
* def kemDecaps(ct, sk) -> ss
where pk is public key, sk is secret key, ct is the ciphertext
representing an encapsulated key, and ss is shared secret. The
following figure illustrates a sample flow of KEM:
Banerjee, et al. Expires 2 March 2024 [Page 14]
Internet-Draft PQC for Engineers August 2023
+---------+ +---------+
| Client | | Server |
+---------+ +---------+
-----------------------\ | |
| sk, pk = kemKeyGen() |-| |
|----------------------| | |
| |
| pk |
|---------->|
| | -------------------------\
| |-| ss, ct = kemEncaps(pk) |
| | |------------------------|
| |
| ct |
|<----------|
-------------------------\ | |
| ss = kemDecaps(ct, sk) |-| |
|------------------------| | |
| |
10.1.1. Authenticated Key Exchange (AKE)
Authenticated Key Exchange with KEMs where both parties contribute a
KEM public key to the overall session key is interactive as described
in [I-D.draft-ietf-lake-edhoc-22]. However, single-sided KEM, such
as when one peer has a KEM key in a certificate and the other peer
wants to encrypt for it (as in S/MIME or OpenPGP email), can be
achieved using non-interactive HPKE [RFC9180], explained in [hpke].
The following figure illustrates the Diffie-Hellman (DH) Key
exchange:
Banerjee, et al. Expires 2 March 2024 [Page 15]
Internet-Draft PQC for Engineers August 2023
+---------+ +---------+
| Client | | Server |
+---------+ +---------+
-----------------------\ | |
| sk1, pk1 = KeyGen() |-| |
|----------------------| | |
| |
| pk1 |
|---------->|
| | -------------------------\
| |-| sk2, pk2 = KeyGen() |
| | | ss = KeyEx(pk1, sk2) |
| | |------------------------|
| |
| pk2|
|<----------|
-------------------------\ | |
| ss = KeyEx(pk2, sk1) |-| |
|------------------------| | |
| |
What's important to note about the sample flow above is that the
shared secret ss is derived using key material from both the Client
and the Server, which classifies it as an Authenticated Key Exchange
(AKE). It's also worth noting that in an Ephemeral-Static Diffie-
Hellman (DH) scenario, where sk2 and pk2 represent long-term keys.
such as those contained in an email encryption certificate, the
client can compute ss = KeyEx(pk2, sk1) without waiting for a
response from the Server. This characteristic transforms it into a
non-interactive and authenticated key exchange method. Many Internet
protocols rely on this aspect of DH. When using Key Encapsulation
Mechanisms (KEMs) as the underlying primitive, a flow may be non-
interactive or authenticated, but not both. Consequently, certain
Internet protocols will necessitate redesign to accommodate this
distinction, either by introducing extra network round-trips or by
making trade-offs in security properties.
Post-Quantum KEMs are inherently interactive Authenticated Key
Exchange (AKE) protocols because they involve back-and-forth
communication to negotiate and establish a shared secret key. This
is unlike Diffie-Hellman (DH) Key Exchange (KEX) or RSA Key
Transport, which provide the non-interactive key exchange (NIKE)
property. NIKE is a cryptographic primitive that enables two parties
who know each other's public keys to agree on a symmetric shared key
without requiring any real-time interaction. Consider encrypted
email, where the content needs to be encrypted and sent even if the
receiving device containing the decryption keys (e.g., a phone or
laptop) is currently offline.
Banerjee, et al. Expires 2 March 2024 [Page 16]
Internet-Draft PQC for Engineers August 2023
10.2. HPKE
HPKE (Hybrid Public Key Encryption) [RFC9180] deals with a variant of
KEM which is essentially a PKE of arbitrary sized plaintexts for a
recipient public key. It works with a combination of KEMs, KDFs and
AEAD schemes (Authenticated Encryption with Additional Data). HPKE
includes three authenticated variants, including one that
authenticates possession of a pre-shared key and two optional ones
that authenticate possession of a key encapsulation mechanism (KEM)
private key. Kyber, which is a KEM does not support the static-
ephemeral key exchange that allows HPKE based on DH based KEMs its
(optional) authenticated modes as discussed in Section 1.2 of
[I-D.westerbaan-cfrg-hpke-xyber768d00-02].
10.3. Security property
* IND-CCA2 : IND-CCA2 (INDistinguishability under adaptive Chosen-
Ciphertext Attack) is an advanced security notion for encryption
schemes. It ensures the confidentiality of the plaintext,
resistance against chosen-ciphertext attacks, and prevents the
adversary from forging new ciphertexts. An appropriate definition
of IND-CCA2 security for KEMs can be found in [CS01] and [BHK09].
Kyber and Classic McEliece provide IND-CCA2 security.
Understanding IND-CCA2 security is essential for individuals involved
in designing or implementing cryptographic systems and protocols to
evaluate the strength of the algorithm, assess its suitability for
specific use cases, and ensure that data confidentiality and security
requirements are met. Understanding IND-CCA2 security is generally
not necessary for developers migrating to using an IETF-vetted key
establishment method (KEM) within a given protocol or flow. IETF
specification authors should include all security concerns in the
'Security Considerations' section of the relevant RFC and not rely on
implementers being deep experts in cryptographic theory.
11. PQC Signatures
11.1. What is a Post-quantum Signature
Any digital signature scheme that provides a construction defining
security under post quantum setting falls under this category of PQ
signatures.
11.2. Security property
* EUF-CMA : EUF-CMA (Existential Unforgeability under Chosen Message
Attack) [GMR88] is a security notion for digital signature
schemes. It guarantees that an adversary, even with access to a
Banerjee, et al. Expires 2 March 2024 [Page 17]
Internet-Draft PQC for Engineers August 2023
signing oracle, cannot forge a valid signature for an arbitrary
message. EUF-CMA provides strong protection against forgery
attacks, ensuring the integrity and authenticity of digital
signatures by preventing unauthorized modifications or fraudulent
signatures. Dilithium, Falcon and SPHINCS+ provide EUF-CMA
security.
Understanding EUF-CMA security is essential for individual involved
in designing or implementing cryptographic systems to ensure the
security, reliability, and trustworthiness of digital signature
schemes. It allows for informed decision-making, vulnerability
analysis, compliance with standards, and designing systems that
provide strong protection against forgery attacks. Understanding
EUF-CMA security is generally not necessary for developers migrating
to using an IETF-vetted post-quantum cryptography (PQC) signature
scheme within a given protocol or flow. IETF specification authors
should include all security concerns in the 'Security Considerations'
section of the relevant RFC and should not assume that implementers
are deep experts in cryptographic theory
11.3. Details of FALCON, Dilithium, and SPHINCS+
Dilithium [Dilithium] is a digital signature algorithm (part of the
CRYSTALS suite) based on the hardness lattice problems over module
lattices (i.e., the Module Learning with Errors problem (MLWE)). The
design of the algorithm is based on the "Fiat Shamir with Aborts"
method that leverages rejection sampling to render lattice based FS
schemes compact and secure. Additionally, Dilithium offers both
deterministic and randomized signing. Security properties of
Dilithium are discussed in Section 9 of
[I-D.ietf-lamps-dilithium-certificates].
Falcon [Falcon] is based on the GPV hash-and-sign lattice-based
signature framework introduced by Gentry, Peikert and Vaikuntanathan,
which is a framework that requires a class of lattices and a trapdoor
sampler technique.
The main design principle of Falcon is compactness, i.e. it was
designed in a way that achieves minimal total memory bandwidth
requirement (the sum of the signature size plus the public key size).
This is possible due to the compactness of NTRU lattices. Falcon
also offers very efficient signing and verification procedures. The
main potential downsides of Falcon refer to the non-triviality of its
algorithms and the need for floating point arithmetic support in
order to support Gaussian-distributed random number sampling where
the other lattice schemes use the less efficient but easier to
support uniformly-distributed random number sampling.
Banerjee, et al. Expires 2 March 2024 [Page 18]
Internet-Draft PQC for Engineers August 2023
Access to a robust floating-point stack in Falcon is essential for
accurate, efficient, and secure execution of the mathematical
computations involved in the scheme. It helps maintain precision,
supports error correction techniques, and contributes to the overall
reliability and performance of Falcon's cryptographic operations as
well makes it more resistant to side-channel attacks.
Falcon's signing operations require constant-time, 64-bit floating
point operations to avoid catastrophic side channel vulnerabilities.
Doing this correctly is very difficult and is also platform-dependent
to an extreme degree, as NIST's report noted. Providing a masked
implementation of Falcon also seems impossible, per the authors at
the RWPQC 2023 symposium.
The performance characteristics of Dilithium and Falcon may differ
based on the specific implementation and hardware platform.
Generally, Dilithium is known for its relatively fast signature
generation, while Falcon can provide more efficient signature
verification. The choice may depend on whether the application
requires more frequent signature generation or signature
verification. For further clarity, please refer to the tables in
sections Section 12 and Section 13.
SPHINCS+ [SPHINCS] utilizes the concept of stateless hash-based
signatures, where each signature is unique and unrelated to any
previous signature (as discussed in Section 9.2). This property
eliminates the need for maintaining state information during the
signing process. SPHINCS+ was designed to sign up to 2^64 messages
and it offers three security levels. The parameters for each of the
security levels were chosen to provide 128 bits of security, 192 bits
of security, and 256 bits of security. SPHINCS+ offers smaller key
sizes, larger signature sizes, slower signature generation, and
slower verification when compared to Dilithium and Falcon. SPHINCS+
does not introduce a new hardness assumption beyond those inherent to
the underlying hash functions. It builds upon established
foundations in cryptography, making it a reliable and robust digital
signature scheme for a post-quantum world. The advantages and
disadvantages of SPHINCS+ over other signature algorithms is disussed
in Section 3.1 of [I-D.draft-ietf-cose-sphincs-plus].
11.4. Details of XMSS and LMS
The eXtended Merkle Signature Scheme (XMSS) [RFC8391] and
Hierarchical Signature Scheme (HSS) / Leighton-Micali Signature (LMS)
[RFC8554] are stateful hash-based signature schemes, where the secret
key changes over time. In both schemes, reusing a secret key state
compromises cryptographic security guarantees.
Banerjee, et al. Expires 2 March 2024 [Page 19]
Internet-Draft PQC for Engineers August 2023
Multi-Tree XMSS and LMS can be used for signing a potentially large
but fixed number of messages and the number of signing operations
depends upon the size of the tree. XMSS and LMS provide
cryptographic digital signatures without relying on the conjectured
hardness of mathematical problems, instead leveraging the properties
of cryptographic hash functions. XMSS and Hierarchical Signature
System (HSS) use a hierarchical approach with a Merkle tree at each
level of the hierarchy. [RFC8391] describes both single-tree and
multi-tree variants of XMSS, while [RFC8554] describes the Leighton-
Micali One-Time Signature (LM-OTS) system as well as the LMS and HSS
N-time signature systems. Comparison of XMSS and LMS is discussed in
Section 10 of [RFC8554].
The number of tree layers in XMSS^MT provides a trade-off between
signature size on the one side and key generation and signing speed
on the other side. Increasing the number of layers reduces key
generation time exponentially and signing time linearly at the cost
of increasing the signature size linearly.
XMSS and HSS/LMS can be applied in various scenarios where digital
signatures are required, such as software updates.
11.5. Hash-then-Sign Versus Sign-then-Hash
Within the hash-then-sign paradigm, the message is hashed before
signing it. Hashing the message before signing it provides an
additional layer of security by ensuring that only a fixed-size
digest of the message is signed, rather than the entire message
itself. By pre-hashing, the onus of resistance to existential
forgeries becomes heavily reliant on the collision-resistance of the
hash function in use. As well as this security goal, the hash-then-
sign paradigm also has the ability to improve performance by reducing
the size of signed messages. As a corollary, hashing remains
mandatory even for short messages and assigns a further computational
requirement onto the verifier. This makes the performance of hash-
then-sign schemes more consistent, but not necessarily more
efficient. Using a hash function to produce a fixed-size digest of a
message ensures that the signature is compatible with a wide range of
systems and protocols, regardless of the specific message size or
format. Crucially for hardware security modules, Hash-then-Sign also
significantly reduces the amount of data that needs to be transmitted
and processed by a hardware security module. Consider scenarios such
as a networked HSM located in a different data center from the
calling application or a smart card connected over a USB interface.
In these cases, streaming a message that is megabytes or gigabytes
long can result in notable network latency, on-device signing delays,
or even depletion of available on-device memory.
Banerjee, et al. Expires 2 March 2024 [Page 20]
Internet-Draft PQC for Engineers August 2023
Protocols like TLS 1.3 and DNSSEC use the Hash-then-Sign paradigm.
TLS 1.3 [RFC8446] uses it in the Certificate Verify to prove that the
endpoint possesses the private key corresponding to its certificate,
while DNSSEC [RFC4033] uses it to provide origin authentication and
integrity assurance services for DNS data.
In the case of Dilithium, it internally incorporates the necessary
hash operations as part of its signing algorithm. Dilithium directly
takes the original message, applies a hash function internally, and
then uses the resulting hash value for the signature generation
process. In case of SPHINCS+, it internally performs randomized
message compression using a keyed hash function that can process
arbitrary length messages. In case of Falcon, a hash function is
used as part of the signature process, it uses the SHAKE-256 hash
function to derive a digest of the message being signed. Therefore,
Dilithium, Falcon, and SIHPNCS+ offer enhanced security over the
traditional Hash-then-Sign paradigm because by incorporating dynamic
key material into the message digest, a pre-computed hash collision
on the message to be signed no longer yields a signature forgery.
Applications requiring the performance and bandwidth benefits of
Hash-then-Sign may still pre-hash at the protocol level prior to
invoking Dilithium, Falcon, or SPHINCS+, but protocol designers
should be aware that doing so re-introduces the weakness that hash
collisions directly yield signature forgeries. Signing the full un-
digested message is strongly preferred where applications can
tolerate it.
12. Recommendations for Security / Performance Tradeoffs
The table below denotes the 5 security levels provided by NIST
required for PQC algorithms. Users can leverage the appropriate
algorithm based on the security level required for their use case.
The security is defined as a function of resources required to break
AES and SHA2/SHA3 algorithms, i.e., exhaustive key recovery for AES
and optimal collision search for SHA2/SHA3. This information is a
re-print of information provided in the NIST PQC project {NIST} as of
time of writing (July 2023).
Banerjee, et al. Expires 2 March 2024 [Page 21]
Internet-Draft PQC for Engineers August 2023
+=============+===========================+========================+
| PQ Security | AES/SHA(2/3) hardness | PQC Algorithm |
| Level | | |
+=============+===========================+========================+
| 1 | Atleast as hard as to | Kyber512, Falcon512, |
| | break AES-128 (exhaustive | Sphincs+SHA-256 128f/s |
| | key recovery) | |
+-------------+---------------------------+------------------------+
| 2 | Atleast as hard as to | Dilithium2 |
| | break SHA-256/SHA3-256 | |
| | (collision search) | |
+-------------+---------------------------+------------------------+
| 3 | Atleast as hard as to | Kyber768, Dilithium3, |
| | break AES-192 (exhaustive | Sphincs+SHA-256 192f/s |
| | key recovery) | |
+-------------+---------------------------+------------------------+
| 4 | Atleast as hard as to | No algorithm tested at |
| | break SHA-384/SHA3-384 | this level |
| | (collision search) | |
+-------------+---------------------------+------------------------+
| 5 | Atleast as hard as to | Kyber1024, Falcon1024, |
| | break AES-256 (exhaustive | Dilithium5, |
| | key recovery) | Sphincs+SHA-256 256f/s |
+-------------+---------------------------+------------------------+
Table 1
Please note the Sphincs+SHA-256 x"f/s" in the above table denotes
whether its the Sphincs+ fast (f) version or small (s) version for
"x" bit AES security level. Refer to
[I-D.ietf-lamps-cms-sphincs-plus-02] for further details on Sphincs+
algorithms.
The following table discusses the signature size differences for
similar SPHINCS+ algorithm security levels with the "simple" version
but for different categories i.e., (f) for fast verification and (s)
for compactness/smaller. Both SHA-256 and SHAKE-256 parametrisation
output the same signature sizes, so both have been included.
Banerjee, et al. Expires 2 March 2024 [Page 22]
Internet-Draft PQC for Engineers August 2023
+==========+============================+======+=======+===========+
| PQ | Algorithm |Public|Private| Signature |
| Security | |key |key | size (in |
| Level | |size |size | bytes) |
| | |(in |(in | |
| | |bytes)|bytes) | |
+==========+============================+======+=======+===========+
| 1 | SPHINCS+-{SHA2,SHAKE}-128f |32 |64 | 17088 |
+----------+----------------------------+------+-------+-----------+
| 1 | SPHINCS+-{SHA2,SHAKE}-128s |32 |64 | 7856 |
+----------+----------------------------+------+-------+-----------+
| 3 | SPHINCS+-{SHA2,SHAKE}-192f |48 |96 | 35664 |
+----------+----------------------------+------+-------+-----------+
| 3 | SPHINCS+-{SHA2,SHAKE}-192s |48 |96 | 16224 |
+----------+----------------------------+------+-------+-----------+
| 5 | SPHINCS+-{SHA2,SHAKE}-256f |64 |128 | 49856 |
+----------+----------------------------+------+-------+-----------+
| 5 | SPHINCS+-{SHA2,SHAKE}-256s |64 |128 | 29792 |
+----------+----------------------------+------+-------+-----------+
Table 2
The following table discusses the impact of performance on different
security levels in terms of private key sizes, public key sizes and
ciphertext/signature sizes.
+==========+============+============+============+================+
| PQ | Algorithm | Public key | Private | Ciphertext/ |
| Security | | size (in | key size | Signature size |
| Level | | bytes) | (in bytes) | (in bytes) |
+==========+============+============+============+================+
| 1 | Kyber512 | 800 | 1632 | 768 |
+----------+------------+------------+------------+----------------+
| 1 | Falcon512 | 897 | 1281 | 666 |
+----------+------------+------------+------------+----------------+
| 2 | Dilithium2 | 1312 | 2528 | 2420 |
+----------+------------+------------+------------+----------------+
| 3 | Kyber768 | 1184 | 2400 | 1088 |
+----------+------------+------------+------------+----------------+
| 5 | Falcon1024 | 1793 | 2305 | 1280 |
+----------+------------+------------+------------+----------------+
| 5 | Kyber1024 | 1568 | 3168 | 1588 |
+----------+------------+------------+------------+----------------+
Table 3
Banerjee, et al. Expires 2 March 2024 [Page 23]
Internet-Draft PQC for Engineers August 2023
13. Comparing PQC KEMs/Signatures vs Traditional KEMs (KEXs)/Signatures
In this section, we provide two tables for comparison of different
KEMs and Signatures respectively, in the traditional and Post
scenarios. These tables will focus on the secret key sizes, public
key sizes, and ciphertext/signature sizes for the PQC algorithms and
their traditional counterparts of similar security levels.
The first table compares traditional vs. PQC KEMs in terms of
security, public, private key sizes, and ciphertext sizes.
+=============+=====================+========+=========+============+
| PQ Security | Algorithm | Public | Private | Ciphertext |
| Level | | key | key | size (in |
| | | size | size | bytes) |
| | | (in | (in | |
| | | bytes) | bytes) | |
+=============+=====================+========+=========+============+
| Traditional | P256_HKDF_SHA-256 | 65 | 32 | 65 |
+-------------+---------------------+--------+---------+------------+
| Traditional | P521_HKDF_SHA-512 | 133 | 66 | 133 |
+-------------+---------------------+--------+---------+------------+
| Traditional | X25519_HKDF_SHA-256 | 32 | 32 | 32 |
+-------------+---------------------+--------+---------+------------+
| 1 | Kyber512 | 800 | 1632 | 768 |
+-------------+---------------------+--------+---------+------------+
| 3 | Kyber768 | 1184 | 2400 | 1088 |
+-------------+---------------------+--------+---------+------------+
| 5 | Kyber1024 | 1568 | 3168 | 1588 |
+-------------+---------------------+--------+---------+------------+
Table 4
The next table compares traditional vs. PQC Signature schemes in
terms of security, public, private key sizes, and signature sizes.
Banerjee, et al. Expires 2 March 2024 [Page 24]
Internet-Draft PQC for Engineers August 2023
+=============+============+============+============+===========+
| PQ Security | Algorithm | Public key | Private | Signature |
| Level | | size (in | key size | size (in |
| | | bytes) | (in bytes) | bytes) |
+=============+============+============+============+===========+
| Traditional | RSA2048 | 256 | 256 | 256 |
+-------------+------------+------------+------------+-----------+
| Traditional | P256 | 64 | 32 | 64 |
+-------------+------------+------------+------------+-----------+
| 1 | Falcon512 | 897 | 1281 | 666 |
+-------------+------------+------------+------------+-----------+
| 2 | Dilithium2 | 1312 | 2528 | 768 |
+-------------+------------+------------+------------+-----------+
| 3 | Dilithium3 | 1952 | 4000 | 3293 |
+-------------+------------+------------+------------+-----------+
| 5 | Falcon1024 | 1793 | 2305 | 1280 |
+-------------+------------+------------+------------+-----------+
Table 5
As one can clearly observe from the above tables, leveraging a PQC
KEM/Signature significantly increases the key sizes and the
ciphertext/signature sizes as well as compared to traditional
KEM(KEX)/Signatures. But the PQC algorithms do provide the
additional security level in case there is an attack from a CRQC,
whereas schemes based on prime factorization or discrete logarithm
problems (finite field or elliptic curves) would provide no level of
security at all against such attacks.
14. Post-Quantum and Traditional Hybrid Schemes
The migration to PQC is unique in the history of modern digital
cryptography in that neither the traditional algorithms nor the post-
quantum algorithms are fully trusted to protect data for the required
lifetimes. The traditional algorithms, such as RSA and elliptic
curve, will fall to quantum cryptalanysis, while the post-quantum
algorithms face uncertainty about the underlying mathematics,
compliance issues, unknown vulnerabilities, and hardware and software
implementations that have not had sufficient maturing time to rule
out classical cryptanalytic attacks and implementation bugs.
During the transition from traditional to post-quantum algorithms,
there may be a desire or a requirement for protocols that use both
algorithm types. [I-D.ietf-pquip-pqt-hybrid-terminology] defines the
terminology for the Post-Quantum and Traditional Hybrid Schemes.
Banerjee, et al. Expires 2 March 2024 [Page 25]
Internet-Draft PQC for Engineers August 2023
14.1. PQ/T Hybrid Confidentiality
The PQ/T Hybrid Confidentiality property can be used to protect from
a "Harvest Now, Decrypt Later" attack described in Section 8, which
refers to an attacker collecting encrypted data now and waiting for
quantum computers to become powerful enough to break the encryption
later. Two types of hybrid key agreement schemes are discussed
below:
1. Concatenate hybrid key agreement scheme: The final shared secret
that will be used as an input of the key derivation function is
the result of the concatenation of the secrets established with
each key agreement scheme. For example, in
[I-D.ietf-tls-hybrid-design], the client uses the TLS supported
groups extension to advertise support for a PQ/T hybrid scheme,
and the server can select this group if it supports the scheme.
The hybrid-aware client and server establish a hybrid secret by
concatenating the two shared secrets, which is used as the shared
secret in the existing TLS 1.3 key schedule.
2. Cascade hybrid key agreement scheme: The final shared secret is
computed by applying as many iterations of the key derivation
function as the number of key agreement schemes composing the
hybrid key agreement scheme. For example, [RFC9370] extends the
Internet Key Exchange Protocol Version 2 (IKEv2) to allow one or
more PQC algorithms in addition to the traditional algorithm to
derive the final IKE SA keys using the cascade method as
explained in Section 2.2.2 of [RFC9370].
14.2. PQ/T Hybrid Authentication
The PQ/T Hybrid Authentication property can be utilized in scenarios
where an on-path attacker possesses network devices equipped with
CRQCs, capable of breaking traditional authentication protocols.
This property ensures authentication through a PQ/T hybrid scheme or
a PQ/T hybrid protocol, as long as at least one component algorithm
remains secure to provide the intended security level. For instance,
a PQ/T hybrid certificate can be employed to facilitate a PQ/T hybrid
authentication protocol. However, a PQ/T hybrid authentication
protocol does not need to use a PQ/T hybrid certificate
[I-D.ounsworth-pq-composite-keys]; separate certificates could be
used for individual component algorithms
[I-D.ietf-lamps-cert-binding-for-multi-auth].
The frequency and duration of system upgrades and the time when CRQCs
will become widely available need to be weighed in to determine
whether and when to support the PQ/T Hybrid Authentication property.
Banerjee, et al. Expires 2 March 2024 [Page 26]
Internet-Draft PQC for Engineers August 2023
14.3. Additional Considerations
It is also possible to use more than two algorithms together in a
hybrid scheme, and there are multiple possible ways those algorithms
can be combined. For the purposes of a post-quantum transition, the
simple combination of a post-quantum algorithm with a single
classical algorithm is the most straightforward, but the use of
multiple post-quantum algorithms with different hard math problems
has also been considered. When combining algorithms, it is possible
to require that both algorithms be used together (the so-called "and"
mode) or that only one does (the "or" mode), or even some more
complicated scheme. Schemes that do not require both algorithms to
validate only have the strength of the weakest algorithm, and
therefore offer little or no security benefit but may offer backwards
compatibility, crypto agility, or ease-of-migration benefits. Care
should be taken when designing "or" mode hybrids to ensure that the
larger PQ keys are not required to be transmitted to and processed by
legacy clients that will not use them; this was the major drawback of
the failed proposal [I-D.draft-truskovsky-lamps-pq-hybrid-x509].
This combination of properties makes optionally including post-
quantum keys without requiring their use to be generally unattractive
in most use cases. On the other hand, including a classical key --
particularly an elliptic curve key -- alongside a lattice key is
generally considered to be negligeable in terms of the extra
bandwidth usage.
When combining keys in an "and" mode, it may make more sense to
consider them to be a single composite key, instead of two keys.
This generally requires fewer changes to various components of PKI
ecosystems, many of which are not prepared to deal with two keys or
dual signatures. To those protocol- or application-layer parsers, a
"composite" algorithm composed of two "component" algorithms is
simply a new algorithm, and support for adding new algorithms
generally already exists. Treating multiple "component" keys as a
single "composite" key also has security advantages such as
preventing cross-protocol reuse of the individual component keys and
guarantees about revoking or retiring all component keys together at
the same time, especially if the composite is treated as a single
object all the way down into the cryptographic module. All that
needs to be done is to standardize the formats of how the two keys
from the two algorithms are combined into a single data structure,
and how the two resulting signatures or KEMs are combined into a
single signature or KEM. The answer can be as simple as
concatenation, if the lengths are fixed or easily determined. At
time of writing (August 2023) security research is ongoing as to the
security properties of concatenation-based composite signatures and
KEMs vs more sophisticated signature and KEM combiners, and in which
protocol contexts those simpler combiners are sufficient.
Banerjee, et al. Expires 2 March 2024 [Page 27]
Internet-Draft PQC for Engineers August 2023
One last consideration is the pairs of algorithms that can be
combined. A recent trends in protocols is to only allow a small
number of "known good" configurations that make sense, instead of
allowing arbitrary combinations of individual configuration choices
that may interact in dangerous ways. The current consensus is that
the same approach should be followed for combining cryptographic
algorithms, and that "known good" pairs should be explicitly listed
("explicit composite"), instead of just allowing arbitrary
combinations of any two crypto algorithms ("generic composite").
The same considerations apply when using multiple certificates to
transport a pair of related keys for the same subject. Exactly how
two certificates should be managed in order to avoid some of the
pitfalls mentioned above is still an active area of investigation.
Using two certificates keeps the certificate tooling simple and
straightforward, but in the end simply moves the problems with
requiring that both certs are intended to be used as a pair, must
produce two signatures which must be carried separately, and both
must validate, to the certificate management layer, where adressing
these concerns in a robust way can be difficult.
At least one scheme has been proposed that allows the pair of
certificates to exist as a single certificate when being issued and
managed, but dynamically split into individual certificates when
needed (https://datatracker.ietf.org/doc/draft-bonnell-lamps-
chameleon-certs/).
Another potential application of hybrids bears mentioning, even
though it is not directly PQC-related. That is using hybrids to
navigate inter-jurisdictional cryptographic connections. Traditional
cryptography is already fragmented by jurisdiction, consider that
while most jurisdictions support Elliptic Curve Diffie-Hellman, those
in the United States will prefer the NIST curves while those in
Germany will prefer the brainpool curves. China, Russia, and other
jurisdictions have their own national cryptography standards. This
situation of fragmented global cryptography standards is unlikely to
improve with PQC. If "and" mode hybrids become standardised for the
reasons mentioned above, then one could imagine leveraging them to
create "ciphersuites" in which a single cryptographic operation
simultaneously satisfies the cryptographic requirements of both
endpoints.
Many of these points are still being actively explored and discussed,
and the consensus may change over time.
Banerjee, et al. Expires 2 March 2024 [Page 28]
Internet-Draft PQC for Engineers August 2023
15. Security Considerations
15.1. Cryptanalysis
Classical cryptanalysis exploits weaknesses in algorithm design,
mathematical vulnerabilities, or implementation flaws, that are
exploitable with classical (i.e., non-quantum) hardware whereas
quantum cryptanalysis harnesses the power of CRQCs to solve specific
mathematical problems more efficiently. Another form of quantum
cryptanalysis is 'quantum side-channel' attacks. In such attacks, a
device under threat is directly connected to a quantum computer,
which then injects entangled or superimposed data streams to exploit
hardware that lacks protection against quantum side-channels. Both
pose threats to the security of cryptographic algorithms, including
those used in PQC. Developing and adopting new cryptographic
algorithms resilient against these threats is crucial for ensuring
long-term security in the face of advancing cryptanalysis techniques.
Recent attacks on the side-channel implementations using deep
learning based power analysis have also shown that one needs to be
cautious while implementing the required PQC algorithms in hardware.
Two of the most recent works include: one attack on Kyber [KyberSide]
and one attack on Saber [SaberSide]. Evolving threat landscape
points to the fact that lattice based cryptography is indeed more
vulnerable to side-channel attacks as in [SideCh], [LatticeSide].
Consequently, there were some mitigation techniques for side channel
attacks that have been proposed as in [Mitigate1], [Mitigate2], and
[Mitigate3].
15.2. Cryptographic Agility
Cryptographic agility is relevant for both classical and quantum
cryptanalysis as it enables organizations to adapt to emerging
threats, adopt stronger algorithms, comply with standards, and plan
for long-term security in the face of evolving cryptanalytic
techniques and the advent of CRQCs. Several PQC schemes are
available that need to be tested; cryptography experts around the
world are pushing for the best possible solutions, and the first
standards that will ease the introduction of PQC are being prepared.
It is of paramount importance and a call for imminent action for
organizations, bodies, and enterprises to start evaluating their
cryptographic agility, assess the complexity of implementing PQC into
their products, processes, and systems, and develop a migration plan
that achieves their security goals to the best possible extent.
An important and often overlooked step in achieving cryptographic
agility is maintaining a cryptographic inventory. Modern software
stacks incorporate cryptography in numerous places, making it
challenging to identify all instances. Therefore, cryptographic
Banerjee, et al. Expires 2 March 2024 [Page 29]
Internet-Draft PQC for Engineers August 2023
agility and inventory management take two major forms: First,
application developers responsible for software maintenance should
actively search for instances of hardcoded cryptographic algorithms
within applications. When possible, they should design the choice of
algorithm to be dynamic, based on application configuration. Second,
administrators, policy officers, and compliance teams should take
note of any instances where an application exposes cryptographic
configurations. These instances should be managed either through
organization-wide written cryptographic policies or automated
cryptographic policy systems.
Numerous commercial solutions are available for both detecting
hardcoded cryptographic algorithms in source code and compiled
binaries, as well as providing cryptographic policy management
control planes for enterprise and production environments.
15.3. Hybrid Key Exchange and Signatures: Bridging the Gap Between
Post-Quantum and Traditional Cryptography
Post-quantum algorithms selected for standardization are relatively
new and they they have not been subject to the same depth of study as
traditional algorithms. PQC implementations will also be new and
therefore more likely to contain implementation bugs than the battle-
tested crypto implementations that we rely on today. In addition,
certain deployments may need to retain traditional algorithms due to
regulatory constraints, for example FIPS or PCI compliance. Hybrid
key exchange enables potential security against "Harvest Now, Decrypt
Later" attack and hybrid signatures provide for time to react in the
case of the announcement of a devastating attack agaist any one
algorithm, while not fully abandoning traditional cryptosystems.
16. Further Reading & Resources
16.1. Reading List
(A reading list. Serious Cryptography (https://nostarch.com/
seriouscrypto). Pointers to PQC sites with good explanations. List
of reasonable Wikipedia pages.)
16.2. Developer Resources
* Open Quantum Safe (https://openquantumsafe.org/) and corresponding
github (https://github.com/open-quantum-safe)
* PQUIP WG list of PQC-related protocol work within the IETF
(https://github.com/ietf-wg-pquip/state-of-protocols-and-pqc)
Banerjee, et al. Expires 2 March 2024 [Page 30]
Internet-Draft PQC for Engineers August 2023
17. Contributors
The authors would like to acknowledge that this content is assembled
from countless hours of discussion and countless megabytes of email
discussions. We have tried to reference as much source material as
possible, and apologize to anyone whose work was inadvertently
missed.
In particular, the authors would like to acknowledge the
contributions to this document by the following individuals:
Kris Kwiatkowski
PQShield, LTD
United Kingdom.
kris@amongbytes.com
Mike Ounsworth
Entrust
Canada
mike.ounsworth@entrust.com
Acknowledgements
It leverages text from https://github.com/paulehoffman/post-quantum-
for-engineers/blob/main/pqc-for-engineers.md. Thanks to Dan Wing,
Florence D, Thom Wiggers, Sophia Grundner-Culemann, Sofia Celi,
Melchior Aelmans, and Falko Strenzke for the discussion, review and
comments.
References
Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
Banerjee, et al. Expires 2 March 2024 [Page 31]
Internet-Draft PQC for Engineers August 2023
[RFC8391] Huelsing, A., Butin, D., Gazdag, S., Rijneveld, J., and A.
Mohaisen, "XMSS: eXtended Merkle Signature Scheme",
RFC 8391, DOI 10.17487/RFC8391, May 2018,
<https://www.rfc-editor.org/rfc/rfc8391>.
[RFC8554] McGrew, D., Curcio, M., and S. Fluhrer, "Leighton-Micali
Hash-Based Signatures", RFC 8554, DOI 10.17487/RFC8554,
April 2019, <https://www.rfc-editor.org/rfc/rfc8554>.
Informative References
[BHK09] "Subtleties in the Definition of IND-CCA: When and How
Should Challenge-Decryption be Disallowed?",
<https://eprint.iacr.org/2009/418>.
[BSI-PQC] "Quantum-safe cryptography – fundamentals, current
developments and recommendations", May 2022,
<https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/
Publications/Brochure/quantum-safe-
cryptography.html?nn=916626>.
[Cloudflare]
"NIST’s pleasant post-quantum surprise",
<https://blog.cloudflare.com/nist-post-quantum-surprise/>.
[CNSA2-0] "Announcing the Commercial National Security Algorithm
Suite 2.0", <https://media.defense.gov/2022/
Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS_.PDF>.
[CS01] "Design and Analysis of Practical Public-Key Encryption
Schemes Secure against Adaptive Chosen Ciphertext Attack",
<https://eprint.iacr.org/2001/108>.
[Dilithium]
"Cryptographic Suite for Algebraic Lattices (CRYSTALS) -
Dilithium",
<https://pq-crystals.org/dilithium/index.shtml>.
[Falcon] "Fast Fourier lattice-based compact signatures over NTRU",
<https://falcon-sign.info/>.
[GMR88] "A digital signature scheme secure against adaptive
chosen-message attacks.",
<https://people.csail.mit.edu/silvio/
Selected%20Scientific%20Papers/Digital%20Signatures/
A_Digital_Signature_Scheme_Secure_Against_Adaptive_Chosen-
Message_Attack.pdf>.
Banerjee, et al. Expires 2 March 2024 [Page 32]
Internet-Draft PQC for Engineers August 2023
[Google] "Quantum Supremacy Using a Programmable Superconducting
Processor", <https://ai.googleblog.com/2019/10/quantum-
supremacy-using-programmable.html>.
[Grover-search]
"C. Zalka, “Grover’s quantum searching algorithm is
optimal,” Physical Review A, vol. 60, pp. 2746-2751,
1999.".
[I-D.draft-ietf-cose-sphincs-plus]
Prorock, M., Steele, O., Misoczki, R., Osborne, M., and C.
Cloostermans, "JOSE and COSE Encoding for SPHINCS+", Work
in Progress, Internet-Draft, draft-ietf-cose-sphincs-plus-
01, 9 July 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-cose-sphincs-plus-01>.
[I-D.draft-ietf-lake-edhoc-22]
Selander, G., Mattsson, J. P., and F. Palombini,
"Ephemeral Diffie-Hellman Over COSE (EDHOC)", Work in
Progress, Internet-Draft, draft-ietf-lake-edhoc-22, 25
August 2023, <https://datatracker.ietf.org/doc/html/draft-
ietf-lake-edhoc-22>.
[I-D.draft-truskovsky-lamps-pq-hybrid-x509]
Truskovsky, A., Van Geest, D., Fluhrer, S., Kampanakis,
P., Ounsworth, M., and S. Mister, "Multiple Public-Key
Algorithm X.509 Certificates", Work in Progress, Internet-
Draft, draft-truskovsky-lamps-pq-hybrid-x509-02, 24 August
2023, <https://datatracker.ietf.org/doc/html/draft-
truskovsky-lamps-pq-hybrid-x509-02>.
[I-D.ietf-lamps-cert-binding-for-multi-auth]
Becker, A., Guthrie, R., and M. J. Jenkins, "Related
Certificates for Use in Multiple Authentications within a
Protocol", Work in Progress, Internet-Draft, draft-ietf-
lamps-cert-binding-for-multi-auth-01, 26 June 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-lamps-
cert-binding-for-multi-auth-01>.
[I-D.ietf-lamps-cms-sphincs-plus-02]
Housley, R., Fluhrer, S., Kampanakis, P., and B.
Westerbaan, "Use of the SPHINCS+ Signature Algorithm in
the Cryptographic Message Syntax (CMS)", Work in Progress,
Internet-Draft, draft-ietf-lamps-cms-sphincs-plus-02, 17
May 2023, <https://datatracker.ietf.org/doc/html/draft-
ietf-lamps-cms-sphincs-plus-02>.
Banerjee, et al. Expires 2 March 2024 [Page 33]
Internet-Draft PQC for Engineers August 2023
[I-D.ietf-lamps-dilithium-certificates]
Massimo, J., Kampanakis, P., Turner, S., and B.
Westerbaan, "Internet X.509 Public Key Infrastructure:
Algorithm Identifiers for Dilithium", Work in Progress,
Internet-Draft, draft-ietf-lamps-dilithium-certificates-
02, 7 August 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-lamps-dilithium-certificates-02>.
[I-D.ietf-pquip-pqt-hybrid-terminology]
D, F., "Terminology for Post-Quantum Traditional Hybrid
Schemes", Work in Progress, Internet-Draft, draft-ietf-
pquip-pqt-hybrid-terminology-00, 4 May 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-pquip-
pqt-hybrid-terminology-00>.
[I-D.ietf-tls-hybrid-design]
Stebila, D., Fluhrer, S., and S. Gueron, "Hybrid key
exchange in TLS 1.3", Work in Progress, Internet-Draft,
draft-ietf-tls-hybrid-design-08, 21 August 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-tls-
hybrid-design-08>.
[I-D.ounsworth-pq-composite-keys]
Ounsworth, M., Gray, J., Pala, M., and J. Klaußner,
"Composite Public and Private Keys For Use In Internet
PKI", Work in Progress, Internet-Draft, draft-ounsworth-
pq-composite-keys-05, 29 May 2023,
<https://datatracker.ietf.org/doc/html/draft-ounsworth-pq-
composite-keys-05>.
[I-D.westerbaan-cfrg-hpke-xyber768d00-02]
Westerbaan, B. and C. A. Wood, "X25519Kyber768Draft00
hybrid post-quantum KEM for HPKE", Work in Progress,
Internet-Draft, draft-westerbaan-cfrg-hpke-xyber768d00-02,
4 May 2023, <https://datatracker.ietf.org/doc/html/draft-
westerbaan-cfrg-hpke-xyber768d00-02>.
[IBM] "IBM Unveils 400 Qubit-Plus Quantum Processor and Next-
Generation IBM Quantum System Two",
<https://newsroom.ibm.com/2022-11-09-IBM-Unveils-400-
Qubit-Plus-Quantum-Processor-and-Next-Generation-IBM-
Quantum-System-Two>.
[IBMRoadmap]
"The IBM Quantum Development Roadmap",
<https://www.ibm.com/quantum/roadmap>.
Banerjee, et al. Expires 2 March 2024 [Page 34]
Internet-Draft PQC for Engineers August 2023
[KyberSide]
"A Side-Channel Attack on a Hardware Implementation of
CRYSTALS-Kyber", <https://eprint.iacr.org/2022/1452>.
[LattFail1]
"Decryption Failure Attacks on IND-CCA Secure Lattice-
Based Schemes", <https://link.springer.com/
chapter/10.1007/978-3-030-17259-6_19#chapter-info>.
[LattFail2]
"(One) Failure Is Not an Option: Bootstrapping the Search
for Failures in Lattice-Based Encryption Schemes.",
<https://link.springer.com/
chapter/10.1007/978-3-030-45727-3_1>.
[LatticeSide]
"Generic Side-channel attacks on CCA-secure lattice-based
PKE and KEM schemes", <https://eprint.iacr.org/2019/948>.
[Mitigate1]
"POLKA: Towards Leakage-Resistant Post-Quantum CCA-Secure
Public Key Encryption",
<https://eprint.iacr.org/2022/873>.
[Mitigate2]
"Leakage-Resilient Certificate-Based Authenticated Key
Exchange Protocol",
<https://ieeexplore.ieee.org/document/9855226>.
[Mitigate3]
"Post-Quantum Authenticated Encryption against Chosen-
Ciphertext Side-Channel Attacks",
<https://eprint.iacr.org/2022/916>.
[NIST] "Post-Quantum Cryptography Standardization",
<https://csrc.nist.gov/projects/post-quantum-cryptography/
post-quantum-cryptography-standardization>.
[Nokia] "Interference Measurements of Non-Abelian e/4 & Abelian
e/2 Quasiparticle Braiding",
<https://journals.aps.org/prx/pdf/10.1103/
PhysRevX.13.011028>.
[PQCAPI] "PQC - API notes",
<https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-
Cryptography/documents/example-files/api-notes.pdf>.
Banerjee, et al. Expires 2 March 2024 [Page 35]
Internet-Draft PQC for Engineers August 2023
[PQRSA] "Post-quantum RSA", April 2017,
<https://cr.yp.to/papers/pqrsa-20170419.pdf>.
[QC-DNS] "Quantum Computing and the DNS",
<https://www.icann.org/octo-031-en.pdf>.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, DOI 10.17487/RFC4033, March 2005,
<https://www.rfc-editor.org/rfc/rfc4033>.
[RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic
Curve Cryptography Algorithms", RFC 6090,
DOI 10.17487/RFC6090, February 2011,
<https://www.rfc-editor.org/rfc/rfc6090>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/rfc/rfc8446>.
[RFC9180] Barnes, R., Bhargavan, K., Lipp, B., and C. Wood, "Hybrid
Public Key Encryption", RFC 9180, DOI 10.17487/RFC9180,
February 2022, <https://www.rfc-editor.org/rfc/rfc9180>.
[RFC9370] Tjhai, CJ., Tomlinson, M., Bartlett, G., Fluhrer, S., Van
Geest, D., Garcia-Morchon, O., and V. Smyslov, "Multiple
Key Exchanges in the Internet Key Exchange Protocol
Version 2 (IKEv2)", RFC 9370, DOI 10.17487/RFC9370, May
2023, <https://www.rfc-editor.org/rfc/rfc9370>.
[RSA] "A Method for Obtaining Digital Signatures and Public-Key
Cryptosystems+",
<https://dl.acm.org/doi/pdf/10.1145/359340.359342>.
[RSA10SC] "Breaking RSA Encryption - an Update on the State-of-the-
Art", <https://www.quintessencelabs.com/blog/breaking-rsa-
encryption-update-state-art>.
[RSA8HRS] "How to factor 2048 bit RSA integers in 8 hours using 20
million noisy qubits", <https://arxiv.org/abs/1905.09749>.
[SaberSide]
"A side-channel attack on a masked and shuffled software
implementation of Saber",
<https://link.springer.com/article/10.1007/
s13389-023-00315-3>.
Banerjee, et al. Expires 2 March 2024 [Page 36]
Internet-Draft PQC for Engineers August 2023
[SideCh] "Side-Channel Attacks on Lattice-Based KEMs Are Not
Prevented by Higher-Order Masking",
<https://eprint.iacr.org/2022/919>.
[SPHINCS] "SPHINCS+", <https://sphincs.org/index.html>.
[Threat-Report]
"Quantum Threat Timeline Report 2020",
<https://globalriskinstitute.org/publications/quantum-
threat-timeline-report-2020/>.
Authors' Addresses
Aritra Banerjee
Nokia
Munich
Germany
Email: aritra.banerjee@nokia.com
Tirumaleswar Reddy
Nokia
Bangalore
Karnataka
India
Email: kondtir@gmail.com
Dimitrios Schoinianakis
Nokia
Athens
Greece
Email: dimitrios.schoinianakis@nokia-bell-labs.com
Timothy Hollebeek
DigiCert
Pittsburgh,
United States of America
Email: tim.hollebeek@digicert.com
Banerjee, et al. Expires 2 March 2024 [Page 37]