[Ssh] Re: PQ signatures - where do we want to end up?

"Appel, Ryan" <ryan.appel@bofa.com> Tue, 28 April 2026 17:46 UTC

Return-Path: <ryan.appel@bofa.com>
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 CBEE7E4F24CB for <ssh@mail2.ietf.org>; Tue, 28 Apr 2026 10:46:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777398385; bh=+6/NWHjEzj/SjuWQi3VFoHtpcz5t+HX9NgFT4mKiQvo=; h=Date:From:Subject:In-reply-to:To:References; b=dIStXz3EZFYR33RiQInc0QEVwzGQ5W9DTw5ea/oF+ft0VSjw3vxV6NCgr+eHy7TDV SlCPtqtv8uMIugWmLuFltWH2Q4YsQIBR2Vl68UrOss2nOed22xxn8+M7rESYadAWK6 ZrJxxOlRg+TJWwVy0zx9qdPa9WFPCO/lQ3cV4j4c=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.394
X-Spam-Level:
X-Spam-Status: No, score=-4.394 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=bofa.com
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 YzEGML1phkWx for <ssh@mail2.ietf.org>; Tue, 28 Apr 2026 10:46:24 -0700 (PDT)
Received: from bankofamerica.com (ltwemail.bankofamerica.com [171.161.41.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0149AE4F22B4 for <ssh@ietf.org>; Tue, 28 Apr 2026 10:46:15 -0700 (PDT)
Received: from lltwa05lxepmx01.bankofamerica.com ([171.180.36.243]) by lltwa05ixepmx04.bankofamerica.com (8.18.1/8.18.1) with ESMTPS id 63SHk8mY4156686 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=FAIL); Tue, 28 Apr 2026 17:46:08 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bofa.com; s=corp2202; t=1777398368; bh=+6/NWHjEzj/SjuWQi3VFoHtpcz5t+HX9NgFT4mKiQvo=; h=Date:From:Subject:In-reply-to:To:References; b=4F95+YFgCQxKascwXqUfLLnsLf2gHz//IAEDU0k9E4YTAj6uhegGnk5sY3gwgPW23 Ig5UlKNl1P0sCR5kT/tDILqhPFTATFFBDHVnsi21tjbrsN3W96LLzTXL/JBNTjnJFw sMAR/V13pWU7RUVz+VnJPHNG9PWbFx1M6w0U9PlSlMC5IzWpj9ggDzWRTXaR/LBFvS H4FgTFRDf6WW/T/gharZEuV8RVCUsbDtZTAodykgrUbCfHAQc5chytx5Ovh32g0y+c LAEU+lMWLhUNlhgkDNpFVVbJeicu4b6/3zbOBvgyCz1CkxnFBT5wMJhO8AeP0SsIkW y/PAfr5MPowPA==
Received: from ltwppra03.sdi.corp.bankofamerica.com (ltwppra03.sdi.corp.bankofamerica.com [30.102.120.37]) by lltwa05lxepmx01.bankofamerica.com (8.18.1/8.18.1) with ESMTPS id 63SHk8xA1378002 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Tue, 28 Apr 2026 17:46:08 GMT
Received: from pps.filterd (ltwppra03.sdi.corp.bankofamerica.com [127.0.0.1]) by ltwppra03.sdi.corp.bankofamerica.com (8.18.1.2/8.18.1.2) with ESMTP id 63SGwMhF031335; Tue, 28 Apr 2026 17:46:08 GMT
Received: from ahp-cmta-sdn-02.sdi.corp.bankofamerica.com (ahp-cmta-sdn-02.sdi.corp.bankofamerica.com [30.251.240.54]) by ltwppra03.sdi.corp.bankofamerica.com (PPS) with ESMTPS id 4drkwvrqgf-15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 28 Apr 2026 17:46:08 +0000 (GMT)
Date: Tue, 28 Apr 2026 17:46:00 +0000
From: "Appel, Ryan" <ryan.appel@bofa.com>
In-reply-to: <aadd19c7-d4bf-424c-bf8e-e809f8997a6c@roumenpetrov.info>
X-Originating-IP: [30.161.204.155]
To: Roumen Petrov <pkixssh@roumenpetrov.info>, "ssh@ietf.org" <ssh@ietf.org>
Message-id: <0b1d30dc175441e1a7bd70bdd0aea7ae@bofa.com>
MIME-version: 1.0
Content-language: en-US
Content-transfer-encoding: base64
X-MS-Has-Attach:
Accept-Language: en-US
Thread-topic: [Ssh] Re: PQ signatures - where do we want to end up?
Thread-index: AQHc1yVAcSna/6bmZkWxzoZAM9KDe7X0nyZAgACUZYD//4srQA==
X-MS-TNEF-Correlator:
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0Jhbmsgb2YgQW1lcmljYSIsImlkIjoiOGQ0NjkxYzktMjQxNS00N2Q3LWE2OWEtYTMxNGI0MGFhMjE5IiwicHJvcHMiOlt7Im4iOiJDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiUHVibGljIn1dfSx7Im4iOiJFbmNyeXB0aW9uWWVzIiwidmFscyI6W119LHsibiI6IkVuY3J5cHRpb25ObyIsInZhbHMiOltdfSx7Im4iOiJDb25maWRlbnRpYWxUeXBlIiwidmFscyI6W119XX0sIlN1YmplY3RMYWJlbHMiOltdLCJUTUNWZXJzaW9uIjoiMjQuNy4yNTE4LjEiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYXN0dGxOdm14RzUyck1MWFFsNnNlZ21pcWg1RFBhdlVBanNXaGVQanJkbEJ1eDNCYUF1b1FneXNvUHVzV3FnMCJ9
x-bac-client-sensitivity: X2
x-tm-snts-smtp: 7433074E52F002931092D5B4F612C179F4BC1C775268E0CC20F1A54763E33C0F2000:8
References: <f1964c88-5199-48f7-a23d-36c0328734c8@cs.tcd.ie> <CAFR824zaY1QzWSnT2z=SeFu5-QVzzOqMbuHXcnPU5wMsF+-pug@mail.gmail.com> <c5ca13e1845d433d817442d722098e7d@bofa.com> <aadd19c7-d4bf-424c-bf8e-e809f8997a6c@roumenpetrov.info>
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDE3MSBTYWx0ZWRfXyBY8ib6m/E+2 8DyhWvXoA2g4IMuJ3Xian5vHixf+HdstJ3LM/NI3m1eRrxwYD2H4HDyRc7GD/Cc3CnBbpIKbp6t Cv/nRC4Y3hoE/tK90J2briUDP4digtav33xgDhvJt9XkfjkeGIURxocV3PQYP6wBmCX0d7cP3a3 BSOqeJzRmnzLKAnetFc13e+CBpHtcVT74ICrApDgNNtueIuqt0jP/7VWWGr9AaWnU4r+8fwu86p /CvPc+LMVqZirqOYgthyIUwRn12YeWYZohF9bSSt2iLcxGamgb8k0CKmMpRtIDH0R54KUehAH6L Ix9diNfqhllIRjhzgtO
X-Proofpoint-ORIG-GUID: yT08DTZZ7No8LEG7Ld6heaXJbGJrMAxq
X-Proofpoint-GUID: yT08DTZZ7No8LEG7Ld6heaXJbGJrMAxq
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_05,2026-04-28_01,2025-10-01_01
Content-Type: text/plain; charset="utf-8"
Message-ID-Hash: P4I73IVSS76MB7CEKJESNRDKD4D26WGM
X-Message-ID-Hash: P4I73IVSS76MB7CEKJESNRDKD4D26WGM
X-MailFrom: ryan.appel@bofa.com
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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Ssh] Re: PQ signatures - where do we want to end up?
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/_9qC8JGTWW2PVv1hU4ZWuCoZ0BI>
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>

Hey Roumen, 

I don't believe it needs to be specified either. 

OpenSSH and Putty for example have completely different ways of representing key files (which is obviously different than pkixssh which uses certificates), and specifying a specific way to store the key (either in expanded / seed form) is likely unnecessary. This is my perspective, I just wanted to gather consensus.

Thank you,

Ryan Appel



 



-----Original Message-----
From: Roumen Petrov <pkixssh@roumenpetrov.info> 
Sent: Tuesday, April 28, 2026 12:41 PM
To: ssh@ietf.org
Subject: [Ssh] Re: PQ signatures - where do we want to end up?

Hello Ryan,

На 28.04.26 г. в 19:00, Appel, Ryan написа:
> I do believe all the SSH RFCs only describe the way in which the public key is represented. I see no reference in any of the RSA or ECC definitions of keys that reference the way in which a private key is meant to be represented.
> 
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/rfc4253__;!!I2XIyG2ANlwasLbx!VaRonR8BbQpO0xj5WScDBI5GYv3vD0QT_9a4m1fb6E9q4dWtcGT1kyInMhIm8WJ-nvRVd6tl1RQ61hHVXXTZZ8fT$  - rsa and dsa)
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/rfc8709__;!!I2XIyG2ANlwasLbx!VaRonR8BbQpO0xj5WScDBI5GYv3vD0QT_9a4m1fb6E9q4dWtcGT1kyInMhIm8WJ-nvRVd6tl1RQ61hHVXap64jqw$  - ed25519 and ed448)
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/rfc5656__;!!I2XIyG2ANlwasLbx!VaRonR8BbQpO0xj5WScDBI5GYv3vD0QT_9a4m1fb6E9q4dWtcGT1kyInMhIm8WJ-nvRVd6tl1RQ61hHVXaFsYYS0$  - ecdsa)
> 
> ML-DSA public keys have to be represented as the fully expanded (compressed) key as defined in FIPS 204 due to the fact that the matrix A can be expanded from the public seed, and the vector t is computed from the private key (which can be stored in seed format as denoted by section 3.6.3 and 4).
> 
> Does it need to be the case where the newer specs specify the way in which ML-DSA keys (and others) are stored?

I do not think so.
Until now private keys are implementation dependent.
It seem to me cryptographic libraries store ML-DSA keys differently.

Only in PKCS#11 3.2 draft I could found ML-DSA standardised description.
The software that uses PKCS#11 ML-DSA keys is almost ready for use. It is tested by my PKIX-SSH MLDSA-DEMO implementation.


> 
> Thank you,
> 
> Ryan Appel, MS, BCS
> 
> Vice President; Security Architect
> GIS – Cyber Security Technology Architecture
> Bank of America
> 

Regards,
Roumen Petrov

_______________________________________________
Ssh mailing list -- ssh@ietf.org
To unsubscribe send an email to ssh-leave@ietf.org

----------------------------------------------------------------------
This message, and any attachment(s), is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/electronic-disclaimer. If you are not the intended recipient, please delete this message. For more information about how Bank of America protects your privacy, including specific rights that may apply, please visit the following pages: https://business.bofa.com/en-us/content/global-privacy-notices.html (which includes global privacy notices) and https://www.bankofamerica.com/security-center/privacy-overview/ (which includes US State specific privacy notices such as the http://www.bankofamerica.com/ccpa-notice)