From mboxrd@z Thu Jan 1 00:00:00 1970 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 smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BE4CDC624A4 for ; Thu, 3 Sep 2026 08:17:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 8694960B23; Thu, 3 Sep 2026 08:17:55 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id XP0_34oI2gHb; Thu, 3 Sep 2026 08:17:54 +0000 (UTC) ARC-Filter: OpenARC Filter v1.3.0 smtp3.osuosl.org E984760B6F Authentication-Results: smtp3.osuosl.org; arc=fail smtp.remote-ip=140.211.166.142 ARC-Seal: i=3; d=osuosl.org; s=arc; a=rsa-sha256; cv=fail; t=1788423474; b=m2C8H6TPZlOwNnC7JZ86pRlWAaiKvR8MW6am3QgKJxVvK0Zi0KlY9L4nBXQVx/8UpkMu lcb2YaTq3EtlV04LwTG8FO6kY0enRIDtVqBJSay4Ybxkb5sMyboW3M11d+xj0Q14GUeRm H1NupXm+tVWdaD3KPZTWt3ari6zrXiqKH0ER3y0vvrDiOwXrINnJsRNx2gtkIXU3SEn3T 5zC/i1CeAQjuMHKDzB/ALwbigyk5g3+gqOlBeOXm1nTRopkCkW6msjyXyqesIloFRZf4u LSD/y/mOrAZ8nFDh14l6Bo9AgkxKqr6X6pXy/rQ8jUpEeny+jTUg4vw+6M3uoMuQwCw== ARC-Message-Signature: i=3; d=osuosl.org; s=arc; a=rsa-sha256; c=relaxed/relaxed; t=1788423474; h=X-Comment:DKIM-Signature:X-Original-To:Delivered-To:Received: Received:X-Virus-Scanned:X-Spam-Flag:X-Spam-Score:X-Spam-Level: X-Spam-Status:Received:ARC-Filter:Received-SPF:Received: DKIM-Signature:Received:Received:X-MS-Exchange-Authentication-Results: Received-SPF:Received:Received:From:To:Cc:Subject:Date:Message-ID: X-Mailer:In-Reply-To:References:MIME-Version: Content-Transfer-Encoding:X-EOPAttributedMessage: X-MS-PublicTrafficType:X-MS-TrafficTypeDiagnostic:Content-Type: X-MS-Office365-Filtering-Correlation-Id:X-MS-Exchange-SenderADCheck: X-MS-Exchange-AntiSpam-Relay:X-Microsoft-Antispam: X-Microsoft-Antispam-Message-Info:X-Forefront-Antispam-Report: X-MS-Exchange-AntiSpam-MessageData-ChunkCount: X-MS-Exchange-AntiSpam-MessageData-0:X-OriginatorOrg: X-MS-Exchange-CrossTenant-OriginalArrivalTime: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-Id: X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: X-MS-Exchange-CrossTenant-AuthSource:X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-FromEntityHeader: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-BeenThere: X-Mailman-Version:Precedence:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:Errors-To; bh=1g18Ms8LkIO7wV3yspX1IIJRf0DSv2B3IRzXAJM6Bfc=; b=EKPu5hSXwnQD886HX5jpxUbmVCOY49r6+Fn4AKFtIrOrW8B0mwvqOPDD0gt7KXT5o8ws hr2V7jV7upVTosikZQl4j7jkzsoU2bu/HcTU0uHX9DTG6Uv97R674aINeU0D8AUEAetvU sC4OQAtZIbLO0c55TaDntCCf/LrKNokRLFO/0hhhyuyoGcwpSScaSonZ7VhuMbiYlVXkR wtnV+daD399Tq76yTjzjlGD2CtbuHAMZvfy9D1hj6SzGCzEC0s/UXx16S+Rq9WiV+txiM v+tRxI5xG7JbgTyPAEG2CpS59UvCD4IS4ux1flLjk3xxgQ7WaGWc2uMrRMfyBra6Jbg== ARC-Authentication-Results: i=3; smtp3.osuosl.org; arc=fail smtp.remote-ip=140.211.166.142 X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142; helo=lists1.osuosl.org; envelope-from=u-boot-bounces@lists.u-boot-project.org; receiver= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.u-boot-project.org; s=default; t=1788423474; bh=1g18Ms8LkIO7wV3yspX1IIJRf0DSv2B3IRzXAJM6Bfc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=0lIhy3MvYDxexbWCYvooFZZZFkzluBL/unVLvzFLJ7nifhmaz681oAeiPgkLI0FO4 FG9Z55jwO7fdriVqa7dReXm3Jp4dGQjdqf7huSJyDsdsEhKh4PBk9lFflAM37Q1PBs rybdN3TNOgsrOamotE+E+p8W49FC+gcqyNmiOhXE/lbMbRnfaETthEJ86+WRWqtER0 AHneA7Y5F9VMd9uaYP3bF5tQKJvIxn5rnnXl+OQyHVUM9G5LfyOYuxZ8l4cws4pT22 QQ4drPDg2qGo2ijBd+YesRmzyvU0Z7Eup53jDvMer71ZhZq995mmfrUk5TmKd+G1NC rhOdw2Fhwu2wQ== Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142]) by smtp3.osuosl.org (Postfix) with ESMTP id E984760B6F; Thu, 3 Sep 2026 08:17:53 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists1.osuosl.org (Postfix) with ESMTP id 7DF5C22F for ; Thu, 3 Sep 2026 08:17:30 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 645CE40084 for ; Thu, 3 Sep 2026 08:17:30 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id m7ooxhr3ipTK for ; Thu, 3 Sep 2026 08:17:29 +0000 (UTC) ARC-Filter: OpenARC Filter v1.3.0 smtp2.osuosl.org 2E7FD4002B Authentication-Results: smtp2.osuosl.org; arc=pass header.oldest-pass=0 smtp.remote-ip="2a01:111:f403:c20a::4" ARC-Seal: i=2; d=osuosl.org; s=arc; a=rsa-sha256; cv=pass; t=1788423449; b=UJF7E3AEsHnvBadNCy3xgW+Zo3mAS5/OInxkDnvB1BjT8sBCi9lyvKpmXMoDl8OyLMoJ TQKAU91giKDtvFyFVUdStY7LFNeBncHWix1d7kO/Dd+gCIWw4RoTfKv1dWNLUwJFzsN4P QLJih9PRflJuVg9HaEHDJA/V9cT5GfqgYxXY1wE/2wS/lTphSwncm5NUN3Su/MVekCDP2 4NGKVFqikk6kmukrKqDFmruSyMNOu9LZHj6bL8ob1IZpTLWJkf83diE2JQGqUyvXGYxq2 fuvHJPUEDaDM2TMqgneMRD6F4eu/pmmlRRHVDyxg9DUIFbO45ODVrC3Zxv1EvhXJ0hA== ARC-Message-Signature: i=2; d=osuosl.org; s=arc; a=rsa-sha256; c=relaxed/relaxed; t=1788423449; h=Received-SPF:DKIM-Signature:Received:Received: X-MS-Exchange-Authentication-Results:Received-SPF:Received:Received: From:To:Cc:Subject:Date:Message-ID:X-Mailer:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:X-EOPAttributedMessage: X-MS-PublicTrafficType:X-MS-TrafficTypeDiagnostic:Content-Type: X-MS-Office365-Filtering-Correlation-Id:X-MS-Exchange-SenderADCheck: X-MS-Exchange-AntiSpam-Relay:X-Microsoft-Antispam: X-Microsoft-Antispam-Message-Info:X-Forefront-Antispam-Report: X-MS-Exchange-AntiSpam-MessageData-ChunkCount: X-MS-Exchange-AntiSpam-MessageData-0:X-OriginatorOrg: X-MS-Exchange-CrossTenant-OriginalArrivalTime: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-Id: X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: X-MS-Exchange-CrossTenant-AuthSource:X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-FromEntityHeader: X-MS-Exchange-Transport-CrossTenantHeadersStamped; bh=1g18Ms8LkIO7wV3yspX1IIJRf0DSv2B3IRzXAJM6Bfc=; b=KGFdlSl3B1tK5Z6eZK3bPrudTREkX/mEyDcaM/vNgkGcVyPJhMJxh0CsJeKyDGFMe6gW Jt3bIBxaJ7X73dRtM1boos39C5Jkgs6bbhMQaJxQ9TYu+UJc/U6ciald2k0+fYiMAC/kc k7+kdm7HntYTjnSd1cFcW24vsSRCL0L74MXSQV8d0h+HDS3GmIhq2vWzW93kMxAmetCD1 PSnF+6AzILBNFl9zHFcgTT99QjGK2t1gPwuDu7dcLjQK5MGwQny07IOWzTCUB+3xRmAZZ h2TEVhVfUB9GeTSHLyqSSyiG6gS53461GS/OeuXfQH5EPGjmLXfJMMigU+uzLVoLx+g== ARC-Authentication-Results: i=2; smtp2.osuosl.org; dmarc=none header.from=softathome.com; dkim=pass header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com header.b=GdG2H4u2; arc=pass header.oldest-pass=0 smtp.remote-ip="2a01:111:f403:c20a::4" Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a01:111:f403:c20a::4; helo=pr0p264cu014.outbound.protection.outlook.com; envelope-from=philippe.reynes@softathome.com; receiver= Authentication-Results: smtp2.osuosl.org; dmarc=none (p=none dis=none) header.from=softathome.com Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key) header.d=softathome1.onmicrosoft.com header.i=@softathome1.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-softathome1-onmicrosoft-com header.b=GdG2H4u2 Received: from PR0P264CU014.outbound.protection.outlook.com (mail-francecentralazlp170120004.outbound.protection.outlook.com [IPv6:2a01:111:f403:c20a::4]) by smtp2.osuosl.org (Postfix) with ESMTPS id 2E7FD4002B for ; Thu, 3 Sep 2026 08:17:26 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=coNRaaTov3t5I3fMvhKX2cYY3LHzXmlCc5+kN36qwndw0+RiVmGY2nqKNYbENsD/n5aKnIVF2tzsk7MuFodJw0u+Z7YbmT4YrVmvxU2DPFQWRIISHmy1Or29D1EPBUFbs7xsoR/cPA+Sx4STrxB4woIkZjqzy75ObPdIt0QwLkZy6xuYAiG5x07rDdD7wy0KF7ASFQBrnPPcoE6lFhmqkA819DYPbvSm0mpyV3FLCWBewxOilF+AOPfHd1HPTNytJiUx5Jb/jTD875EAo/HlkEOVw3jEVeqXkmHCQZAEilqyRvn1BVsFV4jLLLQqf7oVbFegkMc+27JFGWuUKGqZyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1g18Ms8LkIO7wV3yspX1IIJRf0DSv2B3IRzXAJM6Bfc=; b=XtSBobrHigs79qW65WW3jByfthxoAF1/iAn1Fnfv8hzFNOCv/qJBfTaNEx6fHwCsi4xg7fyi1RFFFdIQC3uMZ6T8jqN0IAHvp/DZBVk703q89nZn8ZEFL5iwEdyy3oGEFTWc8oXy454125qAKtiQmMDQ9i/upqF709fcDJG7IcIJS8WHrCZgispg/rshJ9HFDluicc7pNSUAvkkmxFDgbr1hOnpeinfk9hgLSmwXnYrCME+a2aND3F1Tg2qY4Cjd9PpU7O6L+zWCwwpahRsrWFN+rpWtZzgMojSBaeTbbk5QBHDDnyTLzy6/THMPOgoa7NfFY9N+RxcbeDOJ18ytGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 149.6.166.170) smtp.rcpttodomain=canonical.com smtp.mailfrom=softathome.com; dmarc=bestguesspass action=none header.from=softathome.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=softathome1.onmicrosoft.com; s=selector1-softathome1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1g18Ms8LkIO7wV3yspX1IIJRf0DSv2B3IRzXAJM6Bfc=; b=GdG2H4u26rHl2TdByl3K7T7mhFGc86m0mMdHBNSLNC0/zEqW8IOHsc/eoVJkFsk5Y5RswVCn8OdNB30sDJkyER+UjANkYhA7mYUoxzhSkmvDU2g0WiyFQpdz49xqaXoiXemc+PxgIYe9ftpWExaWLeCZurjL3Aom4YT96W9li0T4YRWQv8Pr+zhq587+IBk706y/9M+U1YMQqeN7zkta4TihN7isLxhN+/cIHy9he+MujW+83rvL41G0Tb0FsRZXUzRWg98llSFXeqyPONl0ziSThPRBCFMuO45XJtpf0V1Ujv7254W+RRBYiYa811MQrCZlJyjtg8xAuiShWc0BNg== Received: from PAZP264CA0027.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:122::14) by PATP264MB4899.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:3fc::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Thu, 3 Sep 2026 08:17:16 +0000 Received: from PA1PEPF000CC3FC.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:122:cafe::f) by PAZP264CA0027.outlook.office365.com (2603:10a6:102:122::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.11 via Frontend Transport; Thu, 3 Sep 2026 08:17:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 149.6.166.170) smtp.mailfrom=softathome.com; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=softathome.com; Received-SPF: Pass (protection.outlook.com: domain of softathome.com designates 149.6.166.170 as permitted sender) receiver=protection.outlook.com; client-ip=149.6.166.170; helo=proxy.softathome.com; pr=C Received: from proxy.softathome.com (149.6.166.170) by PA1PEPF000CC3FC.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Thu, 3 Sep 2026 08:17:16 +0000 Received: from sah1lpt726.softathome.com (unknown [192.168.72.32]) by proxy.softathome.com (Postfix) with ESMTPSA id 76805202C1; Thu, 3 Sep 2026 10:17:16 +0200 (CEST) From: Philippe Reynes To: marko.makela@iki.fi, jonny.green@keytechinc.com, raymondmaoca@gmail.com, trini@konsulko.com, simon.glass@canonical.com Cc: u-boot@lists.u-boot-project.org, Philippe Reynes , Simon Glass Subject: [PATCH v9 04/15] test: lib: ecdsa: add initial test Date: Thu, 3 Sep 2026 10:16:54 +0200 Message-ID: <20260903081705.12894-5-philippe.reynes@softathome.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903081705.12894-1-philippe.reynes@softathome.com> References: <20260903081705.12894-1-philippe.reynes@softathome.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA1PEPF000CC3FC:EE_|PATP264MB4899:EE_ Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 5065a989-80b4-43e1-cda3-08df0993c43b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|22082099003|18002099003|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: kVY0AduIyDuEoIfNL04esEp/nOjESvoDr+GD33SivwSfWx3SvkHjL8htuxll9qD6PnN+bRvLbrD5mHBcOjstg0/Z1Bw4UelM5VTnyMNwEg65BkoL2/GTQRV28nR1qISHCEO+SC3sFfpIyH2Y/ewx+MrA7s1bgre7j6BpaoBovmlyuC/9XZ5mPsUupXHe+J30cei68Rb7zJadNs52KceBySX2b3MUPlBx40Vhohocs7qZ5SXo6gQk4rQ1k9jcEi8yun8LjSbJnIbaUAeMEBIK3zBh9JrJ1LSoxy6np1lcReD6EsB/BQx99q8BRlcgDXp8s1ZixhIXpLDwiFgA+OREEhp8vz6t4PAJYsWGVwEm3ZnKWmcIFly7cEGrF5cfkwul7KbrjzrONHUjSkm/wCA+eD0pZ5sqGjTKCU981Mtnv7oXs+pb6wACpC4LO4YGU6gupnAXzebScLGfShtzABAIpUWLre7Q0G6lTErCA46RgpWKsq0kuSERXS8Np305xPpXLAIPLWjKWoO0ccNMz8eJmTSgDZdARi7j0ncs7hN0STR09YE9pQ27k3MTKoMv1M6NeSQRaJig5cY4+usfDpKsioH3wXr4sixRjb+sl/lgy6xpXAjpoP19r3jVJU/a82EXdIKzkFak/GvesBO21tC2VbMCAMuLIVFvxZSl/0MDGtRKX9kCY5fC/oqJXLcVxdoQA2rEoPP8YNhvae52sPECEw== X-Forefront-Antispam-Report: CIP:149.6.166.170; CTRY:FR; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:proxy.softathome.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(22082099003)(18002099003)(56012099006)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aU9cmiF1mGP7ZKGhyb9GSCewhUSON5svBamz3qczJ+wSoM6dwF+kVEmW87vGPw7FeoYUziodqo/zZ+N7/5eSeu2DePM7dsJrVrMixSEP7W75sob1j3RHN2NGDCOFDgW75yQcQMgS8srjCrux+eJ69aqViaMihEQIah0x9qwkRWNs5S1gcUKw8WQ7CcKMzAlVPe9xDOEXIbOz7KQ3Q1wT4dAxWl4J3juAtTvuI+rQk2yPbdMCq+T0Dhx8g+6jTT5Ztxzz2TMgQowcLAogLRblkIzwMrXpd/H/eK0e7HGWsRi/XwIweYzS3mEsmam2u/8CXJ2FyLYAj6BnDjs6VIF+ofcQy99Go0sCt/bfIsNT2OkBZBK+ZTkg1gfwhR9Mgv/QnOqyZfaIwOLqjoAxB/EyHKi3qBWTxcSev3rTATH20OZgweVZPhLeGFAixHy5i050 X-OriginatorOrg: softathome.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2026 08:17:16.6533 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5065a989-80b4-43e1-cda3-08df0993c43b X-MS-Exchange-CrossTenant-Id: aa10e044-e405-4c10-8353-36b4d0cce511 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=aa10e044-e405-4c10-8353-36b4d0cce511; Ip=[149.6.166.170]; Helo=[proxy.softathome.com] X-MS-Exchange-CrossTenant-AuthSource: PA1PEPF000CC3FC.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PATP264MB4899 X-BeenThere: u-boot@lists.u-boot-project.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.u-boot-project.org Adds tests to check that the function ecdsa_hash_verify using mbedtls is valid. Reviewed-by: Simon Glass Reviewed-by: Raymond Mao Signed-off-by: Philippe Reynes --- v2: - little change to only use test with sha enabled v3: - remove useless field *k in struct ecdsa_test_vector_s - change expected value on error (don't use mbedtls error) - manage function returns - update third parameter of sha*_csum_wd v4: - define SHA256_DEF_CHUNK_SZ, SHA384_DEF_CHUNK_SZ and SHA512_DEF_CHUNK_SZ - report skipped tests - add const on some variables - code cleanup v5: - do not define SHA256_DEF_CHUNK_SZ, SHA384_DEF_CHUNK_SZ and SHA512_DEF_CHUNK_SZ - use CHUNKSZ_SHA256, CHUNKSZ_SHA384 and CHUNKSZ_SHA521 - do not use 528 to compule ecdsa 521 sig size but compute it - use ut_reportf instead of ut_failf v6: - no change v7: - no change v8: - no change v9: - no change test/lib/Makefile | 1 + test/lib/ecdsa.c | 456 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 457 insertions(+) create mode 100644 test/lib/ecdsa.c diff --git a/test/lib/Makefile b/test/lib/Makefile index f25383a40e5..e9c779a7b47 100644 --- a/test/lib/Makefile +++ b/test/lib/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_$(PHASE_)UT_COMPRESSION) += compression.o ifeq ($(CONFIG_XPL_BUILD),) obj-y += abuf.o obj-y += alist.o +obj-$(CONFIG_ECDSA_VERIFY_MBEDTLS) += ecdsa.o obj-$(CONFIG_EFI_LOADER) += efi_device_path.o efi_memory.o obj-$(CONFIG_EFI_SECURE_BOOT) += efi_image_region.o ifdef CONFIG_RISCV diff --git a/test/lib/ecdsa.c b/test/lib/ecdsa.c new file mode 100644 index 00000000000..bc7737837e5 --- /dev/null +++ b/test/lib/ecdsa.c @@ -0,0 +1,456 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2026 Philippe Reynes + */ + +#include +#include +#include +#include +#include +#include +#include + +#define ECDSA_POINT_SIZE (DIV_ROUND_UP(521, 8) * 2) +#define ECDSA_SIGNATURE_SIZE (ECDSA_POINT_SIZE * 2) + +struct ecdsa_test_vector_s { + const char *test_name; + const char *curve_name; + const char *x; + const char *y; + int size_bits; + const char *hash_type; + const char *hash_message; + const char *r; + const char *s; + int expected; +}; + +/* + * Those data come from RFC6979 + */ + +static const struct ecdsa_test_vector_s ecdsa_test_vector[] = { + /* + * secp192r1 + */ + { + .test_name = "secp192r1 sha1", + .curve_name = "secp192r1", + .x = "AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56", + .y = "3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43", + .size_bits = 192, + .hash_type = "sha-1", + .hash_message = "sample", + .r = "98C6BD12B23EAF5E2A2045132086BE3EB8EBD62ABF6698FF", + .s = "57A22B07DEA9530F8DE9471B1DC6624472E8E2844BC25B64", + .expected = 0, + }, + { + .test_name = "secp192r1 sha256", + .curve_name = "secp192r1", + .x = "AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56", + .y = "3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43", + .size_bits = 192, + .hash_type = "sha-256", + .hash_message = "sample", + .r = "4B0B8CE98A92866A2820E20AA6B75B56382E0F9BFD5ECB55", + .s = "CCDB006926EA9565CBADC840829D8C384E06DE1F1E381B85", + .expected = 0, + }, + { + .test_name = "secp192r1 sha384", + .curve_name = "secp192r1", + .x = "AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56", + .y = "3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43", + .size_bits = 192, + .hash_type = "sha-384", + .hash_message = "sample", + .r = "DA63BF0B9ABCF948FBB1E9167F136145F7A20426DCC287D5", + .s = "C3AA2C960972BD7A2003A57E1C4C77F0578F8AE95E31EC5E", + .expected = 0, + }, + { + .test_name = "secp192r1 sha512", + .curve_name = "secp192r1", + .x = "AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56", + .y = "3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43", + .size_bits = 192, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8", + .s = "3F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67", + .expected = 0, + }, + { + .test_name = "secp192r1 sha512 error", + .curve_name = "secp192r1", + .x = "AC2C77F529F91689FEA0EA5EFEC7F210D8EEA0B9E047ED56", + .y = "3BC723E57670BD4887EBC732C523063D0A7C957BC97C1C43", + .size_bits = 192, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "4D60C5AB1996BD848343B31C00850205E2EA6922DAC2E4B8", + .s = "0F6E837448F027A1BF4B34E796E32A811CBB4050908D8F67", + .expected = -EINVAL, + }, + /* + * secp224r1 + */ + { + .test_name = "secp224r1 sha1", + .curve_name = "secp224r1", + .x = "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C", + .y = "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A", + .size_bits = 224, + .hash_type = "sha-1", + .hash_message = "sample", + .r = "22226F9D40A96E19C4A301CE5B74B115303C0F3A4FD30FC257FB57AC", + .s = "66D1CDD83E3AF75605DD6E2FEFF196D30AA7ED7A2EDF7AF475403D69", + .expected = 0, + }, + { + .test_name = "secp224r1 sha256", + .curve_name = "secp224r1", + .x = "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C", + .y = "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A", + .size_bits = 224, + .hash_type = "sha-256", + .hash_message = "sample", + .r = "61AA3DA010E8E8406C656BC477A7A7189895E7E840CDFE8FF42307BA", + .s = "BC814050DAB5D23770879494F9E0A680DC1AF7161991BDE692B10101", + .expected = 0, + }, + { + .test_name = "secp224r1 sha384", + .curve_name = "secp224r1", + .x = "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C", + .y = "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A", + .size_bits = 224, + .hash_type = "sha-384", + .hash_message = "sample", + .r = "0B115E5E36F0F9EC81F1325A5952878D745E19D7BB3EABFABA77E953", + .s = "830F34CCDFE826CCFDC81EB4129772E20E122348A2BBD889A1B1AF1D", + .expected = 0, + }, + { + .test_name = "secp224r1 sha512", + .curve_name = "secp224r1", + .x = "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C", + .y = "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A", + .size_bits = 224, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397", + .s = "A4CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084", + .expected = 0, + }, + { + .test_name = "secp224r1 sha512 error", + .curve_name = "secp224r1", + .x = "00CF08DA5AD719E42707FA431292DEA11244D64FC51610D94B130D6C", + .y = "EEAB6F3DEBE455E3DBF85416F7030CBD94F34F2D6F232C69F3C1385A", + .size_bits = 224, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "074BD1D979D5F32BF958DDC61E4FB4872ADCAFEB2256497CDAC30397", + .s = "04CECA196C3D5A1FF31027B33185DC8EE43F288B21AB342E5D8EB084", + .expected = -EINVAL, + }, + /* + * secp256r1 + */ + { + .test_name = "secp256r1 sha1", + .curve_name = "secp256r1", + .x = "60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6", + .y = "7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299", + .size_bits = 256, + .hash_type = "sha-1", + .hash_message = "sample", + .r = "61340C88C3AAEBEB4F6D667F672CA9759A6CCAA9FA8811313039EE4A35471D32", + .s = "6D7F147DAC089441BB2E2FE8F7A3FA264B9C475098FDCF6E00D7C996E1B8B7EB", + .expected = 0, + }, + { + .test_name = "secp256r1 sha256", + .curve_name = "secp256r1", + .x = "60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6", + .y = "7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299", + .size_bits = 256, + .hash_type = "sha-256", + .hash_message = "sample", + .r = "EFD48B2AACB6A8FD1140DD9CD45E81D69D2C877B56AAF991C34D0EA84EAF3716", + .s = "F7CB1C942D657C41D436C7A1B6E29F65F3E900DBB9AFF4064DC4AB2F843ACDA8", + .expected = 0, + }, + { + .test_name = "secp256r1 sha384", + .curve_name = "secp256r1", + .x = "60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6", + .y = "7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299", + .size_bits = 256, + .hash_type = "sha-384", + .hash_message = "sample", + .r = "0EAFEA039B20E9B42309FB1D89E213057CBF973DC0CFC8F129EDDDC800EF7719", + .s = "4861F0491E6998B9455193E34E7B0D284DDD7149A74B95B9261F13ABDE940954", + .expected = 0, + }, + { + .test_name = "secp256r1 sha512", + .curve_name = "secp256r1", + .x = "60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6", + .y = "7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299", + .size_bits = 256, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00", + .s = "2362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE", + .expected = 0, + }, + { + .test_name = "secp256r1 sha512 error", + .curve_name = "secp256r1", + .x = "60FED4BA255A9D31C961EB74C6356D68C049B8923B61FA6CE669622E60F29FB6", + .y = "7903FE1008B8BC99A41AE9E95628BC64F2F1B20C2D7E9F5177A3C294D4462299", + .size_bits = 256, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "8496A60B5E9B47C825488827E0495B0E3FA109EC4568FD3F8D1097678EB97F00", + .s = "0362AB1ADBE2B8ADF9CB9EDAB740EA6049C028114F2460F96554F61FAE3302FE", + .expected = -EINVAL, + }, + /* + * secp384r1 + */ + { + .test_name = "secp384r1 sha1", + .curve_name = "secp384r1", + .x = "EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64DEF8F0EA9055866064A254515480BC13", + .y = "8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1288B231C3AE0D4FE7344FD2533264720", + .size_bits = 384, + .hash_type = "sha-1", + .hash_message = "sample", + .r = "EC748D839243D6FBEF4FC5C4859A7DFFD7F3ABDDF72014540C16D73309834FA37B9BA002899F6FDA3A4A9386790D4EB2", + .s = "A3BCFA947BEEF4732BF247AC17F71676CB31A847B9FF0CBC9C9ED4C1A5B3FACF26F49CA031D4857570CCB5CA4424A443", + .expected = 0, + }, + { + .test_name = "secp384r1 sha256", + .curve_name = "secp384r1", + .x = "EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64DEF8F0EA9055866064A254515480BC13", + .y = "8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1288B231C3AE0D4FE7344FD2533264720", + .size_bits = 384, + .hash_type = "sha-256", + .hash_message = "sample", + .r = "21B13D1E013C7FA1392D03C5F99AF8B30C570C6F98D4EA8E354B63A21D3DAA33BDE1E888E63355D92FA2B3C36D8FB2CD", + .s = "F3AA443FB107745BF4BD77CB3891674632068A10CA67E3D45DB2266FA7D1FEEBEFDC63ECCD1AC42EC0CB8668A4FA0AB0", + .expected = 0, + }, + { + .test_name = "secp384r1 sha384", + .curve_name = "secp384r1", + .x = "EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64DEF8F0EA9055866064A254515480BC13", + .y = "8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1288B231C3AE0D4FE7344FD2533264720", + .size_bits = 384, + .hash_type = "sha-384", + .hash_message = "sample", + .r = "94EDBB92A5ECB8AAD4736E56C691916B3F88140666CE9FA73D64C4EA95AD133C81A648152E44ACF96E36DD1E80FABE46", + .s = "99EF4AEB15F178CEA1FE40DB2603138F130E740A19624526203B6351D0A3A94FA329C145786E679E7B82C71A38628AC8", + .expected = 0, + }, + { + .test_name = "secp384r1 sha512", + .curve_name = "secp384r1", + .x = "EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64DEF8F0EA9055866064A254515480BC13", + .y = "8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1288B231C3AE0D4FE7344FD2533264720", + .size_bits = 384, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799CFE30F35CC900056D7C99CD7882433709", + .s = "512C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112DC7CC3EF3446DEFCEB01A45C2667FDD5", + .expected = 0, + }, + { + .test_name = "secp384r1 sha512 error", + .curve_name = "secp384r1", + .x = "EC3A4E415B4E19A4568618029F427FA5DA9A8BC4AE92E02E06AAE5286B300C64DEF8F0EA9055866064A254515480BC13", + .y = "8015D9B72D7D57244EA8EF9AC0C621896708A59367F9DFB9F54CA84B3F1C9DB1288B231C3AE0D4FE7344FD2533264720", + .size_bits = 384, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "ED0959D5880AB2D869AE7F6C2915C6D60F96507F9CB3E047C0046861DA4A799CFE30F35CC900056D7C99CD7882433709", + .s = "012C8CCEEE3890A84058CE1E22DBC2198F42323CE8ACA9135329F03C068E5112DC7CC3EF3446DEFCEB01A45C2667FDD5", + .expected = -EINVAL, + }, + /* + * secp521r1 + */ + { + .test_name = "secp521r1 sha1", + .curve_name = "secp521r1", + .x = "01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F5023A4", + .y = "00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFDFCF5", + .size_bits = 521, + .hash_type = "sha-1", + .hash_message = "sample", + .r = "00343B6EC45728975EA5CBA6659BBB6062A5FF89EEA58BE3C80B619F322C87910FE092F7D45BB0F8EEE01ED3F20BABEC079D202AE677B243AB40B5431D497C55D75D", + .s = "00E7B0E675A9B24413D448B8CC119D2BF7B2D2DF032741C096634D6D65D0DBE3D5694625FB9E8104D3B842C1B0E2D0B98BEA19341E8676AEF66AE4EBA3D5475D5D16", + .expected = 0, + }, + { + .test_name = "secp521r1 sha256", + .curve_name = "secp521r1", + .x = "01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F5023A4", + .y = "00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFDFCF5", + .size_bits = 521, + .hash_type = "sha-256", + .hash_message = "sample", + .r = "01511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E1A7", + .s = "004A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7ECFC", + .expected = 0, + }, + { + .test_name = "secp521r1 sha384", + .curve_name = "secp521r1", + .x = "01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F5023A4", + .y = "00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFDFCF5", + .size_bits = 521, + .hash_type = "sha-384", + .hash_message = "sample", + .r = "01EA842A0E17D2DE4F92C15315C63DDF72685C18195C2BB95E572B9C5136CA4B4B576AD712A52BE9730627D16054BA40CC0B8D3FF035B12AE75168397F5D50C67451", + .s = "01F21A3CEE066E1961025FB048BD5FE2B7924D0CD797BABE0A83B66F1E35EEAF5FDE143FA85DC394A7DEE766523393784484BDF3E00114A1C857CDE1AA203DB65D61", + .expected = 0, + }, + { + .test_name = "secp521r1 sha512", + .curve_name = "secp521r1", + .x = "01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F5023A4", + .y = "00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFDFCF5", + .size_bits = 521, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "00C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F174E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E377FA", + .s = "00617CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF282623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A67A", + .expected = 0, + }, + { + .test_name = "secp521r1 sha512 error", + .curve_name = "secp521r1", + .x = "01894550D0785932E00EAA23B694F213F8C3121F86DC97A04E5A7167DB4E5BCD371123D46E45DB6B5D5370A7F20FB633155D38FFA16D2BD761DCAC474B9A2F5023A4", + .y = "00493101C962CD4D2FDDF782285E64584139C2F91B47F87FF82354D6630F746A28A0DB25741B5B34A828008B22ACC23F924FAAFBD4D33F81EA66956DFEAA2BFDFCF5", + .size_bits = 521, + .hash_type = "sha-512", + .hash_message = "sample", + .r = "00C328FAFCBD79DD77850370C46325D987CB525569FB63C5D3BC53950E6D4C5F174E25A1EE9017B5D450606ADD152B534931D7D4E8455CC91F9B15BF05EC36E377FA", + .s = "00017CCE7CF5064806C467F678D3B4080D6F1CC50AF26CA209417308281B68AF282623EAA63E5B5C0723D8B8C37FF0777B1A20F8CCB1DCCC43997F1EE0E44DA4A67A", + .expected = -EINVAL, + }, +}; + +static int ecdsa_test(struct unit_test_state *uts, + const struct ecdsa_test_vector_s *tv) +{ + struct ecdsa_public_key pubkey; + unsigned char x[ECDSA_POINT_SIZE]; + unsigned char y[ECDSA_POINT_SIZE]; + unsigned char hash[512 / 8]; + size_t hash_len; + unsigned char signature[ECDSA_SIGNATURE_SIZE]; + size_t sig_len; + int ret; + + sig_len = DIV_ROUND_UP(tv->size_bits, 8); + + pubkey.curve_name = tv->curve_name; + ret = hex2bin(x, tv->x, strlen(tv->x) / 2); + ut_asserteq(0, ret); + pubkey.x = x; + ret = hex2bin(y, tv->y, strlen(tv->y) / 2); + ut_asserteq(0, ret); + pubkey.y = y; + pubkey.size_bits = tv->size_bits; + + if (!strcmp(tv->hash_type, "sha-1")) { +#if CONFIG_IS_ENABLED(SHA1) + hash_len = SHA1_SUM_LEN; + sha1_csum_wd(tv->hash_message, strlen(tv->hash_message), + hash, SHA1_DEF_CHUNK_SZ); +#else + /* sha1 is not supported so we skip this test */ + ut_reportf("Test %s skipped (sha1 not supported)", + tv->test_name); + goto out; +#endif + } else if (!strcmp(tv->hash_type, "sha-256")) { +#if CONFIG_IS_ENABLED(SHA256) + hash_len = SHA256_SUM_LEN; + sha256_csum_wd(tv->hash_message, strlen(tv->hash_message), + hash, CHUNKSZ_SHA256); +#else + /* sha256 is not supported so we skip this test */ + ut_reportf("Test %s skipped (sha256 not supported)", + tv->test_name); + goto out; +#endif + } else if (!strcmp(tv->hash_type, "sha-384")) { +#if CONFIG_IS_ENABLED(SHA384) + hash_len = SHA384_SUM_LEN; + sha384_csum_wd(tv->hash_message, strlen(tv->hash_message), + hash, CHUNKSZ_SHA384); +#else + /* sha384 is not supported so we skip this test */ + ut_reportf("Test %s skipped (sha384 not supported)", + tv->test_name); + goto out; +#endif + } else if (!strcmp(tv->hash_type, "sha-512")) { +#if CONFIG_IS_ENABLED(SHA512) + hash_len = SHA512_SUM_LEN; + sha512_csum_wd(tv->hash_message, strlen(tv->hash_message), + hash, CHUNKSZ_SHA512); +#else + /* sha512 is not supported so we skip this test */ + ut_reportf("Test %s skipped (sha512 not supported)", + tv->test_name); + goto out; +#endif + } else { + ut_reportf("Unknown hash type (%s)", tv->hash_type); + return -EINVAL; + } + + ret = hex2bin(signature, tv->r, sig_len); + ut_asserteq(0, ret); + ret = hex2bin(signature + sig_len, tv->s, sig_len); + ut_asserteq(0, ret); + sig_len = sig_len * 2; + + ret = ecdsa_hash_verify(&pubkey, + hash, hash_len, + signature, sig_len); + ut_asserteq(tv->expected, ret); + +#if !CONFIG_IS_ENABLED(SHA1) || !CONFIG_IS_ENABLED(SHA256) || !CONFIG_IS_ENABLED(SHA384) || !CONFIG_IS_ENABLED(SHA512) + out: +#endif + + return 0; +} + +static int lib_ecdsa(struct unit_test_state *uts) +{ + int i, ret; + size_t num_test = ARRAY_SIZE(ecdsa_test_vector); + + for (i = 0; i < num_test; i++) { + ret = ecdsa_test(uts, &ecdsa_test_vector[i]); + if (ret) + return ret; + } + + return 0; +} + +LIB_TEST(lib_ecdsa, 0); -- 2.43.0