Let me emphasize the reasons Douglas brought up. Note that I need to use NIST 
Sec Level 5 algorithms. So, Kyber-1024 and Dilithium5 (other algorithms show 
even worse ratio between KEM and signature!). 

Communications costs:
- Difference in public key sizes: 1568 bytes of Kyber vs. 2592 bytes of 
Dilithium => 1024 extra bytes to carry over channel each way;
- Signature: extra 4595 bytes each way, because in addition to exchanging certs 
(aka "signed public keys", which is inevitable) you need to sign the exchange 
and communicate that signature across;
- Total: 5619 extra bytes each way. For peer-to-peer broadband connections, you 
can say "so what?". But my links are *very* austere.

Computation costs (ballpark, on a powerful CPU):
- KEM: keygen 15us, encap 18us, decap 14us (say, double encap and decap for 
PFS-providing exchange); 
- Signature: sign 113us, verify 55us;
- Comparison: 134us for signature-less KEM vs. 215us for TLS-like exchange => 
almost twice as long;
- Difference may be negligible for Intel Xeon, but for my much weaker hardware 
it matters.

So, for constrained environments with austere comm links, signature-less 
"authkem" is God-sent. 
Big servers that need to support many clients (so they care how much CPU cycles 
and comm bytes they spend on every connection) would appreciate these savings 
too.

@ekr,I hope this provides convincing explanation why "authkem" is needed. 

P.S. I know that Falcon has much more favorable sizes - but (a) it takes three 
times as long to sign, and (b) it uses FP calculations, which isn't great to 
implement in my environment. 
--
Regards,
Uri
 
There are two ways to design a system. One is to make is so simple there are 
obviously no deficiencies.
The other is to make it so complex there are no obvious deficiencies.
                                                                                
                                                     -  C. A. R. Hoare
 

On 7/12/21, 20:59, "TLS on behalf of Douglas Stebila" <tls-boun...@ietf.org on 
behalf of dsteb...@gmail.com> wrote:

    Hi Eric,

    The main motivation is that, in some cases, post-quantum signatures are 
larger in terms of communication size compared to a post-quantum KEM, under the 
same cryptographic assumption.  

    For example, the KEM Kyber (based on module LWE) at the 128-bit security 
level has 800-byte public keys and 768-byte ciphertexts.  The matching 
signature scheme Dilithium (also based on module LWE) has 1312-byte public keys 
and 2420-byte signatures.  Doing KEM-based server authentication rather than 
signature-based server authentication would thus save 2164 bytes per handshake. 
 

    We would still need digital signatures for a PKI (i.e., the root and 
intermediate CAs would sign certificates using PQ digital signature schemes), 
but the public key of the endpoint server can be a KEM public key, not a 
digital signature public key.

    Douglas


    > On Jul 12, 2021, at 20:30, Eric Rescorla <e...@rtfm.com> wrote:
    > 
    > Hi folks,
    > 
    > I have just given draft-celi-wiggers-tls-authkem-00.txt a quick
    > read. I'm struggling a bit with the rationale, which I take to be
    > these paragraphs:
    > 
    >    In this proposal we use the DH-based KEMs from [I-D.irtf-cfrg-hpke].
    >    We believe KEMs are especially worth discussing in the context of the
    >    TLS protocol because NIST is in the process of standardizing post-
    >    quantum KEM algorithms to replace "classic" key exchange (based on
    >    elliptic curve or finite-field Diffie-Hellman [NISTPQC]).
    > 
    >    This proposal draws inspiration from [I-D.ietf-tls-semistatic-dh],
    >    which is in turn based on the OPTLS proposal for TLS 1.3 [KW16].
    >    However, these proposals require a non-interactive key exchange: they
    >    combine the client's public key with the server's long-term key.
    >    This imposes a requirement that the ephemeral and static keys use the
    >    same algorithm, which this proposal does not require.  Additionally,
    >    there are no post-quantum proposals for a non-interactive key
    >    exchange currently considered for standardization, while several KEMs
    >    are on the way.
    > 
    > I see why this motivates using a KEM for key establishment, but I'm
    > not sure it motivates this design, which seems like a fairly radical
    > change to TLS. As I understand the situation, in the post-quantum
    > world we're going to have:
    > 
    > - non-interactive KEMs (as you indicate above)
    > - some sort of signature system (otherwise we won't have certificates).
    > 
    > This certainly argues that we need a KEM for key establishment, but
    > not for authentication. Instead, why can't we use signatures for
    > authentication, as TLS does today? I.e., the certificates would have a
    > (potentially post-quantum) signing key in them and you then use the
    > KEM for key establishment and the signing key for authentication.
    > That would give us a design much closer to the present TLS 1.3
    > (effectively just defining a new group for the KEM).
    > 
    > What am I missing?
    > 
    > -Ekr
    > 
    > 
    > _______________________________________________
    > TLS mailing list
    > TLS@ietf.org
    > https://www.ietf.org/mailman/listinfo/tls

    _______________________________________________
    TLS mailing list
    TLS@ietf.org
    https://www.ietf.org/mailman/listinfo/tls

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to