{"id":2198148,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2198148/?format=json","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/1.0/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20260219132552.1499698-5-philippe.reynes@softathome.com>","date":"2026-02-19T13:25:47","name":"[RFC,v2,4/9] drivers: crypto: add software ecdsa support","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"dd54e7ae6f1561a9d07666dd21204b8c5b43d0d5","submitter":{"id":74351,"url":"http://patchwork.ozlabs.org/api/1.0/people/74351/?format=json","name":"Philippe Reynes","email":"philippe.reynes@softathome.com"},"delegate":{"id":161313,"url":"http://patchwork.ozlabs.org/api/1.0/users/161313/?format=json","username":"raymo200915","first_name":"Raymond","last_name":"Mao","email":"raymondmaoca@gmail.com"},"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260219132552.1499698-5-philippe.reynes@softathome.com/mbox/","series":[{"id":492675,"url":"http://patchwork.ozlabs.org/api/1.0/series/492675/?format=json","date":"2026-02-19T13:25:49","name":"add software ecdsa support","version":2,"mbox":"http://patchwork.ozlabs.org/series/492675/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2198148/checks/","tags":{},"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com\n header.b=UYXWybwp;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=softathome.com","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com\n header.b=\"UYXWybwp\";\n\tdkim-atps=neutral","phobos.denx.de; dmarc=none (p=none dis=none)\n header.from=softathome.com","phobos.denx.de;\n spf=pass smtp.mailfrom=philippe.reynes@softathome.com"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGvKw5R5Sz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:26:44 +1100 (AEDT)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 8F10E83E36;\n\tThu, 19 Feb 2026 14:26:19 +0100 (CET)","by phobos.denx.de (Postfix, from userid 109)\n id 43A9B83D5D; Thu, 19 Feb 2026 14:26:17 +0100 (CET)","from MRZP264CU002.outbound.protection.outlook.com\n (mail-francesouthazlp170100001.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c207::1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 5B51C83DBF\n for <u-boot@lists.denx.de>; Thu, 19 Feb 2026 14:26:14 +0100 (CET)","from PA7P264CA0349.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:37c::13)\n by PARP264MB6078.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:4a2::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.15; Thu, 19 Feb\n 2026 13:26:10 +0000","from PA2PEPF00019230.FRAP264.PROD.OUTLOOK.COM\n (2603:10a6:102:37c:cafe::73) by PA7P264CA0349.outlook.office365.com\n (2603:10a6:102:37c::13) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu,\n 19 Feb 2026 13:26:10 +0000","from proxy.softathome.com (149.6.166.170) by\n PA2PEPF00019230.mail.protection.outlook.com (10.167.242.36) with Microsoft\n SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.12\n via Frontend Transport; Thu, 19 Feb 2026 13:26:10 +0000","from sah1lpt726.home (unknown [192.168.72.32])\n by proxy.softathome.com (Postfix) with ESMTPSA id DD555202BF;\n Thu, 19 Feb 2026 14:26:09 +0100 (CET)"],"X-Spam-Checker-Version":"SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de","X-Spam-Level":"","X-Spam-Status":"No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=rOda8II2MzTrBByvIAkdXxGY9UTgjwfRHlk94CN0TSso+YGM1pHR6iUFNP04C2oq0scweChQVDOZtUOrvvDd37RijOgADVCeWFTM57XwjDnS4KUXQvL7f9BjRpjbwPxXQMdjiy+iWlx6iZ9dOc2k881+FGP+h269bWKbbPXnjCwY59XWftd+HBRbticb4CLWmxI76CkVeRXCO9FCxOip8b1/ip73vwIQO1+YcWpGIwlULJUjkXKQfHZ6QVUTevurx46Lqs0hIbASGEOcsRQ5DIsR1S86GYLn4hwQPjGLlqj5ZRP0OAsliZ+A9keffhNXeTiJ6njSuPS2Lj/begbKfQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=VBL8E57k7FsFTGOKsaBK7BrNVeyh9zIF+XiQgKy2AAg=;\n b=W4hFdzqEeOBsPz2viiru/TmeGZ6jl43IpEqEyHwOG0EEUm2Z86LcwGQgbuxGRYTo/h+kHQXkbj8Li5xse/zuX/JT2qU3ebSGYmzO7mYiL1dGCfuNvm7VOXLT83wCKO17OmT9+qNCLgM5vJdceytBmMPEO3DgqXdfp0L31Y2QddsiDHy+U0mcY/EMJl73BAYco+5oGfkb0Bq5efcwQHZHwo92mOiwO2k6uiz7dibaDTwfu2ZIPqVkg4vvXWuraKD+DpxaYd1gCVaC2Su4ytTb9NCMxFMhkaTstGlxKCCrIdcR6oX4oG1h8tQeXVAj4pFSFJAByMX3jYD8nnXvWhO4gg==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 149.6.166.170) smtp.rcpttodomain=gmail.com smtp.mailfrom=softathome.com;\n dmarc=bestguesspass action=none header.from=softathome.com; dkim=none\n (message not signed); arc=none (0)","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=VBL8E57k7FsFTGOKsaBK7BrNVeyh9zIF+XiQgKy2AAg=;\n b=UYXWybwp4ltBqSHaZbC79ym7Oqsr+53yzW596IsnPqnvEXa/u41NaBqfUwrOU1qIyxR35afQVjvhQfWRjtsn4uoadCEPgj3DpxxXMmEFxx/SEEIKCevdJZ2v2RY6F7v+pch7ScEYTL1EoCrO64wo/Yrhk4WRUbkEJK9WBllm3VcdBx2KuVdwrvyyaS/zVqMgJgG3uCNVCJEZ+Cx5E6Tw83T9tfnD8XZqQxoDMN4Yb/5MTvs89PDc7WqK6ZEz4znAF2IAUiYLY+BJpLyG6BtNiXZpVM2hmiIg8Js9lvauHh2Gd0DTc2isM9ole74wzQj4nuELkOB8xM3csJQuGkQKpQ==","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 149.6.166.170)\n smtp.mailfrom=softathome.com; dkim=none (message not signed)\n header.d=none;dmarc=bestguesspass action=none header.from=softathome.com;","Received-SPF":"Pass (protection.outlook.com: domain of softathome.com\n designates 149.6.166.170 as permitted sender)\n receiver=protection.outlook.com; client-ip=149.6.166.170;\n helo=proxy.softathome.com; pr=C","From":"Philippe Reynes <philippe.reynes@softathome.com>","To":"marko.makela@iki.fi, jonny.green@keytechinc.com, raymondmaoca@gmail.com,\n trini@konsulko.com","Cc":"u-boot@lists.denx.de,\n\tPhilippe Reynes <philippe.reynes@softathome.com>","Subject":"[RFC PATCH v2 4/9] drivers: crypto: add software ecdsa support","Date":"Thu, 19 Feb 2026 14:25:47 +0100","Message-ID":"<20260219132552.1499698-5-philippe.reynes@softathome.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20260219132552.1499698-1-philippe.reynes@softathome.com>","References":"<20260219132552.1499698-1-philippe.reynes@softathome.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"PA2PEPF00019230:EE_|PARP264MB6078:EE_","Content-Type":"text/plain","X-MS-Office365-Filtering-Correlation-Id":"ab13756b-b79b-4ad2-e34d-08de6fba7205","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|376014|36860700013|82310400026|1800799024|30052699003|7142099003|13003099007;","X-Microsoft-Antispam-Message-Info":"\n l5qLlUJHHsAKWj9lFALaPm4/qTs0CCWq+FQD/qjZBvCS6Pfg4Zms7VPNbB1ky0UqeCb9ToA4K4yL2crKTmALdmJvK+5WcuOO+VRg28bGjJn2FAXd221+sK6o9KDbr+cvPmW0qQxTcHfZmIsFkhRh56ddiHrQh/9yt6gD6b2lcB2dQz8cCrHDtIU6jTR/ALpPoVfuOxUetVZv+RUs4rnMT4rfv8RI5uUhwl7RKAwyElyH/eG6Jizbq0H6N07Kqn2sFBDoQU/h4jWskm+DtLfv6ohd7HU0z8ANn1kNn7GD6zpCT9A3/Vr3VFrGN0OT5buPNPWXvlEMdASrFovISRMxseC74RrmPFV/P7I642bDwVctBvhc5UzqkpqCL1/cNrjbR/aelpU/J4BoZxFpvwFnr/U7SL2zrswaOQ7zLfGGtmxQCMKAIZ1Oh4cR1HUCrUFOyRa4kbkTYYnrAO1HnqhtMs+8Ps6JFL9XXjEQ//vhNu+U0WJx1RnDCSuq1XJjf1/FLPa02bEwjIU0KzLGE+lJ3pnY8W5anIOdjaAHq6foKUbkAK1m9oj1e0NvQx1R+vnAPmyoPXHB3RlxCM0KWf/+lpfHrj9EFAgYyJuo72dCcTaWtF4DWxx5c3XRuvVfP5VbgwJJdLxv//Q4aFoBmjxwGmbpN/SpCbCxPZgRR55UEM9o2mvEySISbZx6gAzvj1jKoJh3pAw1YZz0lyGLO3gpMilv600PPUn3Elo2VxiYqB88+cq0fAdAM/H68Lx67qxjVw1+neLS03M8mOe2Qu8UHQmZuPmXFcmL08+DI32BikJY5gkwIdWoFA7O4s+wUrb+zXMRGmSGObCTnNFqTcbVxFDqM9nNECUj6vreZ08Hzn9yn4AFhJaCWgtlgqtFarbzD/7GijsXM4Mk2SW5ibS28hGZtY66Ktz9mbSSycMSgPFdAtSlPNYlv5aT0XL9F8xKFLNbkU/BC1743xeb3mvH/6vwngzvkhK27Iyk6EM4lg3Pjno+1u8GfW+fv47O8i423CNxLQYrgdAZzWL94aHvzj54Nk7L6fB3f2CbKf9k1TXySscQOQLQnsdZyqHs9j/zhJIVqkIctWRdU4aUnBP9RsFsLrPp9R5elgI8+G0MXrwqxWqVp9otRa98bygr5dWbXAFOgfNd+lYez3FCI6Uo4ndO/WJn5j/zJy0v13pe6hUYU1HXC0w7Gy9O9hEOfqAbIaAB9E6Lo5iBTQW/aosrI74ThBPXrJk8oMYPWC2bM0N1eTdXLDjPs+40dJnt0psmjimcxBueKOpZmYQ7ySVCFZBAJ75n74Ik9t6WISEb5NN/1HTXsyAn8GqH58mKJR/QzCdYZVeYFSx3N4oWn6cAqAoMsCdQvsFyVMbQw++EQklz/ZTIiAdnk5OBFC7E2XeVXP3ZdZ0NmbvJdauB4f+aea3oq4Z5PZ/uI+o5Y+NiHK5AuhpBhB1dEvabm/g8hFN3G2W4/mfog3ddHetsZnqdBHGwHOGDGLKI0Wz6FFMqOoL0iSzHeLK8kZ18DmfXg2kg3C2nSYdkSdVug/HSNNlr0x8n52BlLG0h1sgZR0wxhhSCBAd1+wKhEerWqD5VCgfhoP55/VoQmZPBUpLy52j9OA==","X-Forefront-Antispam-Report":"CIP:149.6.166.170; CTRY:FR; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:proxy.softathome.com; PTR:InfoDomainNonexistent;\n CAT:NONE;\n SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024)(30052699003)(7142099003)(13003099007);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n AugNlmINpnkBb1UbvFquESIDkIb6BKQBicEptVWpVfEP4p3H2ZN2XVxWizEk1Mff7H3Hs8qlAqtpNmPPPWkWgCmbo+GifF0CFld/+PDqe4ecSSwE7Sld6V7rk7A+LMmGyHvbO8Gi1eSeJoxjAT9sDwbzG5g5VutqqboPLrG4YvKJn9dMGWr58amvOZ7+noW7+Nf8qj1UmY+RTmu3hXi/HWcjlLToRWGI7E2SmLZzOZtYNuRSAFaMBL9E48mhpSIRUrIlhNrOIKJhicH0XPuxc8tTurT61/DibPH09uqDsWzLRjlgJL14bdAZli15zn0CQ171LCd1DoUPYmIbsK7n/pU5cWe7ULTr0s5SdIofRCnHVZoiKqF0WHF0IjzBttpvdKpllnOLVXTPDB02vt4zighEO3W6yZCItIpTn4zkYARLJIJe7cYnRb41PqhNecW3","X-OriginatorOrg":"softathome.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"19 Feb 2026 13:26:10.0314 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n ab13756b-b79b-4ad2-e34d-08de6fba7205","X-MS-Exchange-CrossTenant-Id":"aa10e044-e405-4c10-8353-36b4d0cce511","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=aa10e044-e405-4c10-8353-36b4d0cce511; Ip=[149.6.166.170];\n Helo=[proxy.softathome.com]","X-MS-Exchange-CrossTenant-AuthSource":"PA2PEPF00019230.FRAP264.PROD.OUTLOOK.COM","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PARP264MB6078","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"Add an software ecdsa driver so it is\nnow possible to use ecdsa signature on\nboard without ecdsa hardware support.\n\nSigned-off-by: Philippe Reynes <philippe.reynes@softathome.com>\n---\nv2:\n- no change\n\n drivers/crypto/Kconfig          |  2 ++\n drivers/crypto/Makefile         |  1 +\n drivers/crypto/ecdsa/Kconfig    |  6 ++++++\n drivers/crypto/ecdsa/Makefile   |  6 ++++++\n drivers/crypto/ecdsa/ecdsa-sw.c | 33 +++++++++++++++++++++++++++++++++\n 5 files changed, 48 insertions(+)\n create mode 100644 drivers/crypto/ecdsa/Kconfig\n create mode 100644 drivers/crypto/ecdsa/Makefile\n create mode 100644 drivers/crypto/ecdsa/ecdsa-sw.c","diff":"diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig\nindex 0d58e3910fe..cf49e5c0f7e 100644\n--- a/drivers/crypto/Kconfig\n+++ b/drivers/crypto/Kconfig\n@@ -12,4 +12,6 @@ source \"drivers/crypto/nuvoton/Kconfig\"\n \n source \"drivers/crypto/tegra/Kconfig\"\n \n+source \"drivers/crypto/ecdsa/Kconfig\"\n+\n endmenu\ndiff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile\nindex e4a4482b7f3..8170e4cae9c 100644\n--- a/drivers/crypto/Makefile\n+++ b/drivers/crypto/Makefile\n@@ -4,6 +4,7 @@\n #\thttp://www.samsung.com\n \n obj-$(CONFIG_EXYNOS_ACE_SHA)\t+= ace_sha.o\n+obj-$(CONFIG_ECDSA) += ecdsa/\n obj-y += aes/\n obj-y += rsa_mod_exp/\n obj-y += fsl/\ndiff --git a/drivers/crypto/ecdsa/Kconfig b/drivers/crypto/ecdsa/Kconfig\nnew file mode 100644\nindex 00000000000..308824d8421\n--- /dev/null\n+++ b/drivers/crypto/ecdsa/Kconfig\n@@ -0,0 +1,6 @@\n+config ECDSA_SW\n+\tbool \"Enable driver for ECDSA in software\"\n+\tdepends on ECDSA_MBEDTLS\n+\thelp\n+\t  Enable driver for ECDSA operations in software. Currently\n+\t  it supports multiple ECDSA algorithm.\ndiff --git a/drivers/crypto/ecdsa/Makefile b/drivers/crypto/ecdsa/Makefile\nnew file mode 100644\nindex 00000000000..8f9e5a767f8\n--- /dev/null\n+++ b/drivers/crypto/ecdsa/Makefile\n@@ -0,0 +1,6 @@\n+# SPDX-License-Identifier: GPL-2.0+\n+#\n+# Copyright (C) 2026 Philippe Reynes <philippe.reynes@softathome.com>\n+#\n+\n+obj-$(CONFIG_ECDSA_SW) += ecdsa-sw.o\ndiff --git a/drivers/crypto/ecdsa/ecdsa-sw.c b/drivers/crypto/ecdsa/ecdsa-sw.c\nnew file mode 100644\nindex 00000000000..0d526371ecb\n--- /dev/null\n+++ b/drivers/crypto/ecdsa/ecdsa-sw.c\n@@ -0,0 +1,33 @@\n+// SPDX-License-Identifier: GPL-2.0+\n+/*\n+ * Copyright (C) 2026 Philippe Reynes <philippe.reynes@softathome.com>\n+ */\n+#include <dm/device.h>\n+#include <linux/types.h>\n+#include <u-boot/ecdsa.h>\n+#include <crypto/ecdsa-uclass.h>\n+#include <dm/platdata.h>\n+#include <crypto/internal/sw_ecdsa.h>\n+\n+static int ops_sw_ecdsa_verify(__always_unused struct udevice *dev,\n+\t\t\t       const struct ecdsa_public_key *pubkey,\n+\t\t\t       const void *hash, size_t hash_len,\n+\t\t\t       const void *signature, size_t sig_len)\n+{\n+\treturn sw_ecdsa_verify(pubkey, hash, hash_len, signature, sig_len);\n+}\n+\n+static const struct ecdsa_ops sw_ecdsa_ops = {\n+\t.verify = ops_sw_ecdsa_verify,\n+};\n+\n+U_BOOT_DRIVER(sw_ecdsa) = {\n+\t.name\t= \"sw_ecdsa\",\n+\t.id\t= UCLASS_ECDSA,\n+\t.ops\t= &sw_ecdsa_ops,\n+\t.flags\t= DM_FLAG_PRE_RELOC,\n+};\n+\n+U_BOOT_DRVINFO(sw_ecdsa) = {\n+\t.name = \"sw_ecdsa\",\n+};\n","prefixes":["RFC","v2","4/9"]}