[Ssh] Re: Supporting pure ML-DSA as hostkey and authkey

Damien Miller <djm@mindrot.org> Thu, 30 April 2026 21:19 UTC

Return-Path: <djm@mindrot.org>
X-Original-To: ssh@mail2.ietf.org
Delivered-To: ssh@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 18281E6F8394 for <ssh@mail2.ietf.org>; Thu, 30 Apr 2026 14:19:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777583980; bh=Xdkc5DBTi1SRF6AQ7H3WsDvEOskeypWmCNCo/eRnEDE=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=rHAMOmqNT9sHiZ1xWwcZE7VnrGFCiP8uULiLA9Okq6z/AbKLpYT1WREabORjFPEXO N8dYHXHi7F2zOZBzEGilYN4U2FQBjuMdu4Be2mTawzSsehwhADau4zOS6MGy5GbJfk D/l/dxUmc3JqEei0AyhILyQvqJ7jbOwYQeVVAjLY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oDRARBOK_uw7 for <ssh@mail2.ietf.org>; Thu, 30 Apr 2026 14:19:38 -0700 (PDT)
Received: from train.compute.dc.uq.edu.au (train.compute.dc.uq.edu.au [130.102.189.35]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id DD591E6F838D for <SSH@ietf.org>; Thu, 30 Apr 2026 14:19:37 -0700 (PDT)
Received: from smtp1.compute.dc.uq.edu.au (smtp1.compute.dc.uq.edu.au [10.208.11.2]) by train.compute.dc.uq.edu.au (8.14.5/8.14.5) with ESMTP id 63ULJQbP047882; Fri, 1 May 2026 07:19:26 +1000
Received: from mailhub.eait.uq.edu.au (holly.eait.uq.edu.au [130.102.79.58]) by smtp1.compute.dc.uq.edu.au (8.14.5/8.14.5) with ESMTP id 63ULJQZi009110 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 1 May 2026 07:19:26 +1000
Received: from haru.mindrot.org (haru.mindrot.org [130.102.96.5]) by mailhub.eait.uq.edu.au (8.15.1/8.15.1) with ESMTPS id 63ULJQXD019415 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 1 May 2026 07:19:26 +1000 (AEST)
Received: from localhost (localhost [127.0.0.1]) by haru.mindrot.org (OpenSMTPD) with ESMTP id d2dcd880; Fri, 1 May 2026 07:19:26 +1000 (AEST)
Date: Fri, 01 May 2026 07:19:26 +1000
From: Damien Miller <djm@mindrot.org>
To: Filippo Valsorda <filippo@ml.filippo.io>
In-Reply-To: <b3047f6f-1b17-4832-86b2-d2878221ea06@app.fastmail.com>
Message-ID: <ac4467db-0854-db72-872a-c9d1f137e4b7@mindrot.org>
References: <68bc138c-ccfc-2d97-0f25-64271655c23b@mindrot.org> <CACsn0ckzxMZRN6MxmkUjByzzgbgJdH3eRxVT1dA37TYQHeUq2Q%mail.gmail.com@mailhub.eait.uq.edu.au> <461a8358-8bd8-4f45-f8f3-073f993fb18f@mindrot.org> <ba9669a6-65a6-4276-8306-bd55ef0d146f@app.fastmail.com> <534410e1-5a26-f610-ba68-1f0595ab7a64@mindrot.org> <b3047f6f-1b17-4832-86b2-d2878221ea06@app.fastmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
x-ms-reactions: disallow
X-Scanned-By: MIMEDefang 2.75 on 130.102.79.58
Message-ID-Hash: 2Y3QDZZ4GSPTMG3VBLJZB5GBFE2XHUOE
X-Message-ID-Hash: 2Y3QDZZ4GSPTMG3VBLJZB5GBFE2XHUOE
X-MailFrom: djm@mindrot.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Watson Ladd <watsonbladd@gmail.com>, "ssh@ietf.org" <SSH@ietf.org>, Nicola Murino <nicola.murino@gmail.com>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Ssh] Re: Supporting pure ML-DSA as hostkey and authkey
List-Id: "The SSH mail list will allow discussions on improving aspects of the Secure Shell (SSH) protocol." <ssh.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ssh/yEcv9_ca7c1XM4pBYKxOmUrB5Vs>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ssh>
List-Help: <mailto:ssh-request@ietf.org?subject=help>
List-Owner: <mailto:ssh-owner@ietf.org>
List-Post: <mailto:ssh@ietf.org>
List-Subscribe: <mailto:ssh-join@ietf.org>
List-Unsubscribe: <mailto:ssh-leave@ietf.org>

On Wed, 29 Apr 2026, Filippo Valsorda wrote:

> I can offer more data points about this, but is there a strong reason to
> conversely prefer Ed25519?

Ed25519 is the most popular SSH hostkey type. Most implementations
already support it, so it's the smallest lift from there to composite
PQ.

Ed25519 is out of the box the most misuse-resistant ECC signature
scheme and not "fine if you do all this extra stuff" like ECDSA.

It's also, for better or worse, the recommended algorithm by most of
the popular "SSH hardening guides" on the web.

> Again thinking about non-OpenSSH implementations: do they all support
> Ed25519? Because if not they will have to implement two new things to
> adopt the composite, and Ed25519 is IMHO trickier than ML-DSA.

No, the vast majority support ed25519. Some, like tinyssh or OpenSSH
compiled without libcrypto, *only* support ed25519.

> > I'm happy to take feedback on which ML-DSA variant to adopt in a
> > composite construction. In particular, ML-DSA 44 for the composite and
> > ML-DSA 87 for pure is a future I could envisage.
> 
> Again I would prefer ML-DSA-44 and ML-DSA-87, but I could live with
> ML-DSA-44 + ECDSA P-256 and ML-DSA-87, and the complexity cost would be
> offset by a year or two of hardware token availability.

I'll rework the draft and implementation I posted to target ML-DSA 44.
Stay tuned.

-d