Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06438C433F5 for ; Mon, 15 Nov 2021 15:22:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DB512613DA for ; Mon, 15 Nov 2021 15:22:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232217AbhKOPY6 (ORCPT ); Mon, 15 Nov 2021 10:24:58 -0500 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:8902 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235326AbhKOPY5 (ORCPT ); Mon, 15 Nov 2021 10:24:57 -0500 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1AFEfKUY001655; Mon, 15 Nov 2021 15:21:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=OaD1FJMoJANkGPO5ZY3TwO1cuX0Hqkv+JcSq4a2EGB8=; b=vIwdfWmHZa44WTglQovVYK9G0HqYjI68cj7i8b9a6iWGyaRqsT/Gudi5Xo5zoo+yPnNQ KDMH/eS372APveVjrgaXSidXi7MmO/wtUsCgZp1LRjsxzXm7L0CndxXhtzGiftydDyAC lZACN155gZ0PxBRRrYQFhGOOsS115O21kxwWRd97BMkeq6wKMTTBafLBZubKPDINelNC RCpYxB9J1ZMrRBpEPEie62HIHIUrU8IB1WA2sAfxExslMne9embqln9zlqF5qmboS8kH 05fjheX1+2tHqrYUS71l7I1ZEmSerB08E+sk8QhXgMz4a3SsBqb5kVlvTt5mmy07FrMA MQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3cbhv7twd1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Nov 2021 15:21:34 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1AFF10Ki132905; Mon, 15 Nov 2021 15:20:35 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2177.outbound.protection.outlook.com [104.47.59.177]) by userp3020.oracle.com with ESMTP id 3caq4r5kx1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Nov 2021 15:20:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ORBXu9l+FvGo17f9kxPV7kX5CDf7xdyX5sD6r/9PZxOs+qf8COu5PGucGvyMRzKNFbk3xoux9giDxYa3WV8obmaqFFYkU67Mbk4BpG2aeYejFMv3BbcKB6h8XaxuZUoZsCbw4IkqsfbW9+oVuGAqyzHDqlM7BxWwLsTsJg7OTDdUlAqHE+aPJEYVKqqwbl7QCsLrE5QIhVZ6M5zIp+9HP5asWSkSLO/wRqeFjLj3P1mSxmRC65lG01IHu7AGyW27NwmT9/sTIueyysHFCAOnIsMPtVM5ZuoGCHCbnsl+BJTRwJzhPs2am/dvzoKcEPDrVcIEe3AzZWK54JOnBPN2LQ== 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=OaD1FJMoJANkGPO5ZY3TwO1cuX0Hqkv+JcSq4a2EGB8=; b=VMbYfJwSks2TlrYTarZkK44OuvqCO+KXhFMgOURqAMIplOpbcPCKy6vBWEcst8KQjONmUbsMXKbhXmyzjD+wkxmjx+QjZr8lUb99BU4ha9EYtA8eqG959Em7B/8uRgCmpGkpmexbBOhhceSsG5KU0sXvej95rO9SbPgWFtixdZDrJULz79BAaCeUZwkmfA2FljZz8ojU2mWKb5N14DnYg1NlIq9TSpqneHqRLoxDVszYwaN8QHBrf+H8UNPWJqf1WIZPD9V5nnX7m+zeuc3yFUNPlx2nFguy57DlIP1oE1QRt1IOpUGgpYdWfX51BiO5IW80ehof/ktome+SSnB6FQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OaD1FJMoJANkGPO5ZY3TwO1cuX0Hqkv+JcSq4a2EGB8=; b=W7Akcuz50vVz8hoeEV3h7HIePikLkV4rGrL2uugenen16EMvna1ogZdoVWx51DMSAt82WzsLWdcmmXAnQt94fAiMo9ZTPDS4idsYAc3zCK6J9bEK3CEIsC5nNfryftDdzTjT0UCNHkgodW10bhfbu59gmFsxqwXwgKRfGbE3oqw= Received: from SN6PR10MB2943.namprd10.prod.outlook.com (2603:10b6:805:d4::19) by SA2PR10MB4667.namprd10.prod.outlook.com (2603:10b6:806:111::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Mon, 15 Nov 2021 15:20:32 +0000 Received: from SN6PR10MB2943.namprd10.prod.outlook.com ([fe80::5dd3:803d:4c46:2d08]) by SN6PR10MB2943.namprd10.prod.outlook.com ([fe80::5dd3:803d:4c46:2d08%7]) with mapi id 15.20.4690.027; Mon, 15 Nov 2021 15:20:32 +0000 Message-ID: <3c061581-2cc5-5718-8906-704427611994@oracle.com> Date: Mon, 15 Nov 2021 09:20:31 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH 03/12] crypto/ffdhe: Finite Field DH Ephemeral Parameters Content-Language: en-US To: Hannes Reinecke , Sagi Grimberg Cc: Christoph Hellwig , Keith Busch , linux-nvme@lists.infradead.org, Herbert Xu , David Miller , linux-crypto@vger.kernel.org References: <20211112125928.97318-1-hare@suse.de> <20211112125928.97318-4-hare@suse.de> From: Himanshu Madhani Organization: Oracle In-Reply-To: <20211112125928.97318-4-hare@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SA0PR12CA0007.namprd12.prod.outlook.com (2603:10b6:806:6f::12) To SN6PR10MB2943.namprd10.prod.outlook.com (2603:10b6:805:d4::19) MIME-Version: 1.0 Received: from [192.168.1.28] (70.114.128.235) by SA0PR12CA0007.namprd12.prod.outlook.com (2603:10b6:806:6f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Mon, 15 Nov 2021 15:20:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca0b39a5-6f1f-4bfc-cc38-08d9a84b774c X-MS-TrafficTypeDiagnostic: SA2PR10MB4667: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dRmPQ+m2e97D5c6n87rsoz3lSIg+le83djR9Ln/vO1r0cxRqynmt4ABLwnY6B1u2XWlDI4MlMLqC10oSZ0Ck7ORJ44IOqGrs4otWJtOTkURR3YI8+DMhYbirwj5h80HlDVazfPwFxjHWuDzyeEm+FHUNOrhEoWyUZ0sWwjxWMq9EgHGOcxD+Lxd6jI7gpFbpFzsp035QkXLxEXKW9iafUeX+9gCcst8+mqJTCqIxi4BVAxM7FPjafIclTJ7SCKEaW8PnjUH1KXr0jaf/bPpswAHJkgRrjzZeMZdZwBnvF8MiciGMO1qK5VM+OnZgGofTNgrXdv83DFv50VCm/JIyCYwuZRzgyMiI+Uiof1KptgiGN4NvByN6J8NcFsp1ByCCcA5DQQFXkQ2WYzrBF1bterD6RiZ3ED3jZPzADHMM7Sj4GuZOTTXHwLVAWDcyZlHMGbQWZEx7vkFWTCPrlEW3106QOuGo9M11G2QZSHbuI/NOBcdqWVkUxswfrNzMCb1+YMRcFAfnuv+SlpKKm+rGT4w4gouPBXeX4xlupTybrsBA+GfpCiD7MgvX2KuBPzwjD++kqdQXjYIMgXNJXgh8Cmqfwz0pPBP2Au/iwXGlzRqISWYVF8LeKNnCN2GEor5MR0UlGgeE88BXjzSlIhNLyQ0ncYFadyb3JBQZba0GFJHW+IaFDBO354dteWE9Y1kh5Qd3VF2HEcSueOfMhBGtx88VnJrDeC8bwXjna17rrrQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB2943.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(66946007)(5660300002)(66556008)(66476007)(44832011)(2906002)(508600001)(86362001)(2616005)(36916002)(83380400001)(956004)(6486002)(31686004)(30864003)(38100700002)(31696002)(316002)(110136005)(54906003)(8676002)(36756003)(8936002)(186003)(53546011)(16576012)(26005)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OGloeFdZeEYvaWk0SzdBczRqR0FyU0dmWkUydGl5Ylk4bGZtWUdlRGlMbng3?= =?utf-8?B?L2RpYW56cVVRMUlJckUxaXltMy9STTJCWDJoUTl1aTVOQ041VnhwNG5vdUJJ?= =?utf-8?B?R1FyRnBuaE1UbnJYRHRyRnJ1VWVobVJsM1NBaTFEWElKcU5GREtmbDZRb3l3?= =?utf-8?B?VVlVTHZuWnhNRGh3WFhGYk1DQVk5dUwzUHhwZzBjTWNkK0tqakZIMDQ4WnNI?= =?utf-8?B?RnZUN1BnWllwY2xpKzV4ME1TZTZUc1F6YU5SbkZ3a1RqRXRYZVk5R1hTSG1n?= =?utf-8?B?a1RtQ2FBTEhibmFxRTQ1Z3VidTg2R3pUMDhNQmFmRG95eS9qby9mRXRCSTcr?= =?utf-8?B?NU90TTdhYWdqQk5lT1pobDlUTFRjZThOMUdhZVlqRWJudHFmTTI1VlRrSnlD?= =?utf-8?B?Qm5yN1lUd0xKajU3cjNWNk1oV1RLRXN2cXFCOE9seUJqUkJYaWZOckJkNEFF?= =?utf-8?B?dGVlT29CdDNPak1FdlFJSlFKanZWN2hWWStRaE9xTW9TSDViQUhUNVE4RjdC?= =?utf-8?B?dERmUmloaW12UDJ1WTFuQStFTzFzM2ZRd2tRVldVRm5YK2FFMzBCWWFnU2lO?= =?utf-8?B?bThIN3czR240SEtwbEUrSyswTloxK2loNWcwajl1RGNKQTFwTElNUEJkcjNu?= =?utf-8?B?L3VXMkxnOWVaMWRDaUNmcFozcDhrREt2K2JpaW1sSkQxc2J0bXJTdis2b01H?= =?utf-8?B?YU4zcm1ka0YxM2E4eHNBajFyR21aN3JCb2dzU01nMG9DUkVDbmtSa3FUWFll?= =?utf-8?B?TVduY0FUTWlHeGl0bm5EdUwvcVB3UGxPbHZrUjVDdlloWU02OCtRRHIxN0c4?= =?utf-8?B?UUlvMFRTODZVTGd0R0VPMVNyUzB2MUY3TVZGeG1jbjJmNEhFTGYxaVRrT0tm?= =?utf-8?B?b1pnc0k1MDFwcUg1Q0N2b29EZXRlY3RGVHNvcXJzemRrZ0xNMHBTKzdtTEp2?= =?utf-8?B?dFlPVzZKbG1FQkM3YnVNQUxPYlgzU2lxdUt0c01JZG1RRTlyTWxJMWJpS25Y?= =?utf-8?B?VGI2MkU5WUVXN2Vnc2thVWVhSkYrY0hST01ET3ZSWGtQTEFuamdBdW5icnhr?= =?utf-8?B?ZkorSEtackhtTXF5dG01MWZsdGxMZHlyUlpXaG1MbWRWQWYyWlJHUkcvMUhi?= =?utf-8?B?bE1GQktROEZVNk9DY1VNTEN4R3B2YUhqZU9YWndXWUZwMndmeitTVTEvR05W?= =?utf-8?B?WHl5R3NVSlU2RmFYaktsdGg3NVc5SWdmdy91WmNNWHV0bjEyRWw1bHNRYUdv?= =?utf-8?B?eGFWblZjamVJSzdNajhDV0tVNXZBZmFWanpnTTd1Sm4zQi9obGJpcWNhTERn?= =?utf-8?B?SjBZMjR4LzlrNjRycWd5NTQrSlVWZ0dDWDNhbjhsZzV5Zkp2TlMwZnc0S25r?= =?utf-8?B?OWwvZTQ4RzMzTENQSDBhSUwwQjQvbXcya0Z3S1YzUGl0NTUrc1JzT3BiMGVK?= =?utf-8?B?aTdFOGZHMkRGKzNHcldUYk1iRkZqTTJBN3hna3hCMlpVNVRPR0xZbThtVXlT?= =?utf-8?B?S3hZWEljNkdYR0lUWHBDcXNaa3FSODA2Z2U4MVJwOEp4QVEzRlJraTA0emdY?= =?utf-8?B?Yk4rZk1STXhIZ2hyZm4rSXJleVc2T09CUUhmOEo0OTErcEV0RGFrNnhOZi81?= =?utf-8?B?UUYvMVBiYUVMMkNMb1Qxbm1LKzhGd1gyWmo0QXdxSXNaelZwbVhMMi9nSFlt?= =?utf-8?B?T1V0b21ZWlN5Z2ZNRDZ6dUEwdnJMRDBhTCtVQjlwMDRMbVdlY2Zob014eEo5?= =?utf-8?B?WS93a0owL212SytkdEtnRitEM2FpZndnZ083eTZtZVY4eUk3ZzJQMmZLWDJ0?= =?utf-8?B?UEREU3dGelZpRnhBUmRqaEZIbUdZRXlzM0lJa1RmWm16bXdnUGpDaEJGRWZp?= =?utf-8?B?UVZFdkdFZ1VsT0x6blNETy81VitXancxMGJLV3cxeThmck1RT28yM1U3Ym1m?= =?utf-8?B?azJaREpaMnIwSEdoK1JaU1JncG9oQlZvcUhtY1M3MzZjYjR4THRDdlloWXhz?= =?utf-8?B?c3hQUUNZclRFMWlRTTBqSkxObm5UVUNubURZcHYyVGZMR1YreUN5SG5KNm9Y?= =?utf-8?B?Z1JCQ0l5aHZqSVJiZHFWRnd1Szd0ZXFSUi9HeFY4TFNuRFdkZStUNytYc1Np?= =?utf-8?B?Q3UrWTBvQnBhWWgzdXA3QVpGYzNpR2FxUVBucUp3cXBnY3ZkczJqZTRLYlps?= =?utf-8?B?ekdsUmpXYXUyOWlVdTZFTGZhLzFZOEcyZFpaeHJoNGJCWVpZeVJSSXplM0Qw?= =?utf-8?B?dlUydkRxT25LYW9Lb1dFUlJQaWl3PT0=?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca0b39a5-6f1f-4bfc-cc38-08d9a84b774c X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB2943.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2021 15:20:32.8720 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: a7dPtTVVyKwwjAz5OWc8Ur1liWmAAM9UZ59wC64awkm8yY0PHTmMoPXHt/iiUhyt/hopjrk2tTXktkB1hecmy+K8hdxlT53xg4nkDhXGFk8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4667 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10168 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 mlxscore=0 phishscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111150081 X-Proofpoint-GUID: scm7f8O8mgeVHpnI_JDTun5_6YKeOWrR X-Proofpoint-ORIG-GUID: scm7f8O8mgeVHpnI_JDTun5_6YKeOWrR Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On 11/12/21 06:59, Hannes Reinecke wrote: > Add helper functions to generaten Finite Field DH Ephemeral Parameters as > specified in RFC 7919. > > Signed-off-by: Hannes Reinecke > --- > crypto/Kconfig | 8 + > crypto/Makefile | 1 + > crypto/ffdhe_helper.c | 880 +++++++++++++++++++++++++++++++++++++++++ > include/crypto/ffdhe.h | 24 ++ > 4 files changed, 913 insertions(+) > create mode 100644 crypto/ffdhe_helper.c > create mode 100644 include/crypto/ffdhe.h > > diff --git a/crypto/Kconfig b/crypto/Kconfig > index 285f82647d2b..0181d2a2982c 100644 > --- a/crypto/Kconfig > +++ b/crypto/Kconfig > @@ -231,6 +231,14 @@ config CRYPTO_DH > help > Generic implementation of the Diffie-Hellman algorithm. > > +config CRYPTO_FFDHE > + tristate "Finite Field DH (RFC 7919) ephemeral parameters" > + select CRYPTO_DH > + select CRYPTO_KPP > + select CRYPTO_RNG_DEFAULT > + help > + Generic implementation of the Finite Field DH algorithm > + > config CRYPTO_ECC > tristate > select CRYPTO_RNG_DEFAULT > diff --git a/crypto/Makefile b/crypto/Makefile > index 429c4d57458c..2c4049ec12fc 100644 > --- a/crypto/Makefile > +++ b/crypto/Makefile > @@ -178,6 +178,7 @@ obj-$(CONFIG_CRYPTO_OFB) += ofb.o > obj-$(CONFIG_CRYPTO_ECC) += ecc.o > obj-$(CONFIG_CRYPTO_ESSIV) += essiv.o > obj-$(CONFIG_CRYPTO_CURVE25519) += curve25519-generic.o > +obj-$(CONFIG_CRYPTO_FFDHE) += ffdhe_helper.o > > ecdh_generic-y += ecdh.o > ecdh_generic-y += ecdh_helper.o > diff --git a/crypto/ffdhe_helper.c b/crypto/ffdhe_helper.c > new file mode 100644 > index 000000000000..d7018bc3a8ec > --- /dev/null > +++ b/crypto/ffdhe_helper.c > @@ -0,0 +1,880 @@ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > +/* > + * Finite Field DH Ephemeral Parameters > + * Values are taken from RFC 7919 Appendix A > + * > + * Copyright (c) 2021, Hannes Reinecke, SUSE Software Products > + */ > + > +#include > +#include > +#include > +#include > +#include > +#include > +/* > + * ffdhe2048 generator (g), modulus (p) and group size (q) > + */ > +const u8 ffdhe2048_g[] = { 0x02 }; > + > +const u8 ffdhe2048_p[] = { > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xad,0xf8,0x54,0x58,0xa2,0xbb,0x4a,0x9a, > + 0xaf,0xdc,0x56,0x20,0x27,0x3d,0x3c,0xf1, > + 0xd8,0xb9,0xc5,0x83,0xce,0x2d,0x36,0x95, > + 0xa9,0xe1,0x36,0x41,0x14,0x64,0x33,0xfb, > + 0xcc,0x93,0x9d,0xce,0x24,0x9b,0x3e,0xf9, > + 0x7d,0x2f,0xe3,0x63,0x63,0x0c,0x75,0xd8, > + 0xf6,0x81,0xb2,0x02,0xae,0xc4,0x61,0x7a, > + 0xd3,0xdf,0x1e,0xd5,0xd5,0xfd,0x65,0x61, > + 0x24,0x33,0xf5,0x1f,0x5f,0x06,0x6e,0xd0, > + 0x85,0x63,0x65,0x55,0x3d,0xed,0x1a,0xf3, > + 0xb5,0x57,0x13,0x5e,0x7f,0x57,0xc9,0x35, > + 0x98,0x4f,0x0c,0x70,0xe0,0xe6,0x8b,0x77, > + 0xe2,0xa6,0x89,0xda,0xf3,0xef,0xe8,0x72, > + 0x1d,0xf1,0x58,0xa1,0x36,0xad,0xe7,0x35, > + 0x30,0xac,0xca,0x4f,0x48,0x3a,0x79,0x7a, > + 0xbc,0x0a,0xb1,0x82,0xb3,0x24,0xfb,0x61, > + 0xd1,0x08,0xa9,0x4b,0xb2,0xc8,0xe3,0xfb, > + 0xb9,0x6a,0xda,0xb7,0x60,0xd7,0xf4,0x68, > + 0x1d,0x4f,0x42,0xa3,0xde,0x39,0x4d,0xf4, > + 0xae,0x56,0xed,0xe7,0x63,0x72,0xbb,0x19, > + 0x0b,0x07,0xa7,0xc8,0xee,0x0a,0x6d,0x70, > + 0x9e,0x02,0xfc,0xe1,0xcd,0xf7,0xe2,0xec, > + 0xc0,0x34,0x04,0xcd,0x28,0x34,0x2f,0x61, > + 0x91,0x72,0xfe,0x9c,0xe9,0x85,0x83,0xff, > + 0x8e,0x4f,0x12,0x32,0xee,0xf2,0x81,0x83, > + 0xc3,0xfe,0x3b,0x1b,0x4c,0x6f,0xad,0x73, > + 0x3b,0xb5,0xfc,0xbc,0x2e,0xc2,0x20,0x05, > + 0xc5,0x8e,0xf1,0x83,0x7d,0x16,0x83,0xb2, > + 0xc6,0xf3,0x4a,0x26,0xc1,0xb2,0xef,0xfa, > + 0x88,0x6b,0x42,0x38,0x61,0x28,0x5c,0x97, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +const u8 ffdhe2048_q[] = { > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xd6,0xfc,0x2a,0x2c,0x51,0x5d,0xa5,0x4d, > + 0x57,0xee,0x2b,0x10,0x13,0x9e,0x9e,0x78, > + 0xec,0x5c,0xe2,0xc1,0xe7,0x16,0x9b,0x4a, > + 0xd4,0xf0,0x9b,0x20,0x8a,0x32,0x19,0xfd, > + 0xe6,0x49,0xce,0xe7,0x12,0x4d,0x9f,0x7c, > + 0xbe,0x97,0xf1,0xb1,0xb1,0x86,0x3a,0xec, > + 0x7b,0x40,0xd9,0x01,0x57,0x62,0x30,0xbd, > + 0x69,0xef,0x8f,0x6a,0xea,0xfe,0xb2,0xb0, > + 0x92,0x19,0xfa,0x8f,0xaf,0x83,0x37,0x68, > + 0x42,0xb1,0xb2,0xaa,0x9e,0xf6,0x8d,0x79, > + 0xda,0xab,0x89,0xaf,0x3f,0xab,0xe4,0x9a, > + 0xcc,0x27,0x86,0x38,0x70,0x73,0x45,0xbb, > + 0xf1,0x53,0x44,0xed,0x79,0xf7,0xf4,0x39, > + 0x0e,0xf8,0xac,0x50,0x9b,0x56,0xf3,0x9a, > + 0x98,0x56,0x65,0x27,0xa4,0x1d,0x3c,0xbd, > + 0x5e,0x05,0x58,0xc1,0x59,0x92,0x7d,0xb0, > + 0xe8,0x84,0x54,0xa5,0xd9,0x64,0x71,0xfd, > + 0xdc,0xb5,0x6d,0x5b,0xb0,0x6b,0xfa,0x34, > + 0x0e,0xa7,0xa1,0x51,0xef,0x1c,0xa6,0xfa, > + 0x57,0x2b,0x76,0xf3,0xb1,0xb9,0x5d,0x8c, > + 0x85,0x83,0xd3,0xe4,0x77,0x05,0x36,0xb8, > + 0x4f,0x01,0x7e,0x70,0xe6,0xfb,0xf1,0x76, > + 0x60,0x1a,0x02,0x66,0x94,0x1a,0x17,0xb0, > + 0xc8,0xb9,0x7f,0x4e,0x74,0xc2,0xc1,0xff, > + 0xc7,0x27,0x89,0x19,0x77,0x79,0x40,0xc1, > + 0xe1,0xff,0x1d,0x8d,0xa6,0x37,0xd6,0xb9, > + 0x9d,0xda,0xfe,0x5e,0x17,0x61,0x10,0x02, > + 0xe2,0xc7,0x78,0xc1,0xbe,0x8b,0x41,0xd9, > + 0x63,0x79,0xa5,0x13,0x60,0xd9,0x77,0xfd, > + 0x44,0x35,0xa1,0x1c,0x30,0x94,0x2e,0x4b, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +/* > + * ffdhe3072 generator (g), modulus (p) and group size (q) > + */ > + > +const u8 ffdhe3072_g[] = { 0x02 }; > + > +const u8 ffdhe3072_p[] = { > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xad,0xf8,0x54,0x58,0xa2,0xbb,0x4a,0x9a, > + 0xaf,0xdc,0x56,0x20,0x27,0x3d,0x3c,0xf1, > + 0xd8,0xb9,0xc5,0x83,0xce,0x2d,0x36,0x95, > + 0xa9,0xe1,0x36,0x41,0x14,0x64,0x33,0xfb, > + 0xcc,0x93,0x9d,0xce,0x24,0x9b,0x3e,0xf9, > + 0x7d,0x2f,0xe3,0x63,0x63,0x0c,0x75,0xd8, > + 0xf6,0x81,0xb2,0x02,0xae,0xc4,0x61,0x7a, > + 0xd3,0xdf,0x1e,0xd5,0xd5,0xfd,0x65,0x61, > + 0x24,0x33,0xf5,0x1f,0x5f,0x06,0x6e,0xd0, > + 0x85,0x63,0x65,0x55,0x3d,0xed,0x1a,0xf3, > + 0xb5,0x57,0x13,0x5e,0x7f,0x57,0xc9,0x35, > + 0x98,0x4f,0x0c,0x70,0xe0,0xe6,0x8b,0x77, > + 0xe2,0xa6,0x89,0xda,0xf3,0xef,0xe8,0x72, > + 0x1d,0xf1,0x58,0xa1,0x36,0xad,0xe7,0x35, > + 0x30,0xac,0xca,0x4f,0x48,0x3a,0x79,0x7a, > + 0xbc,0x0a,0xb1,0x82,0xb3,0x24,0xfb,0x61, > + 0xd1,0x08,0xa9,0x4b,0xb2,0xc8,0xe3,0xfb, > + 0xb9,0x6a,0xda,0xb7,0x60,0xd7,0xf4,0x68, > + 0x1d,0x4f,0x42,0xa3,0xde,0x39,0x4d,0xf4, > + 0xae,0x56,0xed,0xe7,0x63,0x72,0xbb,0x19, > + 0x0b,0x07,0xa7,0xc8,0xee,0x0a,0x6d,0x70, > + 0x9e,0x02,0xfc,0xe1,0xcd,0xf7,0xe2,0xec, > + 0xc0,0x34,0x04,0xcd,0x28,0x34,0x2f,0x61, > + 0x91,0x72,0xfe,0x9c,0xe9,0x85,0x83,0xff, > + 0x8e,0x4f,0x12,0x32,0xee,0xf2,0x81,0x83, > + 0xc3,0xfe,0x3b,0x1b,0x4c,0x6f,0xad,0x73, > + 0x3b,0xb5,0xfc,0xbc,0x2e,0xc2,0x20,0x05, > + 0xc5,0x8e,0xf1,0x83,0x7d,0x16,0x83,0xb2, > + 0xc6,0xf3,0x4a,0x26,0xc1,0xb2,0xef,0xfa, > + 0x88,0x6b,0x42,0x38,0x61,0x1f,0xcf,0xdc, > + 0xde,0x35,0x5b,0x3b,0x65,0x19,0x03,0x5b, > + 0xbc,0x34,0xf4,0xde,0xf9,0x9c,0x02,0x38, > + 0x61,0xb4,0x6f,0xc9,0xd6,0xe6,0xc9,0x07, > + 0x7a,0xd9,0x1d,0x26,0x91,0xf7,0xf7,0xee, > + 0x59,0x8c,0xb0,0xfa,0xc1,0x86,0xd9,0x1c, > + 0xae,0xfe,0x13,0x09,0x85,0x13,0x92,0x70, > + 0xb4,0x13,0x0c,0x93,0xbc,0x43,0x79,0x44, > + 0xf4,0xfd,0x44,0x52,0xe2,0xd7,0x4d,0xd3, > + 0x64,0xf2,0xe2,0x1e,0x71,0xf5,0x4b,0xff, > + 0x5c,0xae,0x82,0xab,0x9c,0x9d,0xf6,0x9e, > + 0xe8,0x6d,0x2b,0xc5,0x22,0x36,0x3a,0x0d, > + 0xab,0xc5,0x21,0x97,0x9b,0x0d,0xea,0xda, > + 0x1d,0xbf,0x9a,0x42,0xd5,0xc4,0x48,0x4e, > + 0x0a,0xbc,0xd0,0x6b,0xfa,0x53,0xdd,0xef, > + 0x3c,0x1b,0x20,0xee,0x3f,0xd5,0x9d,0x7c, > + 0x25,0xe4,0x1d,0x2b,0x66,0xc6,0x2e,0x37, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +const u8 ffdhe3072_q[] = { > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xd6,0xfc,0x2a,0x2c,0x51,0x5d,0xa5,0x4d, > + 0x57,0xee,0x2b,0x10,0x13,0x9e,0x9e,0x78, > + 0xec,0x5c,0xe2,0xc1,0xe7,0x16,0x9b,0x4a, > + 0xd4,0xf0,0x9b,0x20,0x8a,0x32,0x19,0xfd, > + 0xe6,0x49,0xce,0xe7,0x12,0x4d,0x9f,0x7c, > + 0xbe,0x97,0xf1,0xb1,0xb1,0x86,0x3a,0xec, > + 0x7b,0x40,0xd9,0x01,0x57,0x62,0x30,0xbd, > + 0x69,0xef,0x8f,0x6a,0xea,0xfe,0xb2,0xb0, > + 0x92,0x19,0xfa,0x8f,0xaf,0x83,0x37,0x68, > + 0x42,0xb1,0xb2,0xaa,0x9e,0xf6,0x8d,0x79, > + 0xda,0xab,0x89,0xaf,0x3f,0xab,0xe4,0x9a, > + 0xcc,0x27,0x86,0x38,0x70,0x73,0x45,0xbb, > + 0xf1,0x53,0x44,0xed,0x79,0xf7,0xf4,0x39, > + 0x0e,0xf8,0xac,0x50,0x9b,0x56,0xf3,0x9a, > + 0x98,0x56,0x65,0x27,0xa4,0x1d,0x3c,0xbd, > + 0x5e,0x05,0x58,0xc1,0x59,0x92,0x7d,0xb0, > + 0xe8,0x84,0x54,0xa5,0xd9,0x64,0x71,0xfd, > + 0xdc,0xb5,0x6d,0x5b,0xb0,0x6b,0xfa,0x34, > + 0x0e,0xa7,0xa1,0x51,0xef,0x1c,0xa6,0xfa, > + 0x57,0x2b,0x76,0xf3,0xb1,0xb9,0x5d,0x8c, > + 0x85,0x83,0xd3,0xe4,0x77,0x05,0x36,0xb8, > + 0x4f,0x01,0x7e,0x70,0xe6,0xfb,0xf1,0x76, > + 0x60,0x1a,0x02,0x66,0x94,0x1a,0x17,0xb0, > + 0xc8,0xb9,0x7f,0x4e,0x74,0xc2,0xc1,0xff, > + 0xc7,0x27,0x89,0x19,0x77,0x79,0x40,0xc1, > + 0xe1,0xff,0x1d,0x8d,0xa6,0x37,0xd6,0xb9, > + 0x9d,0xda,0xfe,0x5e,0x17,0x61,0x10,0x02, > + 0xe2,0xc7,0x78,0xc1,0xbe,0x8b,0x41,0xd9, > + 0x63,0x79,0xa5,0x13,0x60,0xd9,0x77,0xfd, > + 0x44,0x35,0xa1,0x1c,0x30,0x8f,0xe7,0xee, > + 0x6f,0x1a,0xad,0x9d,0xb2,0x8c,0x81,0xad, > + 0xde,0x1a,0x7a,0x6f,0x7c,0xce,0x01,0x1c, > + 0x30,0xda,0x37,0xe4,0xeb,0x73,0x64,0x83, > + 0xbd,0x6c,0x8e,0x93,0x48,0xfb,0xfb,0xf7, > + 0x2c,0xc6,0x58,0x7d,0x60,0xc3,0x6c,0x8e, > + 0x57,0x7f,0x09,0x84,0xc2,0x89,0xc9,0x38, > + 0x5a,0x09,0x86,0x49,0xde,0x21,0xbc,0xa2, > + 0x7a,0x7e,0xa2,0x29,0x71,0x6b,0xa6,0xe9, > + 0xb2,0x79,0x71,0x0f,0x38,0xfa,0xa5,0xff, > + 0xae,0x57,0x41,0x55,0xce,0x4e,0xfb,0x4f, > + 0x74,0x36,0x95,0xe2,0x91,0x1b,0x1d,0x06, > + 0xd5,0xe2,0x90,0xcb,0xcd,0x86,0xf5,0x6d, > + 0x0e,0xdf,0xcd,0x21,0x6a,0xe2,0x24,0x27, > + 0x05,0x5e,0x68,0x35,0xfd,0x29,0xee,0xf7, > + 0x9e,0x0d,0x90,0x77,0x1f,0xea,0xce,0xbe, > + 0x12,0xf2,0x0e,0x95,0xb3,0x63,0x17,0x1b, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +/* > + * ffdhe4096 generator (g), modulus (p) and group size (q) > + */ > + > +const u8 ffdhe4096_g[] = { 0x02 }; > + > +const u8 ffdhe4096_p[] = { > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xad,0xf8,0x54,0x58,0xa2,0xbb,0x4a,0x9a, > + 0xaf,0xdc,0x56,0x20,0x27,0x3d,0x3c,0xf1, > + 0xd8,0xb9,0xc5,0x83,0xce,0x2d,0x36,0x95, > + 0xa9,0xe1,0x36,0x41,0x14,0x64,0x33,0xfb, > + 0xcc,0x93,0x9d,0xce,0x24,0x9b,0x3e,0xf9, > + 0x7d,0x2f,0xe3,0x63,0x63,0x0c,0x75,0xd8, > + 0xf6,0x81,0xb2,0x02,0xae,0xc4,0x61,0x7a, > + 0xd3,0xdf,0x1e,0xd5,0xd5,0xfd,0x65,0x61, > + 0x24,0x33,0xf5,0x1f,0x5f,0x06,0x6e,0xd0, > + 0x85,0x63,0x65,0x55,0x3d,0xed,0x1a,0xf3, > + 0xb5,0x57,0x13,0x5e,0x7f,0x57,0xc9,0x35, > + 0x98,0x4f,0x0c,0x70,0xe0,0xe6,0x8b,0x77, > + 0xe2,0xa6,0x89,0xda,0xf3,0xef,0xe8,0x72, > + 0x1d,0xf1,0x58,0xa1,0x36,0xad,0xe7,0x35, > + 0x30,0xac,0xca,0x4f,0x48,0x3a,0x79,0x7a, > + 0xbc,0x0a,0xb1,0x82,0xb3,0x24,0xfb,0x61, > + 0xd1,0x08,0xa9,0x4b,0xb2,0xc8,0xe3,0xfb, > + 0xb9,0x6a,0xda,0xb7,0x60,0xd7,0xf4,0x68, > + 0x1d,0x4f,0x42,0xa3,0xde,0x39,0x4d,0xf4, > + 0xae,0x56,0xed,0xe7,0x63,0x72,0xbb,0x19, > + 0x0b,0x07,0xa7,0xc8,0xee,0x0a,0x6d,0x70, > + 0x9e,0x02,0xfc,0xe1,0xcd,0xf7,0xe2,0xec, > + 0xc0,0x34,0x04,0xcd,0x28,0x34,0x2f,0x61, > + 0x91,0x72,0xfe,0x9c,0xe9,0x85,0x83,0xff, > + 0x8e,0x4f,0x12,0x32,0xee,0xf2,0x81,0x83, > + 0xc3,0xfe,0x3b,0x1b,0x4c,0x6f,0xad,0x73, > + 0x3b,0xb5,0xfc,0xbc,0x2e,0xc2,0x20,0x05, > + 0xc5,0x8e,0xf1,0x83,0x7d,0x16,0x83,0xb2, > + 0xc6,0xf3,0x4a,0x26,0xc1,0xb2,0xef,0xfa, > + 0x88,0x6b,0x42,0x38,0x61,0x1f,0xcf,0xdc, > + 0xde,0x35,0x5b,0x3b,0x65,0x19,0x03,0x5b, > + 0xbc,0x34,0xf4,0xde,0xf9,0x9c,0x02,0x38, > + 0x61,0xb4,0x6f,0xc9,0xd6,0xe6,0xc9,0x07, > + 0x7a,0xd9,0x1d,0x26,0x91,0xf7,0xf7,0xee, > + 0x59,0x8c,0xb0,0xfa,0xc1,0x86,0xd9,0x1c, > + 0xae,0xfe,0x13,0x09,0x85,0x13,0x92,0x70, > + 0xb4,0x13,0x0c,0x93,0xbc,0x43,0x79,0x44, > + 0xf4,0xfd,0x44,0x52,0xe2,0xd7,0x4d,0xd3, > + 0x64,0xf2,0xe2,0x1e,0x71,0xf5,0x4b,0xff, > + 0x5c,0xae,0x82,0xab,0x9c,0x9d,0xf6,0x9e, > + 0xe8,0x6d,0x2b,0xc5,0x22,0x36,0x3a,0x0d, > + 0xab,0xc5,0x21,0x97,0x9b,0x0d,0xea,0xda, > + 0x1d,0xbf,0x9a,0x42,0xd5,0xc4,0x48,0x4e, > + 0x0a,0xbc,0xd0,0x6b,0xfa,0x53,0xdd,0xef, > + 0x3c,0x1b,0x20,0xee,0x3f,0xd5,0x9d,0x7c, > + 0x25,0xe4,0x1d,0x2b,0x66,0x9e,0x1e,0xf1, > + 0x6e,0x6f,0x52,0xc3,0x16,0x4d,0xf4,0xfb, > + 0x79,0x30,0xe9,0xe4,0xe5,0x88,0x57,0xb6, > + 0xac,0x7d,0x5f,0x42,0xd6,0x9f,0x6d,0x18, > + 0x77,0x63,0xcf,0x1d,0x55,0x03,0x40,0x04, > + 0x87,0xf5,0x5b,0xa5,0x7e,0x31,0xcc,0x7a, > + 0x71,0x35,0xc8,0x86,0xef,0xb4,0x31,0x8a, > + 0xed,0x6a,0x1e,0x01,0x2d,0x9e,0x68,0x32, > + 0xa9,0x07,0x60,0x0a,0x91,0x81,0x30,0xc4, > + 0x6d,0xc7,0x78,0xf9,0x71,0xad,0x00,0x38, > + 0x09,0x29,0x99,0xa3,0x33,0xcb,0x8b,0x7a, > + 0x1a,0x1d,0xb9,0x3d,0x71,0x40,0x00,0x3c, > + 0x2a,0x4e,0xce,0xa9,0xf9,0x8d,0x0a,0xcc, > + 0x0a,0x82,0x91,0xcd,0xce,0xc9,0x7d,0xcf, > + 0x8e,0xc9,0xb5,0x5a,0x7f,0x88,0xa4,0x6b, > + 0x4d,0xb5,0xa8,0x51,0xf4,0x41,0x82,0xe1, > + 0xc6,0x8a,0x00,0x7e,0x5e,0x65,0x5f,0x6a, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +const u8 ffdhe4096_q[] = { > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xd6,0xfc,0x2a,0x2c,0x51,0x5d,0xa5,0x4d, > + 0x57,0xee,0x2b,0x10,0x13,0x9e,0x9e,0x78, > + 0xec,0x5c,0xe2,0xc1,0xe7,0x16,0x9b,0x4a, > + 0xd4,0xf0,0x9b,0x20,0x8a,0x32,0x19,0xfd, > + 0xe6,0x49,0xce,0xe7,0x12,0x4d,0x9f,0x7c, > + 0xbe,0x97,0xf1,0xb1,0xb1,0x86,0x3a,0xec, > + 0x7b,0x40,0xd9,0x01,0x57,0x62,0x30,0xbd, > + 0x69,0xef,0x8f,0x6a,0xea,0xfe,0xb2,0xb0, > + 0x92,0x19,0xfa,0x8f,0xaf,0x83,0x37,0x68, > + 0x42,0xb1,0xb2,0xaa,0x9e,0xf6,0x8d,0x79, > + 0xda,0xab,0x89,0xaf,0x3f,0xab,0xe4,0x9a, > + 0xcc,0x27,0x86,0x38,0x70,0x73,0x45,0xbb, > + 0xf1,0x53,0x44,0xed,0x79,0xf7,0xf4,0x39, > + 0x0e,0xf8,0xac,0x50,0x9b,0x56,0xf3,0x9a, > + 0x98,0x56,0x65,0x27,0xa4,0x1d,0x3c,0xbd, > + 0x5e,0x05,0x58,0xc1,0x59,0x92,0x7d,0xb0, > + 0xe8,0x84,0x54,0xa5,0xd9,0x64,0x71,0xfd, > + 0xdc,0xb5,0x6d,0x5b,0xb0,0x6b,0xfa,0x34, > + 0x0e,0xa7,0xa1,0x51,0xef,0x1c,0xa6,0xfa, > + 0x57,0x2b,0x76,0xf3,0xb1,0xb9,0x5d,0x8c, > + 0x85,0x83,0xd3,0xe4,0x77,0x05,0x36,0xb8, > + 0x4f,0x01,0x7e,0x70,0xe6,0xfb,0xf1,0x76, > + 0x60,0x1a,0x02,0x66,0x94,0x1a,0x17,0xb0, > + 0xc8,0xb9,0x7f,0x4e,0x74,0xc2,0xc1,0xff, > + 0xc7,0x27,0x89,0x19,0x77,0x79,0x40,0xc1, > + 0xe1,0xff,0x1d,0x8d,0xa6,0x37,0xd6,0xb9, > + 0x9d,0xda,0xfe,0x5e,0x17,0x61,0x10,0x02, > + 0xe2,0xc7,0x78,0xc1,0xbe,0x8b,0x41,0xd9, > + 0x63,0x79,0xa5,0x13,0x60,0xd9,0x77,0xfd, > + 0x44,0x35,0xa1,0x1c,0x30,0x8f,0xe7,0xee, > + 0x6f,0x1a,0xad,0x9d,0xb2,0x8c,0x81,0xad, > + 0xde,0x1a,0x7a,0x6f,0x7c,0xce,0x01,0x1c, > + 0x30,0xda,0x37,0xe4,0xeb,0x73,0x64,0x83, > + 0xbd,0x6c,0x8e,0x93,0x48,0xfb,0xfb,0xf7, > + 0x2c,0xc6,0x58,0x7d,0x60,0xc3,0x6c,0x8e, > + 0x57,0x7f,0x09,0x84,0xc2,0x89,0xc9,0x38, > + 0x5a,0x09,0x86,0x49,0xde,0x21,0xbc,0xa2, > + 0x7a,0x7e,0xa2,0x29,0x71,0x6b,0xa6,0xe9, > + 0xb2,0x79,0x71,0x0f,0x38,0xfa,0xa5,0xff, > + 0xae,0x57,0x41,0x55,0xce,0x4e,0xfb,0x4f, > + 0x74,0x36,0x95,0xe2,0x91,0x1b,0x1d,0x06, > + 0xd5,0xe2,0x90,0xcb,0xcd,0x86,0xf5,0x6d, > + 0x0e,0xdf,0xcd,0x21,0x6a,0xe2,0x24,0x27, > + 0x05,0x5e,0x68,0x35,0xfd,0x29,0xee,0xf7, > + 0x9e,0x0d,0x90,0x77,0x1f,0xea,0xce,0xbe, > + 0x12,0xf2,0x0e,0x95,0xb3,0x4f,0x0f,0x78, > + 0xb7,0x37,0xa9,0x61,0x8b,0x26,0xfa,0x7d, > + 0xbc,0x98,0x74,0xf2,0x72,0xc4,0x2b,0xdb, > + 0x56,0x3e,0xaf,0xa1,0x6b,0x4f,0xb6,0x8c, > + 0x3b,0xb1,0xe7,0x8e,0xaa,0x81,0xa0,0x02, > + 0x43,0xfa,0xad,0xd2,0xbf,0x18,0xe6,0x3d, > + 0x38,0x9a,0xe4,0x43,0x77,0xda,0x18,0xc5, > + 0x76,0xb5,0x0f,0x00,0x96,0xcf,0x34,0x19, > + 0x54,0x83,0xb0,0x05,0x48,0xc0,0x98,0x62, > + 0x36,0xe3,0xbc,0x7c,0xb8,0xd6,0x80,0x1c, > + 0x04,0x94,0xcc,0xd1,0x99,0xe5,0xc5,0xbd, > + 0x0d,0x0e,0xdc,0x9e,0xb8,0xa0,0x00,0x1e, > + 0x15,0x27,0x67,0x54,0xfc,0xc6,0x85,0x66, > + 0x05,0x41,0x48,0xe6,0xe7,0x64,0xbe,0xe7, > + 0xc7,0x64,0xda,0xad,0x3f,0xc4,0x52,0x35, > + 0xa6,0xda,0xd4,0x28,0xfa,0x20,0xc1,0x70, > + 0xe3,0x45,0x00,0x3f,0x2f,0x32,0xaf,0xb5, > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +/* > + * ffdhe6144 generator (g), modulus (p) and group size (q) > + */ > + > +const u8 ffdhe6144_g[] = { 0x02 }; > + > +const u8 ffdhe6144_p[] = { > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xad,0xf8,0x54,0x58,0xa2,0xbb,0x4a,0x9a, > + 0xaf,0xdc,0x56,0x20,0x27,0x3d,0x3c,0xf1, > + 0xd8,0xb9,0xc5,0x83,0xce,0x2d,0x36,0x95, > + 0xa9,0xe1,0x36,0x41,0x14,0x64,0x33,0xfb, > + 0xcc,0x93,0x9d,0xce,0x24,0x9b,0x3e,0xf9, > + 0x7d,0x2f,0xe3,0x63,0x63,0x0c,0x75,0xd8, > + 0xf6,0x81,0xb2,0x02,0xae,0xc4,0x61,0x7a, > + 0xd3,0xdf,0x1e,0xd5,0xd5,0xfd,0x65,0x61, > + 0x24,0x33,0xf5,0x1f,0x5f,0x06,0x6e,0xd0, > + 0x85,0x63,0x65,0x55,0x3d,0xed,0x1a,0xf3, > + 0xb5,0x57,0x13,0x5e,0x7f,0x57,0xc9,0x35, > + 0x98,0x4f,0x0c,0x70,0xe0,0xe6,0x8b,0x77, > + 0xe2,0xa6,0x89,0xda,0xf3,0xef,0xe8,0x72, > + 0x1d,0xf1,0x58,0xa1,0x36,0xad,0xe7,0x35, > + 0x30,0xac,0xca,0x4f,0x48,0x3a,0x79,0x7a, > + 0xbc,0x0a,0xb1,0x82,0xb3,0x24,0xfb,0x61, > + 0xd1,0x08,0xa9,0x4b,0xb2,0xc8,0xe3,0xfb, > + 0xb9,0x6a,0xda,0xb7,0x60,0xd7,0xf4,0x68, > + 0x1d,0x4f,0x42,0xa3,0xde,0x39,0x4d,0xf4, > + 0xae,0x56,0xed,0xe7,0x63,0x72,0xbb,0x19, > + 0x0b,0x07,0xa7,0xc8,0xee,0x0a,0x6d,0x70, > + 0x9e,0x02,0xfc,0xe1,0xcd,0xf7,0xe2,0xec, > + 0xc0,0x34,0x04,0xcd,0x28,0x34,0x2f,0x61, > + 0x91,0x72,0xfe,0x9c,0xe9,0x85,0x83,0xff, > + 0x8e,0x4f,0x12,0x32,0xee,0xf2,0x81,0x83, > + 0xc3,0xfe,0x3b,0x1b,0x4c,0x6f,0xad,0x73, > + 0x3b,0xb5,0xfc,0xbc,0x2e,0xc2,0x20,0x05, > + 0xc5,0x8e,0xf1,0x83,0x7d,0x16,0x83,0xb2, > + 0xc6,0xf3,0x4a,0x26,0xc1,0xb2,0xef,0xfa, > + 0x88,0x6b,0x42,0x38,0x61,0x1f,0xcf,0xdc, > + 0xde,0x35,0x5b,0x3b,0x65,0x19,0x03,0x5b, > + 0xbc,0x34,0xf4,0xde,0xf9,0x9c,0x02,0x38, > + 0x61,0xb4,0x6f,0xc9,0xd6,0xe6,0xc9,0x07, > + 0x7a,0xd9,0x1d,0x26,0x91,0xf7,0xf7,0xee, > + 0x59,0x8c,0xb0,0xfa,0xc1,0x86,0xd9,0x1c, > + 0xae,0xfe,0x13,0x09,0x85,0x13,0x92,0x70, > + 0xb4,0x13,0x0c,0x93,0xbc,0x43,0x79,0x44, > + 0xf4,0xfd,0x44,0x52,0xe2,0xd7,0x4d,0xd3, > + 0x64,0xf2,0xe2,0x1e,0x71,0xf5,0x4b,0xff, > + 0x5c,0xae,0x82,0xab,0x9c,0x9d,0xf6,0x9e, > + 0xe8,0x6d,0x2b,0xc5,0x22,0x36,0x3a,0x0d, > + 0xab,0xc5,0x21,0x97,0x9b,0x0d,0xea,0xda, > + 0x1d,0xbf,0x9a,0x42,0xd5,0xc4,0x48,0x4e, > + 0x0a,0xbc,0xd0,0x6b,0xfa,0x53,0xdd,0xef, > + 0x3c,0x1b,0x20,0xee,0x3f,0xd5,0x9d,0x7c, > + 0x25,0xe4,0x1d,0x2b,0x66,0x9e,0x1e,0xf1, > + 0x6e,0x6f,0x52,0xc3,0x16,0x4d,0xf4,0xfb, > + 0x79,0x30,0xe9,0xe4,0xe5,0x88,0x57,0xb6, > + 0xac,0x7d,0x5f,0x42,0xd6,0x9f,0x6d,0x18, > + 0x77,0x63,0xcf,0x1d,0x55,0x03,0x40,0x04, > + 0x87,0xf5,0x5b,0xa5,0x7e,0x31,0xcc,0x7a, > + 0x71,0x35,0xc8,0x86,0xef,0xb4,0x31,0x8a, > + 0xed,0x6a,0x1e,0x01,0x2d,0x9e,0x68,0x32, > + 0xa9,0x07,0x60,0x0a,0x91,0x81,0x30,0xc4, > + 0x6d,0xc7,0x78,0xf9,0x71,0xad,0x00,0x38, > + 0x09,0x29,0x99,0xa3,0x33,0xcb,0x8b,0x7a, > + 0x1a,0x1d,0xb9,0x3d,0x71,0x40,0x00,0x3c, > + 0x2a,0x4e,0xce,0xa9,0xf9,0x8d,0x0a,0xcc, > + 0x0a,0x82,0x91,0xcd,0xce,0xc9,0x7d,0xcf, > + 0x8e,0xc9,0xb5,0x5a,0x7f,0x88,0xa4,0x6b, > + 0x4d,0xb5,0xa8,0x51,0xf4,0x41,0x82,0xe1, > + 0xc6,0x8a,0x00,0x7e,0x5e,0x0d,0xd9,0x02, > + 0x0b,0xfd,0x64,0xb6,0x45,0x03,0x6c,0x7a, > + 0x4e,0x67,0x7d,0x2c,0x38,0x53,0x2a,0x3a, > + 0x23,0xba,0x44,0x42,0xca,0xf5,0x3e,0xa6, > + 0x3b,0xb4,0x54,0x32,0x9b,0x76,0x24,0xc8, > + 0x91,0x7b,0xdd,0x64,0xb1,0xc0,0xfd,0x4c, > + 0xb3,0x8e,0x8c,0x33,0x4c,0x70,0x1c,0x3a, > + 0xcd,0xad,0x06,0x57,0xfc,0xcf,0xec,0x71, > + 0x9b,0x1f,0x5c,0x3e,0x4e,0x46,0x04,0x1f, > + 0x38,0x81,0x47,0xfb,0x4c,0xfd,0xb4,0x77, > + 0xa5,0x24,0x71,0xf7,0xa9,0xa9,0x69,0x10, > + 0xb8,0x55,0x32,0x2e,0xdb,0x63,0x40,0xd8, > + 0xa0,0x0e,0xf0,0x92,0x35,0x05,0x11,0xe3, > + 0x0a,0xbe,0xc1,0xff,0xf9,0xe3,0xa2,0x6e, > + 0x7f,0xb2,0x9f,0x8c,0x18,0x30,0x23,0xc3, > + 0x58,0x7e,0x38,0xda,0x00,0x77,0xd9,0xb4, > + 0x76,0x3e,0x4e,0x4b,0x94,0xb2,0xbb,0xc1, > + 0x94,0xc6,0x65,0x1e,0x77,0xca,0xf9,0x92, > + 0xee,0xaa,0xc0,0x23,0x2a,0x28,0x1b,0xf6, > + 0xb3,0xa7,0x39,0xc1,0x22,0x61,0x16,0x82, > + 0x0a,0xe8,0xdb,0x58,0x47,0xa6,0x7c,0xbe, > + 0xf9,0xc9,0x09,0x1b,0x46,0x2d,0x53,0x8c, > + 0xd7,0x2b,0x03,0x74,0x6a,0xe7,0x7f,0x5e, > + 0x62,0x29,0x2c,0x31,0x15,0x62,0xa8,0x46, > + 0x50,0x5d,0xc8,0x2d,0xb8,0x54,0x33,0x8a, > + 0xe4,0x9f,0x52,0x35,0xc9,0x5b,0x91,0x17, > + 0x8c,0xcf,0x2d,0xd5,0xca,0xce,0xf4,0x03, > + 0xec,0x9d,0x18,0x10,0xc6,0x27,0x2b,0x04, > + 0x5b,0x3b,0x71,0xf9,0xdc,0x6b,0x80,0xd6, > + 0x3f,0xdd,0x4a,0x8e,0x9a,0xdb,0x1e,0x69, > + 0x62,0xa6,0x95,0x26,0xd4,0x31,0x61,0xc1, > + 0xa4,0x1d,0x57,0x0d,0x79,0x38,0xda,0xd4, > + 0xa4,0x0e,0x32,0x9c,0xd0,0xe4,0x0e,0x65, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +const u8 ffdhe6144_q[] = { > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xd6,0xfc,0x2a,0x2c,0x51,0x5d,0xa5,0x4d, > + 0x57,0xee,0x2b,0x10,0x13,0x9e,0x9e,0x78, > + 0xec,0x5c,0xe2,0xc1,0xe7,0x16,0x9b,0x4a, > + 0xd4,0xf0,0x9b,0x20,0x8a,0x32,0x19,0xfd, > + 0xe6,0x49,0xce,0xe7,0x12,0x4d,0x9f,0x7c, > + 0xbe,0x97,0xf1,0xb1,0xb1,0x86,0x3a,0xec, > + 0x7b,0x40,0xd9,0x01,0x57,0x62,0x30,0xbd, > + 0x69,0xef,0x8f,0x6a,0xea,0xfe,0xb2,0xb0, > + 0x92,0x19,0xfa,0x8f,0xaf,0x83,0x37,0x68, > + 0x42,0xb1,0xb2,0xaa,0x9e,0xf6,0x8d,0x79, > + 0xda,0xab,0x89,0xaf,0x3f,0xab,0xe4,0x9a, > + 0xcc,0x27,0x86,0x38,0x70,0x73,0x45,0xbb, > + 0xf1,0x53,0x44,0xed,0x79,0xf7,0xf4,0x39, > + 0x0e,0xf8,0xac,0x50,0x9b,0x56,0xf3,0x9a, > + 0x98,0x56,0x65,0x27,0xa4,0x1d,0x3c,0xbd, > + 0x5e,0x05,0x58,0xc1,0x59,0x92,0x7d,0xb0, > + 0xe8,0x84,0x54,0xa5,0xd9,0x64,0x71,0xfd, > + 0xdc,0xb5,0x6d,0x5b,0xb0,0x6b,0xfa,0x34, > + 0x0e,0xa7,0xa1,0x51,0xef,0x1c,0xa6,0xfa, > + 0x57,0x2b,0x76,0xf3,0xb1,0xb9,0x5d,0x8c, > + 0x85,0x83,0xd3,0xe4,0x77,0x05,0x36,0xb8, > + 0x4f,0x01,0x7e,0x70,0xe6,0xfb,0xf1,0x76, > + 0x60,0x1a,0x02,0x66,0x94,0x1a,0x17,0xb0, > + 0xc8,0xb9,0x7f,0x4e,0x74,0xc2,0xc1,0xff, > + 0xc7,0x27,0x89,0x19,0x77,0x79,0x40,0xc1, > + 0xe1,0xff,0x1d,0x8d,0xa6,0x37,0xd6,0xb9, > + 0x9d,0xda,0xfe,0x5e,0x17,0x61,0x10,0x02, > + 0xe2,0xc7,0x78,0xc1,0xbe,0x8b,0x41,0xd9, > + 0x63,0x79,0xa5,0x13,0x60,0xd9,0x77,0xfd, > + 0x44,0x35,0xa1,0x1c,0x30,0x8f,0xe7,0xee, > + 0x6f,0x1a,0xad,0x9d,0xb2,0x8c,0x81,0xad, > + 0xde,0x1a,0x7a,0x6f,0x7c,0xce,0x01,0x1c, > + 0x30,0xda,0x37,0xe4,0xeb,0x73,0x64,0x83, > + 0xbd,0x6c,0x8e,0x93,0x48,0xfb,0xfb,0xf7, > + 0x2c,0xc6,0x58,0x7d,0x60,0xc3,0x6c,0x8e, > + 0x57,0x7f,0x09,0x84,0xc2,0x89,0xc9,0x38, > + 0x5a,0x09,0x86,0x49,0xde,0x21,0xbc,0xa2, > + 0x7a,0x7e,0xa2,0x29,0x71,0x6b,0xa6,0xe9, > + 0xb2,0x79,0x71,0x0f,0x38,0xfa,0xa5,0xff, > + 0xae,0x57,0x41,0x55,0xce,0x4e,0xfb,0x4f, > + 0x74,0x36,0x95,0xe2,0x91,0x1b,0x1d,0x06, > + 0xd5,0xe2,0x90,0xcb,0xcd,0x86,0xf5,0x6d, > + 0x0e,0xdf,0xcd,0x21,0x6a,0xe2,0x24,0x27, > + 0x05,0x5e,0x68,0x35,0xfd,0x29,0xee,0xf7, > + 0x9e,0x0d,0x90,0x77,0x1f,0xea,0xce,0xbe, > + 0x12,0xf2,0x0e,0x95,0xb3,0x4f,0x0f,0x78, > + 0xb7,0x37,0xa9,0x61,0x8b,0x26,0xfa,0x7d, > + 0xbc,0x98,0x74,0xf2,0x72,0xc4,0x2b,0xdb, > + 0x56,0x3e,0xaf,0xa1,0x6b,0x4f,0xb6,0x8c, > + 0x3b,0xb1,0xe7,0x8e,0xaa,0x81,0xa0,0x02, > + 0x43,0xfa,0xad,0xd2,0xbf,0x18,0xe6,0x3d, > + 0x38,0x9a,0xe4,0x43,0x77,0xda,0x18,0xc5, > + 0x76,0xb5,0x0f,0x00,0x96,0xcf,0x34,0x19, > + 0x54,0x83,0xb0,0x05,0x48,0xc0,0x98,0x62, > + 0x36,0xe3,0xbc,0x7c,0xb8,0xd6,0x80,0x1c, > + 0x04,0x94,0xcc,0xd1,0x99,0xe5,0xc5,0xbd, > + 0x0d,0x0e,0xdc,0x9e,0xb8,0xa0,0x00,0x1e, > + 0x15,0x27,0x67,0x54,0xfc,0xc6,0x85,0x66, > + 0x05,0x41,0x48,0xe6,0xe7,0x64,0xbe,0xe7, > + 0xc7,0x64,0xda,0xad,0x3f,0xc4,0x52,0x35, > + 0xa6,0xda,0xd4,0x28,0xfa,0x20,0xc1,0x70, > + 0xe3,0x45,0x00,0x3f,0x2f,0x06,0xec,0x81, > + 0x05,0xfe,0xb2,0x5b,0x22,0x81,0xb6,0x3d, > + 0x27,0x33,0xbe,0x96,0x1c,0x29,0x95,0x1d, > + 0x11,0xdd,0x22,0x21,0x65,0x7a,0x9f,0x53, > + 0x1d,0xda,0x2a,0x19,0x4d,0xbb,0x12,0x64, > + 0x48,0xbd,0xee,0xb2,0x58,0xe0,0x7e,0xa6, > + 0x59,0xc7,0x46,0x19,0xa6,0x38,0x0e,0x1d, > + 0x66,0xd6,0x83,0x2b,0xfe,0x67,0xf6,0x38, > + 0xcd,0x8f,0xae,0x1f,0x27,0x23,0x02,0x0f, > + 0x9c,0x40,0xa3,0xfd,0xa6,0x7e,0xda,0x3b, > + 0xd2,0x92,0x38,0xfb,0xd4,0xd4,0xb4,0x88, > + 0x5c,0x2a,0x99,0x17,0x6d,0xb1,0xa0,0x6c, > + 0x50,0x07,0x78,0x49,0x1a,0x82,0x88,0xf1, > + 0x85,0x5f,0x60,0xff,0xfc,0xf1,0xd1,0x37, > + 0x3f,0xd9,0x4f,0xc6,0x0c,0x18,0x11,0xe1, > + 0xac,0x3f,0x1c,0x6d,0x00,0x3b,0xec,0xda, > + 0x3b,0x1f,0x27,0x25,0xca,0x59,0x5d,0xe0, > + 0xca,0x63,0x32,0x8f,0x3b,0xe5,0x7c,0xc9, > + 0x77,0x55,0x60,0x11,0x95,0x14,0x0d,0xfb, > + 0x59,0xd3,0x9c,0xe0,0x91,0x30,0x8b,0x41, > + 0x05,0x74,0x6d,0xac,0x23,0xd3,0x3e,0x5f, > + 0x7c,0xe4,0x84,0x8d,0xa3,0x16,0xa9,0xc6, > + 0x6b,0x95,0x81,0xba,0x35,0x73,0xbf,0xaf, > + 0x31,0x14,0x96,0x18,0x8a,0xb1,0x54,0x23, > + 0x28,0x2e,0xe4,0x16,0xdc,0x2a,0x19,0xc5, > + 0x72,0x4f,0xa9,0x1a,0xe4,0xad,0xc8,0x8b, > + 0xc6,0x67,0x96,0xea,0xe5,0x67,0x7a,0x01, > + 0xf6,0x4e,0x8c,0x08,0x63,0x13,0x95,0x82, > + 0x2d,0x9d,0xb8,0xfc,0xee,0x35,0xc0,0x6b, > + 0x1f,0xee,0xa5,0x47,0x4d,0x6d,0x8f,0x34, > + 0xb1,0x53,0x4a,0x93,0x6a,0x18,0xb0,0xe0, > + 0xd2,0x0e,0xab,0x86,0xbc,0x9c,0x6d,0x6a, > + 0x52,0x07,0x19,0x4e,0x68,0x72,0x07,0x32, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +/* > + * ffdhe8192 generator (g), modulus (p) and group size (q) > + */ > + > +const u8 ffdhe8192_g[] = { 0x02 }; > + > +const u8 ffdhe8192_p[] = { > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xad,0xf8,0x54,0x58,0xa2,0xbb,0x4a,0x9a, > + 0xaf,0xdc,0x56,0x20,0x27,0x3d,0x3c,0xf1, > + 0xd8,0xb9,0xc5,0x83,0xce,0x2d,0x36,0x95, > + 0xa9,0xe1,0x36,0x41,0x14,0x64,0x33,0xfb, > + 0xcc,0x93,0x9d,0xce,0x24,0x9b,0x3e,0xf9, > + 0x7d,0x2f,0xe3,0x63,0x63,0x0c,0x75,0xd8, > + 0xf6,0x81,0xb2,0x02,0xae,0xc4,0x61,0x7a, > + 0xd3,0xdf,0x1e,0xd5,0xd5,0xfd,0x65,0x61, > + 0x24,0x33,0xf5,0x1f,0x5f,0x06,0x6e,0xd0, > + 0x85,0x63,0x65,0x55,0x3d,0xed,0x1a,0xf3, > + 0xb5,0x57,0x13,0x5e,0x7f,0x57,0xc9,0x35, > + 0x98,0x4f,0x0c,0x70,0xe0,0xe6,0x8b,0x77, > + 0xe2,0xa6,0x89,0xda,0xf3,0xef,0xe8,0x72, > + 0x1d,0xf1,0x58,0xa1,0x36,0xad,0xe7,0x35, > + 0x30,0xac,0xca,0x4f,0x48,0x3a,0x79,0x7a, > + 0xbc,0x0a,0xb1,0x82,0xb3,0x24,0xfb,0x61, > + 0xd1,0x08,0xa9,0x4b,0xb2,0xc8,0xe3,0xfb, > + 0xb9,0x6a,0xda,0xb7,0x60,0xd7,0xf4,0x68, > + 0x1d,0x4f,0x42,0xa3,0xde,0x39,0x4d,0xf4, > + 0xae,0x56,0xed,0xe7,0x63,0x72,0xbb,0x19, > + 0x0b,0x07,0xa7,0xc8,0xee,0x0a,0x6d,0x70, > + 0x9e,0x02,0xfc,0xe1,0xcd,0xf7,0xe2,0xec, > + 0xc0,0x34,0x04,0xcd,0x28,0x34,0x2f,0x61, > + 0x91,0x72,0xfe,0x9c,0xe9,0x85,0x83,0xff, > + 0x8e,0x4f,0x12,0x32,0xee,0xf2,0x81,0x83, > + 0xc3,0xfe,0x3b,0x1b,0x4c,0x6f,0xad,0x73, > + 0x3b,0xb5,0xfc,0xbc,0x2e,0xc2,0x20,0x05, > + 0xc5,0x8e,0xf1,0x83,0x7d,0x16,0x83,0xb2, > + 0xc6,0xf3,0x4a,0x26,0xc1,0xb2,0xef,0xfa, > + 0x88,0x6b,0x42,0x38,0x61,0x1f,0xcf,0xdc, > + 0xde,0x35,0x5b,0x3b,0x65,0x19,0x03,0x5b, > + 0xbc,0x34,0xf4,0xde,0xf9,0x9c,0x02,0x38, > + 0x61,0xb4,0x6f,0xc9,0xd6,0xe6,0xc9,0x07, > + 0x7a,0xd9,0x1d,0x26,0x91,0xf7,0xf7,0xee, > + 0x59,0x8c,0xb0,0xfa,0xc1,0x86,0xd9,0x1c, > + 0xae,0xfe,0x13,0x09,0x85,0x13,0x92,0x70, > + 0xb4,0x13,0x0c,0x93,0xbc,0x43,0x79,0x44, > + 0xf4,0xfd,0x44,0x52,0xe2,0xd7,0x4d,0xd3, > + 0x64,0xf2,0xe2,0x1e,0x71,0xf5,0x4b,0xff, > + 0x5c,0xae,0x82,0xab,0x9c,0x9d,0xf6,0x9e, > + 0xe8,0x6d,0x2b,0xc5,0x22,0x36,0x3a,0x0d, > + 0xab,0xc5,0x21,0x97,0x9b,0x0d,0xea,0xda, > + 0x1d,0xbf,0x9a,0x42,0xd5,0xc4,0x48,0x4e, > + 0x0a,0xbc,0xd0,0x6b,0xfa,0x53,0xdd,0xef, > + 0x3c,0x1b,0x20,0xee,0x3f,0xd5,0x9d,0x7c, > + 0x25,0xe4,0x1d,0x2b,0x66,0x9e,0x1e,0xf1, > + 0x6e,0x6f,0x52,0xc3,0x16,0x4d,0xf4,0xfb, > + 0x79,0x30,0xe9,0xe4,0xe5,0x88,0x57,0xb6, > + 0xac,0x7d,0x5f,0x42,0xd6,0x9f,0x6d,0x18, > + 0x77,0x63,0xcf,0x1d,0x55,0x03,0x40,0x04, > + 0x87,0xf5,0x5b,0xa5,0x7e,0x31,0xcc,0x7a, > + 0x71,0x35,0xc8,0x86,0xef,0xb4,0x31,0x8a, > + 0xed,0x6a,0x1e,0x01,0x2d,0x9e,0x68,0x32, > + 0xa9,0x07,0x60,0x0a,0x91,0x81,0x30,0xc4, > + 0x6d,0xc7,0x78,0xf9,0x71,0xad,0x00,0x38, > + 0x09,0x29,0x99,0xa3,0x33,0xcb,0x8b,0x7a, > + 0x1a,0x1d,0xb9,0x3d,0x71,0x40,0x00,0x3c, > + 0x2a,0x4e,0xce,0xa9,0xf9,0x8d,0x0a,0xcc, > + 0x0a,0x82,0x91,0xcd,0xce,0xc9,0x7d,0xcf, > + 0x8e,0xc9,0xb5,0x5a,0x7f,0x88,0xa4,0x6b, > + 0x4d,0xb5,0xa8,0x51,0xf4,0x41,0x82,0xe1, > + 0xc6,0x8a,0x00,0x7e,0x5e,0x0d,0xd9,0x02, > + 0x0b,0xfd,0x64,0xb6,0x45,0x03,0x6c,0x7a, > + 0x4e,0x67,0x7d,0x2c,0x38,0x53,0x2a,0x3a, > + 0x23,0xba,0x44,0x42,0xca,0xf5,0x3e,0xa6, > + 0x3b,0xb4,0x54,0x32,0x9b,0x76,0x24,0xc8, > + 0x91,0x7b,0xdd,0x64,0xb1,0xc0,0xfd,0x4c, > + 0xb3,0x8e,0x8c,0x33,0x4c,0x70,0x1c,0x3a, > + 0xcd,0xad,0x06,0x57,0xfc,0xcf,0xec,0x71, > + 0x9b,0x1f,0x5c,0x3e,0x4e,0x46,0x04,0x1f, > + 0x38,0x81,0x47,0xfb,0x4c,0xfd,0xb4,0x77, > + 0xa5,0x24,0x71,0xf7,0xa9,0xa9,0x69,0x10, > + 0xb8,0x55,0x32,0x2e,0xdb,0x63,0x40,0xd8, > + 0xa0,0x0e,0xf0,0x92,0x35,0x05,0x11,0xe3, > + 0x0a,0xbe,0xc1,0xff,0xf9,0xe3,0xa2,0x6e, > + 0x7f,0xb2,0x9f,0x8c,0x18,0x30,0x23,0xc3, > + 0x58,0x7e,0x38,0xda,0x00,0x77,0xd9,0xb4, > + 0x76,0x3e,0x4e,0x4b,0x94,0xb2,0xbb,0xc1, > + 0x94,0xc6,0x65,0x1e,0x77,0xca,0xf9,0x92, > + 0xee,0xaa,0xc0,0x23,0x2a,0x28,0x1b,0xf6, > + 0xb3,0xa7,0x39,0xc1,0x22,0x61,0x16,0x82, > + 0x0a,0xe8,0xdb,0x58,0x47,0xa6,0x7c,0xbe, > + 0xf9,0xc9,0x09,0x1b,0x46,0x2d,0x53,0x8c, > + 0xd7,0x2b,0x03,0x74,0x6a,0xe7,0x7f,0x5e, > + 0x62,0x29,0x2c,0x31,0x15,0x62,0xa8,0x46, > + 0x50,0x5d,0xc8,0x2d,0xb8,0x54,0x33,0x8a, > + 0xe4,0x9f,0x52,0x35,0xc9,0x5b,0x91,0x17, > + 0x8c,0xcf,0x2d,0xd5,0xca,0xce,0xf4,0x03, > + 0xec,0x9d,0x18,0x10,0xc6,0x27,0x2b,0x04, > + 0x5b,0x3b,0x71,0xf9,0xdc,0x6b,0x80,0xd6, > + 0x3f,0xdd,0x4a,0x8e,0x9a,0xdb,0x1e,0x69, > + 0x62,0xa6,0x95,0x26,0xd4,0x31,0x61,0xc1, > + 0xa4,0x1d,0x57,0x0d,0x79,0x38,0xda,0xd4, > + 0xa4,0x0e,0x32,0x9c,0xcf,0xf4,0x6a,0xaa, > + 0x36,0xad,0x00,0x4c,0xf6,0x00,0xc8,0x38, > + 0x1e,0x42,0x5a,0x31,0xd9,0x51,0xae,0x64, > + 0xfd,0xb2,0x3f,0xce,0xc9,0x50,0x9d,0x43, > + 0x68,0x7f,0xeb,0x69,0xed,0xd1,0xcc,0x5e, > + 0x0b,0x8c,0xc3,0xbd,0xf6,0x4b,0x10,0xef, > + 0x86,0xb6,0x31,0x42,0xa3,0xab,0x88,0x29, > + 0x55,0x5b,0x2f,0x74,0x7c,0x93,0x26,0x65, > + 0xcb,0x2c,0x0f,0x1c,0xc0,0x1b,0xd7,0x02, > + 0x29,0x38,0x88,0x39,0xd2,0xaf,0x05,0xe4, > + 0x54,0x50,0x4a,0xc7,0x8b,0x75,0x82,0x82, > + 0x28,0x46,0xc0,0xba,0x35,0xc3,0x5f,0x5c, > + 0x59,0x16,0x0c,0xc0,0x46,0xfd,0x82,0x51, > + 0x54,0x1f,0xc6,0x8c,0x9c,0x86,0xb0,0x22, > + 0xbb,0x70,0x99,0x87,0x6a,0x46,0x0e,0x74, > + 0x51,0xa8,0xa9,0x31,0x09,0x70,0x3f,0xee, > + 0x1c,0x21,0x7e,0x6c,0x38,0x26,0xe5,0x2c, > + 0x51,0xaa,0x69,0x1e,0x0e,0x42,0x3c,0xfc, > + 0x99,0xe9,0xe3,0x16,0x50,0xc1,0x21,0x7b, > + 0x62,0x48,0x16,0xcd,0xad,0x9a,0x95,0xf9, > + 0xd5,0xb8,0x01,0x94,0x88,0xd9,0xc0,0xa0, > + 0xa1,0xfe,0x30,0x75,0xa5,0x77,0xe2,0x31, > + 0x83,0xf8,0x1d,0x4a,0x3f,0x2f,0xa4,0x57, > + 0x1e,0xfc,0x8c,0xe0,0xba,0x8a,0x4f,0xe8, > + 0xb6,0x85,0x5d,0xfe,0x72,0xb0,0xa6,0x6e, > + 0xde,0xd2,0xfb,0xab,0xfb,0xe5,0x8a,0x30, > + 0xfa,0xfa,0xbe,0x1c,0x5d,0x71,0xa8,0x7e, > + 0x2f,0x74,0x1e,0xf8,0xc1,0xfe,0x86,0xfe, > + 0xa6,0xbb,0xfd,0xe5,0x30,0x67,0x7f,0x0d, > + 0x97,0xd1,0x1d,0x49,0xf7,0xa8,0x44,0x3d, > + 0x08,0x22,0xe5,0x06,0xa9,0xf4,0x61,0x4e, > + 0x01,0x1e,0x2a,0x94,0x83,0x8f,0xf8,0x8c, > + 0xd6,0x8c,0x8b,0xb7,0xc5,0xc6,0x42,0x4c, > + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +const u8 ffdhe8192_q[] = { > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > + 0xd6,0xfc,0x2a,0x2c,0x51,0x5d,0xa5,0x4d, > + 0x57,0xee,0x2b,0x10,0x13,0x9e,0x9e,0x78, > + 0xec,0x5c,0xe2,0xc1,0xe7,0x16,0x9b,0x4a, > + 0xd4,0xf0,0x9b,0x20,0x8a,0x32,0x19,0xfd, > + 0xe6,0x49,0xce,0xe7,0x12,0x4d,0x9f,0x7c, > + 0xbe,0x97,0xf1,0xb1,0xb1,0x86,0x3a,0xec, > + 0x7b,0x40,0xd9,0x01,0x57,0x62,0x30,0xbd, > + 0x69,0xef,0x8f,0x6a,0xea,0xfe,0xb2,0xb0, > + 0x92,0x19,0xfa,0x8f,0xaf,0x83,0x37,0x68, > + 0x42,0xb1,0xb2,0xaa,0x9e,0xf6,0x8d,0x79, > + 0xda,0xab,0x89,0xaf,0x3f,0xab,0xe4,0x9a, > + 0xcc,0x27,0x86,0x38,0x70,0x73,0x45,0xbb, > + 0xf1,0x53,0x44,0xed,0x79,0xf7,0xf4,0x39, > + 0x0e,0xf8,0xac,0x50,0x9b,0x56,0xf3,0x9a, > + 0x98,0x56,0x65,0x27,0xa4,0x1d,0x3c,0xbd, > + 0x5e,0x05,0x58,0xc1,0x59,0x92,0x7d,0xb0, > + 0xe8,0x84,0x54,0xa5,0xd9,0x64,0x71,0xfd, > + 0xdc,0xb5,0x6d,0x5b,0xb0,0x6b,0xfa,0x34, > + 0x0e,0xa7,0xa1,0x51,0xef,0x1c,0xa6,0xfa, > + 0x57,0x2b,0x76,0xf3,0xb1,0xb9,0x5d,0x8c, > + 0x85,0x83,0xd3,0xe4,0x77,0x05,0x36,0xb8, > + 0x4f,0x01,0x7e,0x70,0xe6,0xfb,0xf1,0x76, > + 0x60,0x1a,0x02,0x66,0x94,0x1a,0x17,0xb0, > + 0xc8,0xb9,0x7f,0x4e,0x74,0xc2,0xc1,0xff, > + 0xc7,0x27,0x89,0x19,0x77,0x79,0x40,0xc1, > + 0xe1,0xff,0x1d,0x8d,0xa6,0x37,0xd6,0xb9, > + 0x9d,0xda,0xfe,0x5e,0x17,0x61,0x10,0x02, > + 0xe2,0xc7,0x78,0xc1,0xbe,0x8b,0x41,0xd9, > + 0x63,0x79,0xa5,0x13,0x60,0xd9,0x77,0xfd, > + 0x44,0x35,0xa1,0x1c,0x30,0x8f,0xe7,0xee, > + 0x6f,0x1a,0xad,0x9d,0xb2,0x8c,0x81,0xad, > + 0xde,0x1a,0x7a,0x6f,0x7c,0xce,0x01,0x1c, > + 0x30,0xda,0x37,0xe4,0xeb,0x73,0x64,0x83, > + 0xbd,0x6c,0x8e,0x93,0x48,0xfb,0xfb,0xf7, > + 0x2c,0xc6,0x58,0x7d,0x60,0xc3,0x6c,0x8e, > + 0x57,0x7f,0x09,0x84,0xc2,0x89,0xc9,0x38, > + 0x5a,0x09,0x86,0x49,0xde,0x21,0xbc,0xa2, > + 0x7a,0x7e,0xa2,0x29,0x71,0x6b,0xa6,0xe9, > + 0xb2,0x79,0x71,0x0f,0x38,0xfa,0xa5,0xff, > + 0xae,0x57,0x41,0x55,0xce,0x4e,0xfb,0x4f, > + 0x74,0x36,0x95,0xe2,0x91,0x1b,0x1d,0x06, > + 0xd5,0xe2,0x90,0xcb,0xcd,0x86,0xf5,0x6d, > + 0x0e,0xdf,0xcd,0x21,0x6a,0xe2,0x24,0x27, > + 0x05,0x5e,0x68,0x35,0xfd,0x29,0xee,0xf7, > + 0x9e,0x0d,0x90,0x77,0x1f,0xea,0xce,0xbe, > + 0x12,0xf2,0x0e,0x95,0xb3,0x4f,0x0f,0x78, > + 0xb7,0x37,0xa9,0x61,0x8b,0x26,0xfa,0x7d, > + 0xbc,0x98,0x74,0xf2,0x72,0xc4,0x2b,0xdb, > + 0x56,0x3e,0xaf,0xa1,0x6b,0x4f,0xb6,0x8c, > + 0x3b,0xb1,0xe7,0x8e,0xaa,0x81,0xa0,0x02, > + 0x43,0xfa,0xad,0xd2,0xbf,0x18,0xe6,0x3d, > + 0x38,0x9a,0xe4,0x43,0x77,0xda,0x18,0xc5, > + 0x76,0xb5,0x0f,0x00,0x96,0xcf,0x34,0x19, > + 0x54,0x83,0xb0,0x05,0x48,0xc0,0x98,0x62, > + 0x36,0xe3,0xbc,0x7c,0xb8,0xd6,0x80,0x1c, > + 0x04,0x94,0xcc,0xd1,0x99,0xe5,0xc5,0xbd, > + 0x0d,0x0e,0xdc,0x9e,0xb8,0xa0,0x00,0x1e, > + 0x15,0x27,0x67,0x54,0xfc,0xc6,0x85,0x66, > + 0x05,0x41,0x48,0xe6,0xe7,0x64,0xbe,0xe7, > + 0xc7,0x64,0xda,0xad,0x3f,0xc4,0x52,0x35, > + 0xa6,0xda,0xd4,0x28,0xfa,0x20,0xc1,0x70, > + 0xe3,0x45,0x00,0x3f,0x2f,0x06,0xec,0x81, > + 0x05,0xfe,0xb2,0x5b,0x22,0x81,0xb6,0x3d, > + 0x27,0x33,0xbe,0x96,0x1c,0x29,0x95,0x1d, > + 0x11,0xdd,0x22,0x21,0x65,0x7a,0x9f,0x53, > + 0x1d,0xda,0x2a,0x19,0x4d,0xbb,0x12,0x64, > + 0x48,0xbd,0xee,0xb2,0x58,0xe0,0x7e,0xa6, > + 0x59,0xc7,0x46,0x19,0xa6,0x38,0x0e,0x1d, > + 0x66,0xd6,0x83,0x2b,0xfe,0x67,0xf6,0x38, > + 0xcd,0x8f,0xae,0x1f,0x27,0x23,0x02,0x0f, > + 0x9c,0x40,0xa3,0xfd,0xa6,0x7e,0xda,0x3b, > + 0xd2,0x92,0x38,0xfb,0xd4,0xd4,0xb4,0x88, > + 0x5c,0x2a,0x99,0x17,0x6d,0xb1,0xa0,0x6c, > + 0x50,0x07,0x78,0x49,0x1a,0x82,0x88,0xf1, > + 0x85,0x5f,0x60,0xff,0xfc,0xf1,0xd1,0x37, > + 0x3f,0xd9,0x4f,0xc6,0x0c,0x18,0x11,0xe1, > + 0xac,0x3f,0x1c,0x6d,0x00,0x3b,0xec,0xda, > + 0x3b,0x1f,0x27,0x25,0xca,0x59,0x5d,0xe0, > + 0xca,0x63,0x32,0x8f,0x3b,0xe5,0x7c,0xc9, > + 0x77,0x55,0x60,0x11,0x95,0x14,0x0d,0xfb, > + 0x59,0xd3,0x9c,0xe0,0x91,0x30,0x8b,0x41, > + 0x05,0x74,0x6d,0xac,0x23,0xd3,0x3e,0x5f, > + 0x7c,0xe4,0x84,0x8d,0xa3,0x16,0xa9,0xc6, > + 0x6b,0x95,0x81,0xba,0x35,0x73,0xbf,0xaf, > + 0x31,0x14,0x96,0x18,0x8a,0xb1,0x54,0x23, > + 0x28,0x2e,0xe4,0x16,0xdc,0x2a,0x19,0xc5, > + 0x72,0x4f,0xa9,0x1a,0xe4,0xad,0xc8,0x8b, > + 0xc6,0x67,0x96,0xea,0xe5,0x67,0x7a,0x01, > + 0xf6,0x4e,0x8c,0x08,0x63,0x13,0x95,0x82, > + 0x2d,0x9d,0xb8,0xfc,0xee,0x35,0xc0,0x6b, > + 0x1f,0xee,0xa5,0x47,0x4d,0x6d,0x8f,0x34, > + 0xb1,0x53,0x4a,0x93,0x6a,0x18,0xb0,0xe0, > + 0xd2,0x0e,0xab,0x86,0xbc,0x9c,0x6d,0x6a, > + 0x52,0x07,0x19,0x4e,0x67,0xfa,0x35,0x55, > + 0x1b,0x56,0x80,0x26,0x7b,0x00,0x64,0x1c, > + 0x0f,0x21,0x2d,0x18,0xec,0xa8,0xd7,0x32, > + 0x7e,0xd9,0x1f,0xe7,0x64,0xa8,0x4e,0xa1, > + 0xb4,0x3f,0xf5,0xb4,0xf6,0xe8,0xe6,0x2f, > + 0x05,0xc6,0x61,0xde,0xfb,0x25,0x88,0x77, > + 0xc3,0x5b,0x18,0xa1,0x51,0xd5,0xc4,0x14, > + 0xaa,0xad,0x97,0xba,0x3e,0x49,0x93,0x32, > + 0xe5,0x96,0x07,0x8e,0x60,0x0d,0xeb,0x81, > + 0x14,0x9c,0x44,0x1c,0xe9,0x57,0x82,0xf2, > + 0x2a,0x28,0x25,0x63,0xc5,0xba,0xc1,0x41, > + 0x14,0x23,0x60,0x5d,0x1a,0xe1,0xaf,0xae, > + 0x2c,0x8b,0x06,0x60,0x23,0x7e,0xc1,0x28, > + 0xaa,0x0f,0xe3,0x46,0x4e,0x43,0x58,0x11, > + 0x5d,0xb8,0x4c,0xc3,0xb5,0x23,0x07,0x3a, > + 0x28,0xd4,0x54,0x98,0x84,0xb8,0x1f,0xf7, > + 0x0e,0x10,0xbf,0x36,0x1c,0x13,0x72,0x96, > + 0x28,0xd5,0x34,0x8f,0x07,0x21,0x1e,0x7e, > + 0x4c,0xf4,0xf1,0x8b,0x28,0x60,0x90,0xbd, > + 0xb1,0x24,0x0b,0x66,0xd6,0xcd,0x4a,0xfc, > + 0xea,0xdc,0x00,0xca,0x44,0x6c,0xe0,0x50, > + 0x50,0xff,0x18,0x3a,0xd2,0xbb,0xf1,0x18, > + 0xc1,0xfc,0x0e,0xa5,0x1f,0x97,0xd2,0x2b, > + 0x8f,0x7e,0x46,0x70,0x5d,0x45,0x27,0xf4, > + 0x5b,0x42,0xae,0xff,0x39,0x58,0x53,0x37, > + 0x6f,0x69,0x7d,0xd5,0xfd,0xf2,0xc5,0x18, > + 0x7d,0x7d,0x5f,0x0e,0x2e,0xb8,0xd4,0x3f, > + 0x17,0xba,0x0f,0x7c,0x60,0xff,0x43,0x7f, > + 0x53,0x5d,0xfe,0xf2,0x98,0x33,0xbf,0x86, > + 0xcb,0xe8,0x8e,0xa4,0xfb,0xd4,0x22,0x1e, > + 0x84,0x11,0x72,0x83,0x54,0xfa,0x30,0xa7, > + 0x00,0x8f,0x15,0x4a,0x41,0xc7,0xfc,0x46, > + 0x6b,0x46,0x45,0xdb,0xe2,0xe3,0x21,0x26, > + 0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, > +}; > + > +struct ffdhe_group { > + int bits; > + int minsize; > + const u8 *p; > + const u8 *q; > + const u8 *g; > +} ffdhe_group_map[] = { > + { > + .bits = 2048, > + .minsize = 225, > + .p = ffdhe2048_p, > + .q = ffdhe2048_q, > + .g = ffdhe2048_g, > + }, > + { > + .bits = 3072, > + .minsize = 275, > + .p = ffdhe3072_p, > + .q = ffdhe3072_q, > + .g = ffdhe3072_g, > + }, > + { > + .bits = 4096, > + .minsize = 325, > + .p = ffdhe4096_p, > + .q = ffdhe4096_q, > + .g = ffdhe4096_g, > + }, > + { > + .bits = 6144, > + .minsize = 375, > + .p = ffdhe6144_p, > + .q = ffdhe6144_q, > + .g = ffdhe6144_g, > + }, > + { > + .bits = 8192, > + .minsize = 400, > + .p = ffdhe8192_p, > + .q = ffdhe8192_q, > + .g = ffdhe8192_g, > + }, > +}; > + > +int crypto_ffdhe_params(struct dh *p, int bits) > +{ > + struct ffdhe_group *grp = NULL; > + int i; > + > + for (i = 0; i < ARRAY_SIZE(ffdhe_group_map); i++) { > + if (ffdhe_group_map[i].bits == bits) { > + grp = &ffdhe_group_map[i]; > + break; > + } > + } > + if (!grp || !p) > + return -EINVAL; > + > + p->p_size = grp->bits / 8; > + p->p = (u8 *)grp->p; > + p->g_size = 1; > + p->g = (u8 *)grp->g; > + p->q_size = grp->bits / 8; > + p->q = (u8 *)grp->q; > + > + return 0; > +} > +EXPORT_SYMBOL_GPL(crypto_ffdhe_params); > + > +MODULE_LICENSE("GPL"); > +MODULE_DESCRIPTION("FFDHE ephemeral parameters"); > diff --git a/include/crypto/ffdhe.h b/include/crypto/ffdhe.h > new file mode 100644 > index 000000000000..6cb9253ddb34 > --- /dev/null > +++ b/include/crypto/ffdhe.h > @@ -0,0 +1,24 @@ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > +/* > + * Finite-Field Diffie-Hellman definition according to RFC 7919 > + * > + * Copyright (c) 2021, SUSE Software Products > + * Authors: Hannes Reinecke > + */ > +#ifndef _CRYPTO_FFDHE_ > +#define _CRYPTO_FFDHE_ > + > +/** > + * crypto_ffdhe_params() - Generate FFDHE params > + * @params: DH params > + * @bits: Bitsize of the FFDHE parameters > + * > + * This functions sets the FFDHE parameter for @bits in @params. > + * Valid bit sizes are 2048, 3072, 4096, 6144, or 8194. > + * > + * Returns: 0 on success, errno on failure. > + */ > + > +int crypto_ffdhe_params(struct dh *p, int bits); > + > +#endif /* _CRYPTO_FFDHE_H */ > Reviewed-by: Himanshu Madhani -- Himanshu Madhani Oracle Linux Engineering