Re: [CFRG] [EXTERNAL] X-Wing: the go-to PQ/T hybrid KEM?

Mike Ounsworth <Mike.Ounsworth@entrust.com> Thu, 11 January 2024 15:54 UTC

Return-Path: <Mike.Ounsworth@entrust.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E8E30C14F6B5; Thu, 11 Jan 2024 07:54:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.805
X-Spam-Level:
X-Spam-Status: No, score=-2.805 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, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=entrust.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pYknUsGD574t; Thu, 11 Jan 2024 07:54:48 -0800 (PST)
Received: from mx08-0015a003.pphosted.com (mx08-0015a003.pphosted.com [185.183.30.227]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7EB6BC14F6EE; Thu, 11 Jan 2024 07:54:44 -0800 (PST)
Received: from pps.filterd (m0242863.ppops.net [127.0.0.1]) by mx08-0015a003.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 40BD7Ylq023731; Thu, 11 Jan 2024 09:54:40 -0600
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=entrust.com; h= from:to:cc:subject:date:message-id:references:in-reply-to :content-type:mime-version; s=mail1; bh=YYM3A/rBcaIK2zPaWmGUtQot eRRsXGSIa9I8zxXDmyA=; b=RO7rfFTeCfSZfZckvHpz7T939PhXy0dre6HUIHGp g3pCmneVD3pYFj35jexEQrw7rE2dzO6eYU6p5CQ8M6/NBEGc4dSN5D1f38RlYIHz 177Z1IWQWhsQkyfpUFVpD+ETStAjgyRGc+MVAIn38wKPU+ci4IxEjJFICfFrrM7v 6Rdegh2PvbzkYA6jyVip4qbxVaAITjQwKp2QyDQ49ySqRqGcUf0OxkhSiVoJCnGH tia61HUandOsf/i+JMxfpDKxTflwDxnkL9U8P5qBspFgwm0BHe7YtL0eO7TuMucC ydhYST66J68fiHTJjtjXEIXD+yyZPhaBUf0Wt7KbhFcKSw==
Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2100.outbound.protection.outlook.com [104.47.55.100]) by mx08-0015a003.pphosted.com (PPS) with ESMTPS id 3vf2qsacfb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 11 Jan 2024 09:54:39 -0600 (CST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BNnliJZ3mhB1I/VOEqzM5hDB5muLV0OcadRnTBhZ0kDVPTNaOVIbD0yJ4nNv13yCaBo6g43YSe+qapPhH1xSgyA+kGb1H2kgZYvY97DwBzGqDGvPKpFBxyUQYodHFGlKsRZAjFAKfu8iGSAYcXwTMqYVJlAZhuRzfGetTTtdVJSIXPTMrur48mTfWWIVgYUfBRNXsZcYjIVGP/7hA03qeYrIbMFEtq8J0sVdpFhppzd7RnMTWhYjDOg+iPs6HOF4pTxS+41XlYM4pEGTTau0csoADZCcl3wRuX4ye/XHk34OVrF3BUV+1pdTROujPue9VGGxFaeUtWq3ZmXN/8mq0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7d8WGwcIyuoE9ZZLEktgsSbJp/jXjVXGmNFG9XrO+34=; b=ELhTAx6NsKGVQF7GvYZQILS0uZGJMCVM6WVZxJVCT4r2SCpYEtqoon1CTT64fKIijON8iNZIZhUf7uy6BVCVWzTat3SLDUThz0GHoEtkPtWJKweKvRKycrLnCCq2g8BtJKPWzvkRTjDJpc3utl14eMyEC1jV6sFzR+A0d7pl8Fa8J8FndUzvtPjRwQ6FMF9xpppS3IrkTiO1dUsdN7A1soCWIh68QEMgJuWymd2qp7GAEEKaBTg2mO3iOJu2X3Ie0rMldyYcejbLx1+eSFXEKIaJ3/PQ3AWdcfzNnOIXZptu0ndyvKIgRrgk7v43ToU2v1RphV/oiUZup+ENoN21sA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=entrust.com; dmarc=pass action=none header.from=entrust.com; dkim=pass header.d=entrust.com; arc=none
Received: from CH0PR11MB5739.namprd11.prod.outlook.com (2603:10b6:610:100::20) by PH0PR11MB5173.namprd11.prod.outlook.com (2603:10b6:510:39::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Thu, 11 Jan 2024 15:54:32 +0000
Received: from CH0PR11MB5739.namprd11.prod.outlook.com ([fe80::4dec:c4b4:5adf:cb83]) by CH0PR11MB5739.namprd11.prod.outlook.com ([fe80::4dec:c4b4:5adf:cb83%7]) with mapi id 15.20.7159.020; Thu, 11 Jan 2024 15:54:32 +0000
From: Mike Ounsworth <Mike.Ounsworth@entrust.com>
To: Peter C <Peter.C=40ncsc.gov.uk@dmarc.ietf.org>, Bas Westerbaan <bas@cloudflare.com>
CC: IRTF CFRG <cfrg@irtf.org>, "<tls@ietf.org>" <tls@ietf.org>, "karo@cupdev.net" <karo@cupdev.net>
Thread-Topic: [CFRG] [EXTERNAL] X-Wing: the go-to PQ/T hybrid KEM?
Thread-Index: AQHaRKTIrObb6vO8+kqh7+cM8np/m7DUwRrA
Date: Thu, 11 Jan 2024 15:54:32 +0000
Message-ID: <CH0PR11MB57397DE5A0C4305A2F1379119F682@CH0PR11MB5739.namprd11.prod.outlook.com>
References: <CAMjbhoWZxsLFH6yBc0hdx3t3SohurXGkfMzouoxGXM92HBR_dw@mail.gmail.com> <CH0PR11MB5739F6307E16B3B6A01BFBFA9F692@CH0PR11MB5739.namprd11.prod.outlook.com> <CAMjbhoWysgatzqy1uR+4qx1mVHW8wbn6KvPuD5z79w_6+bueRw@mail.gmail.com> <CH0PR11MB57392AC372810A4B2B2E9E359F682@CH0PR11MB5739.namprd11.prod.outlook.com> <LO2P123MB492713DAC97350D0568E92F1BC682@LO2P123MB4927.GBRP123.PROD.OUTLOOK.COM>
In-Reply-To: <LO2P123MB492713DAC97350D0568E92F1BC682@LO2P123MB4927.GBRP123.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH0PR11MB5739:EE_|PH0PR11MB5173:EE_
x-ms-office365-filtering-correlation-id: 37f67866-dc06-4519-c110-08dc12bd9a49
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: xa3TanJBfR5zMUVTZ8WbqxTmwXUTNl6u/mzkXEp2a20Uwbd0t9nGVfQuoHM1GarGIt5tDYYr5GRvjZPf8doq+5LiM2blPHCGuh9U2iR6rMVZOMa9nnvn+YxiHH4XrmRrAyoVg0gy/iQJuQDHmF5dM5Yydtx2QNBMf+AdtXBuZftT+yE3xYRjD+9Q7t5tjNBYIeEgM8UHuTZkBHIAaGGTDQBjzPy8UwTg2ABVGIKU7OB83ElTjJ8ZMwrWBBbaTzndyulVfqQJO/eDNV1bUJ8/ggA5EUPUu69L+xnIwlCHyqsfIp2M7xNpi+7QbiB0wMHf9feqMGi0AMVDsQT2ZTIHSL8H75eP7v8w3fjuC7z0pRgITOSAolcjKqNd52S6yd2zF5xpe6Gik+3Bo3fAudXs4b7W9O6uVJuJ8Qp3zZanyew/hrkZICfUSvL+YpceeKVoSJCXHrhpN7lZYPw1SKrrrOPWJTekPhFjIXusVMPugSdsQrLGP1rqRbftDBzbKywAPZmj5yyGBS8aUwgQcUxHf50LBXWabVWpZzDvBbiGsATKSGxxJD/M+27+1TsOkmez00IANz1yI2FHu5Q2eLmDIuSX5iHrGFcdfUbRdNTzzQAsdvinPvmmu7C+9Kdaq46a11ORTEhDmTIeCBuPvqegVw==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR11MB5739.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39850400004)(136003)(396003)(366004)(346002)(376002)(230273577357003)(230173577357003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(53546011)(6506007)(7696005)(9686003)(478600001)(26005)(19627235002)(66446008)(83380400001)(966005)(66574015)(52536014)(38070700009)(41300700001)(316002)(64756008)(54906003)(2906002)(110136005)(5660300002)(76116006)(66476007)(66946007)(66556008)(8676002)(4326008)(8936002)(38100700002)(122000001)(71200400001)(86362001)(33656002)(166002)(99936003)(55016003); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: tT1xncGn3pUyA9duoLw+jAakVaD4AwFzXyGK+fASi4TwCVeFL6xweXkMyl7e+xiU3Gm0b0J+75r68ZHbZzZQ0qa2hgPJTRfAqQ6hf2zqGp0n3eZIPdi1hze7SbzPBJhv2eHBT8bURqmnHzJqDuPY6pEqkI2Ky/g/z3FtMViiu35KOEKjG92PM+0h5pQ67MPlE8fVOZfk8o60CTOSjRgluY9rGs7MOH8wOgTL+7sgdFg4IaobPbPaYqlqdfFxt4N4tTuVuHTxHFGrlxxbmmWNdfcI1FCGhKCQNYHea9U4P0KNevsQMMckWaVK74rwzOmNsgBP8GcKnkpMUCxrb+k+qtbyTVNjLsugA9V/BfOXGHnu/v35kzfN12RFmE7+khbfMxvA2TbOlSMoJLWovV1LdNC5u6+iToWmHI6G5cSYwVONqOWDet/slA4RIKbNuGMdDrVvAtdvDwRhjXkwL6xS+r3fn/QlTJPi/n3uRIIikhHoSMEE4dwr34zpVvxOHcIUVD3a1aU1hrq2NqUevlFgWa60Ds5d+PhxGf91Rf8V+TOtyo2isdAR0//np+VmLLmEeGV15KDEOcWFJ9hWhVtIeATFMSSNEC8BDLhffsrxH/IVnrXVDuFtDsCo0iL5wYDGVZD4zJ2eCNSbibuM4THpsIy4eayJbKygDFXVOufZz8JAFPt0ceOlGe4W8OHYbicCZzwBdqDxdbjS4z1yB0ZwBKDDNUKENyc+mqzBkPsGbAPwxKPfkHXavJtEAJFYchnIOyYvaJ13EYOM9BTGC1EJl/11l/guvCS90DCsrR/TfyhApiE4sW4xhlknrLbxELltKvtzhPvxX8DRtzHsG5f1dOqrGsmMpY5WkubxaHxJ94AiJLUHhZFg2ZRonJoLwtbWrhLAP/yw/G0H5fm6OXv1JHF7JGz0+oMXZlEPKgxrXxIC+Q2ITyG/qqO1xNi3Tt0RhC8mlUtiLwd4l98JDX+gxXrd+6qCbqJRGr50EKkDAi7Z1a7TMXT7DeX5E0MjAk7IDq2f9S215UWSyzHlEOJbwxCobZjqB5pNMmmGZcv7OVBYEnDkel9jgNGjfbZfJOscwiVJ2IqMDJ5bMhI4JC/+nYhBlECFLvpIP9PWdemDrRov1LHt+H3/pQVCezHQOi7UJvn/flnUo7boHrSMiqgttA5VxYfEj8/RdiE2NwuD4fDGavuaTLKowbWOIJfsCO+oz5ExIzziHoYjoFVvAEmgkQYZLlvUEwNsyJkrwMuyjPr3Y/9iSMn6bqNpiiiOvtvTMxUvIuvR999YkgtbxXi+rukVbu54mhDdDNGKdlX6kChG0n98sQlhccTKBked9id48gGgqfinDKJbHEYWE0bihgS/QXIpwoAKTm6467ft+4+HDzRrgeM2Nef/G4pnU7TSciAsTzs2HAenJFlwUJ806Pf5pppovaRLArur4bXDfV8l2gJBTVALo34SjM5aoLFwj0uQy4DKji68W/aQssjL0noKAKsPuTktmmzpPIpHoXtKtuZGxpKqdAKpeIYkRWDo4X07xM5KRw4XXh1ofwD+XBc21BCJul0cjylZjXZiAUgZAnAphLcBGI5EOO3VwNPyF8gWt0B4IkX+PYwir07tqw==
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="SHA1"; boundary="----=_NextPart_000_03EE_01DA4474.2C24B830"
MIME-Version: 1.0
X-OriginatorOrg: entrust.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR11MB5739.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37f67866-dc06-4519-c110-08dc12bd9a49
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2024 15:54:32.6221 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f46cf439-27ef-4acf-a800-15072bb7ddc1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1j3E2cCWAwHW4iNPZj+ary9cquhzxTrRmZpj9Y4kbq71quU44lXwT2Q7xgfX5haAMrf0tVx0kX01WqTmJrE7eyc34iGD5WAewxSmVQBk52U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5173
X-Proofpoint-ORIG-GUID: 68ckysq_mwIn1clfRays59qI6kfXujsF
X-Proofpoint-GUID: 68ckysq_mwIn1clfRays59qI6kfXujsF
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-28_20,2023-11-27_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1011 malwarescore=0 adultscore=0 mlxscore=0 mlxlogscore=999 spamscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 phishscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2311290000 definitions=main-2401110124
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/Wzxpl5axY0HiAoHQr1pV8uDasFg>
X-Mailman-Approved-At: Mon, 15 Jan 2024 08:13:50 -0800
Subject: Re: [CFRG] [EXTERNAL] X-Wing: the go-to PQ/T hybrid KEM?
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://mailman.irtf.org/mailman/options/cfrg>, <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://mailman.irtf.org/mailman/listinfo/cfrg>, <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2024 15:54:53 -0000

Hi Peter.

 

Yeah, I get that; this is an optimization of the generic around the properties of ML-KEM.

 

My thinking-out-loud here is twofold:

 

1. Let’s avoid the situation where we have both X-Wing and generic-combiner-mlkem-x25519 floating around IETF protocols. I’m basically suggesting to put language in the generic combiner draft to say “If one of your KEMs is ML-KEM, then the follow optimization SHOULD be used”.

 

2. I’m on board with Bas, Deirdre, and Peter that X-Wing (ML-KEM-768 + X25519) satisfies a large number of majority usecases, and having it as a standalone document allows it to move ahead of the generics debate. HOWEVER, we will eventually need specifications for some fuller subset of {ML-KEM-512, ML-KEM-768, ML-KEM-1024} X {X25519, X448, P-256, P-384, Brainpool-P-256, Brainpool-P-384, RSA}, which can all also presumably benefit from the ML-KEM specific optimizations, so does that mean we’ll have a whole Rogue Squadron of drafts: A-Wing, B-Wing, Y-Wing? Or should the ML-KEM optimizations be considered in the generics draft?

 

Again, just thinking out loud here in front of the community.

 

---

Mike Ounsworth

 

From: Peter C <Peter.C=40ncsc.gov.uk@dmarc.ietf.org> 
Sent: Thursday, January 11, 2024 9:38 AM
To: Mike Ounsworth <Mike.Ounsworth@entrust.com>; Bas Westerbaan <bas@cloudflare.com>
Cc: IRTF CFRG <cfrg@irtf.org>; <tls@ietf.org> <tls@ietf.org>; karo@cupdev.net
Subject: RE: [CFRG] [EXTERNAL] X-Wing: the go-to PQ/T hybrid KEM?

 

Mike, X-Wing is not a profile of the generic construction. Dropping the ML-KEM ciphertext changes the security assumptions you need to make. If X25519 is secure then, in the generic construction, ML-KEM doesn’t need to satisfy any security 



Mike,

 

X-Wing is not a profile of the generic construction.  Dropping the ML-KEM ciphertext changes the security assumptions you need to make.  If X25519 is secure then, in the generic construction, ML-KEM doesn’t need to satisfy any security properties at all for the hybrid to be secure.  In X-Wing, it still needs to be ciphertext collision resistant.  The X-Wing paper (https://ia.cr/2024/039 <https://urldefense.com/v3/__https:/ia.cr/2024/039__;!!FJ-Y8qCqXTj2!cP8j9IZHePmHD_D-01VoJE2GJPz82LPZLZX8YLuF92hhB1eGStkDIdFnePNQQ7UZAiqZWkIsKNb8KOsgyyRNBXBY1Mv22L6QoKD1$> ) argues this holds for ML-KEM – or any similar KEM – but that depends on decapsulation functioning correctly.

 

Peter  

 

From: CFRG <cfrg-bounces@irtf.org <mailto:cfrg-bounces@irtf.org> > On Behalf Of Mike Ounsworth
Sent: Thursday, January 11, 2024 2:57 PM
To: Bas Westerbaan <bas=40cloudflare.com@dmarc.ietf.org <mailto:bas=40cloudflare.com@dmarc.ietf.org> >
Cc: IRTF CFRG <cfrg@irtf.org <mailto:cfrg@irtf.org> >; <tls@ietf.org <mailto:tls@ietf.org> > <tls@ietf.org <mailto:tls@ietf.org> >; karo@cupdev.net <mailto:karo@cupdev.net> 
Subject: Re: [CFRG] [EXTERNAL] X-Wing: the go-to PQ/T hybrid KEM?

 

Right. I’m just thinking out loud here.

 

If the Generic is

 

KDF(counter || KEM1_ct || KEM1_ss || KEM2_ct  || KEM2_ss || fixedInfo)

 

And X-Wing is:

 

SHA3-256( “\.//^\” || ML-KEM_ss || X25519_ss || X25519_ct || X25519_pk )

 

It looks pretty close to me; you’ve dropped the ML-KEM CT, added the X25519 recipient public key, and moved the fixedInfo from the end to the beginning.

 

The question is: is that close enough to be considered a profile? Do we want to adapt the Generic so that X-Wing is properly a profile? Binding to the ECC public keys is probably not a bad idea in general. Certainly it would make no sense for some IETF protocols to use X-Wing while others use the ML-KEM + X25519 instantiation of the generic. I think I’m convincing myself that the Generic should be adjusted so that X-Wing is the obvious instantiation for ML-KEM + X25519.

 

Aside: do you have an opinion about fixedInfo as a prefix vs a suffix? We chose suffix simply because it more obviously aligns with SP 800-56Cr2, and we’ve all had the experience of FIPS labs being picky about things like that.

 

---

Mike Ounsworth

 

From: Bas Westerbaan <bas=40cloudflare.com@dmarc.ietf.org <mailto:bas=40cloudflare.com@dmarc.ietf.org> > 
Sent: Thursday, January 11, 2024 7:07 AM
To: Mike Ounsworth <Mike.Ounsworth@entrust.com <mailto:Mike.Ounsworth@entrust.com> >
Cc: IRTF CFRG <cfrg@irtf.org <mailto:cfrg@irtf.org> >; <tls@ietf.org <mailto:tls@ietf.org> > <tls@ietf.org <mailto:tls@ietf.org> >; Deirdre Connolly <durumcrustulum@gmail.com <mailto:durumcrustulum@gmail.com> >; karo@cupdev.net <mailto:karo@cupdev.net> 
Subject: Re: [EXTERNAL] [CFRG] X-Wing: the go-to PQ/T hybrid KEM?

 

Speaking for myself (not for my co-authors), this feels like friendly, complementary work to draft-ounsworth-cfrg-kem-combiners; I agree. We could consider adding a section with concrete instantiations, and the first one would be X-Wing 😊 (followed 

 

 

Speaking for myself (not for my co-authors), this feels like friendly, complementary work to draft-ounsworth-cfrg-kem-combiners;

 

I agree.

 

We could consider adding a section with concrete instantiations, and the first one would be X-Wing 😊 (followed by ML-KEM + P-256, Brainpool, and RSA variants).

 

I guess that leads to the following question:  <mailto:bas=40cloudflare.com@dmarc.ietf.org> @Bas Westerbaan,  <mailto:durumcrustulum@gmail.com> @Deirdre Connolly, Peter, would you be open to merging X-Wing into the generic combiner draft, or is there value in it being standalone?

 

X-Wing explicitly trades genericity for simplicity. We will not get such a simple and efficient construction if it is the instantiation of an easy-to-use generic construction.

 

Best,

 

 Bas

 

 

---

Mike Ounsworth

 

From: CFRG < <mailto:cfrg-bounces@irtf.org> cfrg-bounces@irtf.org> On Behalf Of Bas Westerbaan
Sent: Wednesday, January 10, 2024 2:14 PM
To: IRTF CFRG < <mailto:cfrg@irtf.org> cfrg@irtf.org>; < <mailto:tls@ietf.org> tls@ietf.org> < <mailto:tls@ietf.org> tls@ietf.org>
Cc:  <mailto:karo@cupdev.net> karo@cupdev.net
Subject: [EXTERNAL] [CFRG] X-Wing: the go-to PQ/T hybrid KEM?

 

Dear tls and cfrg working groups, With ML-KEM (née Kyber) expected to be finalized this year, it’s time to revisit the question of which PQ/T hybrid KEMs to standardize, and which to recommend. # Status quo For TLS at the time of writing there 

Dear tls and cfrg working groups,

With ML-KEM (née Kyber) expected to be finalized this year, it’s time to revisit the question of which PQ/T hybrid KEMs to standardize, and which to recommend.

# Status quo

For TLS at the time of writing there are two PQ/T hybrids registered: X25519Kyber768 [1] and P256Kyber768 [2]. The former has been deployed widely [3]. Both are instances of the hybrid-design draft [4], which use the simple combiner ss_ECC || ss_Kyber, which is suitable for TLS, but not for other applications such as HPKE, as it’s not IND-CCA2 robust [5].

For HPKE, there is a different KEM called X25519Kyber768 [6], which uses a different combiner that mixes in the X25519 ephemeral key, by using HPKE’s DHKEM construction instead of raw X25519.

There is also the ounsworth-kem-combiners I-D [7] that informed by [5] proposes the generic combiner

  KDF( counter || ct1 || ss1 || ct2 || ss2 || fixedInfo, outputBits )

>From a security standpoint that would be suitable for HPKE and TLS. To TLS it is somewhat unattractive as it requires hashing the typically large PQ ciphertexts, and adds some extra hashing in the conversion of the ECDH into a KEM. On the other hand, for TLS it would be nice to have a KEM that is also suitable for HPKE, as HPKE is used in ECH.

>From a usability perspective, ounsworth-kem-combiners requires the user to make several choices: which KEMs and in particular which method to use to turn ECDH into a KEM, which security levels, which KDF, etc.

# The proposal: X-Wing

Let us introduce X-Wing [0]. The goal of X-Wing is to be *the* go-to PQ/T hybrid KEM for the majority of use cases (including TLS and HPKE): no need to make choices, or understand the subtleties.

X-Wing aims for 128-bit security, and for that combines the time-tested X25519 with ML-KEM-768 [8]. X-Wing uses the combiner

  SHA3-256( xwing-label || ss_ML-KEM || ss_X25519 || ct_X25519 || pk_X25519 )

Here ss_X25519 is the plain X25519 shared secret; ct_X25519 is the ephemeral public key; xwing-label a 6-byte label. Note that it doesn’t hash in the ML-KEM ciphertext. For a generic KEM one cannot leave out the ciphertext, but in the case of ML-KEM we can, assuming we can model SHA3/SHAKE as a random oracle. This is proven in [0]. The gist is that FO transform in ML-KEM makes it “ciphertext collision resistant”: even if the underlying lattice problem is broken, it’s infeasible to create from one ciphertext another different ciphertext with the same shared secret.

# Not final

We would love to hear your input: X-Wing is not final. For one, ML-KEM itself might still change (presumably only in minor ways) before final standardization. We think the CFRG would be a good venue to standardize X-Wing — do you concur?

Best,

Bas, Deirdre, Karolin, Manuel, Peter


PS. We want to mention explicitly that we see value in the kem-combiners and hybrid-design drafts as generic safe methods to construct hybrids for those use cases where X-Wing would not suffice.


[0] Spec:  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-Y-JP2DY$> https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/
Proof:  <https://urldefense.com/v3/__https:/eprint.iacr.org/2024/039__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-Xl0zY2C$> https://eprint.iacr.org/2024/039
[1] Full name X25519Kyber768Draft00.  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-tls-westerbaan-xyber768d00/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-bUDJTlz$> https://datatracker.ietf.org/doc/draft-tls-westerbaan-xyber768d00/
[2] Full name SecP256r1Kyber768Draft00.  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-kwiatkowski-tls-ecdhe-kyber/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-cpge9_6$> https://datatracker.ietf.org/doc/draft-kwiatkowski-tls-ecdhe-kyber/
[3]  <https://urldefense.com/v3/__https:/blog.chromium.org/2023/08/protecting-chrome-traffic-with-hybrid.html__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-X2cJwvg$> https://blog.chromium.org/2023/08/protecting-chrome-traffic-with-hybrid.html
 <https://urldefense.com/v3/__https:/twitter.com/bwesterb/status/1734586155868287457__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-agVitjD$> https://twitter.com/bwesterb/status/1734586155868287457
[4]  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-stebila-tls-hybrid-design/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-axrezMz$> https://datatracker.ietf.org/doc/draft-stebila-tls-hybrid-design/
[5]  <https://urldefense.com/v3/__https:/link.springer.com/chapter/10.1007/978-3-319-76578-5_7__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-U_tyIdl$> https://link.springer.com/chapter/10.1007/978-3-319-76578-5_7
[6]  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-westerbaan-cfrg-hpke-xyber768d00/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-V-p_aAA$> https://datatracker.ietf.org/doc/draft-westerbaan-cfrg-hpke-xyber768d00/
[7]  <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-ounsworth-cfrg-kem-combiners/__;!!FJ-Y8qCqXTj2!YuGyk3egE_PIU03oVixCUPtatL8PHtv4HwoB1vN5giqCIDkH6AQcs-lATDzPlozu91nN60pT2kp1AwmLESgzB4xc58lF-bx4gLTn$> https://datatracker.ietf.org/doc/draft-ounsworth-cfrg-kem-combiners/
[8] Following earlier deployment of X25519Kyber768, despite targeting 128 bits, we use ML-KEM-768 instead of ML-KEM-512 to hedge against advances in lattice attacks.