Internet DRAFT - draft-nir-lamps-altcompsigs
draft-nir-lamps-altcompsigs
LAMPS Y. Nir
Internet-Draft Dell Technologies
Intended status: Standards Track 19 June 2023
Expires: 21 December 2023
A Hybrid Signature Method with Strong Non-Separability
draft-nir-lamps-altcompsigs-00
Abstract
This document presents an alternative scheme of composing classic and
post-quantum signature algorithms with different security properties.
This scheme produces signatures with strong non-separability (SNS) at
the cost of breaking backward compatibility with legacy cryptographic
hardware.
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 21 December 2023.
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.
Nir Expires 21 December 2023 [Page 1]
Internet-Draft AltCompSig June 2023
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Controversy in the LAMPS Working Group . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Requirement Keywords . . . . . . . . . . . . . . . . . . 4
2.2. Non-Separability . . . . . . . . . . . . . . . . . . . . 4
2.3. Backward Compatibility . . . . . . . . . . . . . . . . . 5
3. Hybrid Schemes . . . . . . . . . . . . . . . . . . . . . . . 5
3.1. Fiat-Shamir and Fiat-Shamir . . . . . . . . . . . . . . . 5
3.1.1. Key Generation . . . . . . . . . . . . . . . . . . . 5
3.1.2. Signing . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.3. Encoding . . . . . . . . . . . . . . . . . . . . . . 7
3.1.4. Example . . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Fiat-Shamir and RSA . . . . . . . . . . . . . . . . . . . 7
3.3. Fiat-Shamir and Falcon . . . . . . . . . . . . . . . . . 7
3.4. RSA and Falcon . . . . . . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
5. Comparison with Other Proposals . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 9
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
In the past few years, there has been great progress in the
development of quantum-computing. Today, most of the cryptographic
algorithms are based on the difficulty of integer factorization and
discrete logarithm over finite fields or elliptic curves. Yet in the
upcoming years, with the potential of building a strong enough
quantum-computer capable of computing Shor's algorithm - a so-called
cryptographically relevant quantum computer (CRQC) - these algorithms
may no longer be secure enough to rely upon.
With the looming threat of CRQCs breaking existing public key
constructs such as digital signatures, the world in general and the
IETF in particular are looking to transition to so-called post-
quantum algorithms, algorithms that are thought to be secure against
a cryptanalytic attack by a quantum computer.
The National Institute of Standards and Technology (NIST) has been
running a project for selecting such post-quantum algorithms since
2016 ([NIST-PQC]). This project is not complete at the time of this
writing. It has produced several finalists including Crystals-
Dilithium ([Dilithium]), Falcon, and more.
Nir Expires 21 December 2023 [Page 2]
Internet-Draft AltCompSig June 2023
There is, however, concern about deploying these new algorithms as
full replacements for the existing (or "classic") algorithms. On the
one hand, there is the fear that researchers or nation-state
adversaries will produce a CRQC that will allow them to break the
classic algorithms such as RSA, ECDSA, and EdDSA. On the other hand,
there is still doubt about the security of the new algorithms. This
doubt is well-founded: One of the candidate algorithms, SIKE, was
broken in late stages of the competition ([SIKE-BREAK]).
To minimize the risks or relying on a single algorithm, there are
some proposals for combining two or more algorithms, typically a
classic algorithm and a post-quantum algorithm, such that all of the
algorithms are used to create the signature, and some or all of them
are used to verify the signature. This has the advantage that unless
the adversary is able to break all of the algorithms, a verifier who
uses all of the algorithms will not be fooled. One such proposal is
[I-D.ounsworth-pq-composite-sigs].
Most such proposals, including the above-mentioned draft, involve
independently signing with the several algorithms, each having their
own private/public key pair. With these schemes the private key is a
concatenation or a vector of the private keys of the several
algorithms, and similarly the public key is a vector of the public
keys, and the signature is a vector of independent signatures. A
signature like that is said to be parallel and separable, as there is
no dependency between the signatures involved.
This draft proposes alternate schemes where specific algorithms are
combined to create signatures that are non-separable, meaning that it
is not possible to verify the signature using just one algorithm.
This is based on an article by Bindel and Hale ([Bindel23]).
1.1. Controversy in the LAMPS Working Group
On May 30th, 2023, the LAMPS working group had an adoption call for
[I-D.ounsworth-pq-composite-sigs] that ultimately did not achieve
consensus. There were various objections, some about the timeliness
of adopting the drafts before NIST concluding the competition, some
about the formatting within the drafts, and some questioning the very
utility of hybrid signatures.
Nir Expires 21 December 2023 [Page 3]
Internet-Draft AltCompSig June 2023
This draft takes no position on this question. What it does claim,
is that if we would like to get the benefit from hybrid signatures,
then verifiers should be required to verify both the classic and
post-quantum components of the signature. The catalyst for the
hybrid signature effort was the idea that both the classic and the
post-quantum algorithms have a non-trivial chance of compromise in
the next few years. Fielding a verifier that checks only one
algorithm or the other carries the risk that this verifier is
checking only the first algorithm to be compromised.
The algorithms in this draft force an implementation to check both
signatures to get any security. If hybrid signatures are worth doing
at all, they are worth doing in such a way.
NOTE: This draft is (for now) an individual draft with an unclear
destination. Its file name includes the LAMPS label not as a signal
that I would like the LAMPS working group to adopt it at this time,
but only because the LAMPS working group is the one where hybrid
signature discussions are taking place.
2. Terminology
2.1. Requirement Keywords
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD 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.
2.2. Non-Separability
A hybrid signature is a signature that is created using more than one
algorithm, typically at least one classic algorithm and at least one
post-quantum algorithm.
Non-separability (NS) is a property of hybrid signatures. With non-
separable signatures, an adversary cannot remove one of the
signatures (typically, the one that is not broken) forcing the
verifier to rely only on the broken algorithm. Such an attempt would
be detected.
Strong Non-Separability (SNS) is a stronger property, where an
adversary cannot convert an input hybrid signature into a single
algorithm signature that will verify correctly.
Nir Expires 21 December 2023 [Page 4]
Internet-Draft AltCompSig June 2023
Simultaneous Verification (SV) is an even stronger property, that
makes it impossible for the verifier to quit the verification after
using just one algorithm. The hybrid signatures presented in this
draft all require SV.
2.3. Backward Compatibility
Backward Compatibility for hybrid signatures means that old verifying
hardware or software that verifies the signature of one algorithm or
the other can be used to verify the single-algorithm component of the
hybrid signature. So the EdDSA component of a Dilithium-EdDSA hybrid
signature can be verified using an EdDSA verifier.
SNS and backward compatibility are mutually exclusive, meaning that
to gain SNS, we have to give up on having backward compatibility.
3. Hybrid Schemes
EDNOTE: As PQC standardization is still in process, both Dilithium
and Falcon signature schemes can change in some aspects from their
final form. To handle this situation both signatures will be
described in more of a general form, Dilithium as a Fiat-Shamir based
scheme with black box functions that will be replaced with the actual
Dilithium implementation after the publication of parameters and
implementations. Also, hybrid schemes with Falcon will be added.
3.1. Fiat-Shamir and Fiat-Shamir
TODO: Add a 1-paragraph explanation of Fiat-Shamir signatures.
A generic combination of Fiat-Shamir signatures is useful for hybrid
signatures because both some classic and some post-quantum algorithms
follow the Fiat-Shamir pattern. Specifically, Crystals-Dilithium is
a Fiat-Shamir algorithm, as are the classic algorithms ECDSA and
EdDSA.
The following sections will use Dilithium and ECDSA as examples.
3.1.1. Key Generation
Private keys for the two algorithms are generated separately. ECDSA
signatures are generated as in [RFC6979].
3.1.2. Signing
Nir Expires 21 December 2023 [Page 5]
Internet-Draft AltCompSig June 2023
Input:
sk1 signer's Dilithium private key (A_Dil, t, s1, s2)
sk2 signer's ECDSA private key (x, q)
pk1 verifier's Dilithium public key (A_Dil, t)
pk2 verifier's ECDSA public key (xG, q)
M message to be signed of arbitrary size
Output:
S signature, contains (z, h, r, s)
z the Dilithium signature proof
h challenge combining both of the signatures
r the X coordinate of a randomly
generated point on the curve
s the ECDSA signature proof
-
Steps:
1. Generate a random vector in the lattice based on the Dilithium
final scheme. Let y denote this vector.
2. Compute w = HighBits(A_Dil, y). The HighBits function is
described in detail in the round 3 submission of Dilithium
[Dilithium].
3. Let k denote a random value generated modulo q. k shall not be
zero.
4. The point kG is computed; its X coordinate (a member of the field
over which E is defined) is converted to an integer, which is
reduced modulo q, yielding r. If r turns out to be zero, a new k
should be selected and r computed again.
5. s = k^(-1)(H(w, H(M))+ x*r) mod q. EDNOTE: decide which hash
functions H to use
6. h = P(w, D(r, s) XOR PH(M)). (EDNOTE: decide which hash
functions P, PH, D to use)
7. Compute c = cast(h,B), Let cast denote the SampleInBall function
described in the Dilithium round 3 submission.
8. z = y + c*s1
9. S = (z, h, r, s)
The tuple (z, h, r, s) is the signature.
Nir Expires 21 December 2023 [Page 6]
Internet-Draft AltCompSig June 2023
3.1.3. Encoding
All fields will be encoded as OCTET STRING
The private key is an OCTET STRING, a concatenation of the OCTET
STRING representations of the ECDSA and Dilithium private keys.
Public keys are similarly concatenations.
The signature is an OCTET STRING, a concatenation of the OCTET STRING
representation of z, h, r, and s.
3.1.4. Example
TO BE ADDED
3.2. Fiat-Shamir and RSA
TODO: A paragraph explaining that RSA is popular, and that Dilithium-
RSA is desirable
TODO: Add the FS-RSA construction (but not in draft -00)
3.3. Fiat-Shamir and Falcon
TODO: Add the FS-Falcon construction (but not in draft -00)
3.4. RSA and Falcon
TODO: Add the RSA-Falcon construction (but not in draft -00)
4. IANA Considerations
To Be Added. We need at least OIDs for the combinations above.
5. Comparison with Other Proposals
TODO: Add here a discussion of the differences between this proposal
and draft-ounsworth. Need to cover both advantages (SNS, SV) and
disadvantages: backward compatibility.
6. Security Considerations
Security considerations appear in this document, specifically in
Section 2.2 and Section 2.3, when discussing SNS and BC. Proofs of
the security of the constructions described in Section 3 are given in
the Bindel-Hale article.
Nir Expires 21 December 2023 [Page 7]
Internet-Draft AltCompSig June 2023
7. References
7.1. 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/info/rfc2119>.
[RFC6979] Pornin, T., "Deterministic Usage of the Digital Signature
Algorithm (DSA) and Elliptic Curve Digital Signature
Algorithm (ECDSA)", RFC 6979, DOI 10.17487/RFC6979, August
2013, <https://www.rfc-editor.org/info/rfc6979>.
[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/info/rfc8174>.
7.2. Informative References
[Bindel23] Bindel, N. and B. Hale, "A Note on Hybrid Signature
Schemes", 2023, <https://eprint.iacr.org/2023/423.pdf>.
[Dilithium]
Bai, S., Ducas, L., Lepoint, T., Lyubashevsky, V.,
Schwabe, P., Seiler, G., and D. Stehle, "CRYSTALS-
Dilithium Algorithm Specifications and Supporting
Documentation", 2021, <https://pq-
crystals.org/dilithium/data/dilithium-specification-
round3-20210208.pdf>.
[I-D.ounsworth-pq-composite-sigs]
Ounsworth, M., Gray, J., and M. Pala, "Composite
Signatures For Use In Internet PKI", Work in Progress,
Internet-Draft, draft-ounsworth-pq-composite-sigs-09, 29
May 2023, <https://datatracker.ietf.org/doc/html/draft-
ounsworth-pq-composite-sigs-09>.
[NIST-PQC] National Institute of Standards and Technology (NIST),
"Post-Quantum Cryptography Project", 20 December 2016,
<https://csrc.nist.gov/Projects/post-quantum-
cryptography>.
[SIKE-BREAK]
Castryck, W. and T. Decru, "An efficient key recovery
attack on SIDH", 2022,
<https://eprint.iacr.org/2022/975.pdf>.
Nir Expires 21 December 2023 [Page 8]
Internet-Draft AltCompSig June 2023
Appendix A. Change Log
RFC EDITOR: PLEASE REMOVE THIS SECTION AS IT IS ONLY MEANT TO AID THE
WORKING GROUP IN TRACKING CHANGES TO THIS DOCUMENT.
draft-nir-lamps-altcompsigs-00 - first version.
Author's Address
Yoav Nir
Dell Technologies
9 Andrei Sakharov St
Haifa 3190500
Israel
Email: ynir.ietf@gmail.com
Nir Expires 21 December 2023 [Page 9]