Received: by 2002:a05:6500:1b8f:b0:1fa:5c73:8e2d with SMTP id df15csp253634lqb; Tue, 28 May 2024 14:42:21 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVy6ZX1BL4v3LAEKTDNmvOGXlSJ+zvt3UKgCRgeZL8fjWu4a2zYAwDJ0CsIi3STOdFM2zp59Lbq1SL9exbgdEqKw2oesbYuomHCfWoW5A== X-Google-Smtp-Source: AGHT+IFuptCZy+de+KHeQJ63LF1r31jUgpJJ56qhqN0gYCWxRn1NfbNaGHgdQGqZqSbt0lbqzt+y X-Received: by 2002:a05:6358:3419:b0:198:6168:217 with SMTP id e5c5f4694b2df-198616802d6mr1026004955d.27.1716932541350; Tue, 28 May 2024 14:42:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716932541; cv=pass; d=google.com; s=arc-20160816; b=XGWAt1ttbk8u4oS7f7YdoevzapYcbo/JhBwcNAinALidcuCRLdN6Ilsies3mKLyo6M G6ySJp3np9Znmhw2gi0/mgRV0CbG/7Pjcga3YVK74/7m+92yyLPVsqltkRB2uJ2mlNFb c5Iqyykl3AJE6xl19BouJCPu/Z1b9WwhfbPhWCxCZUSdkXpIRp8z2QzZUYu7KY3bsP3Z 42Bg6L/cfVGzk8WTrR6H/p2BOOMtuJvaGxnrXUHpLTgWPyoZ/nVIX9xs8Ev/8QFB2s6v 8BcHEVOjSRdoqOeFYW9BEefZ1fjxIDEOlEVvFc5s57eYvqQgo2Er2nAOnCcdQpTHRN0M 4vBw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:dkim-signature; bh=shpP4QdL9vfnrsKmsM4j5Xh8TmISDIeSVwPuGIw0rTU=; fh=YUNREiLzDXPQ75RvDhP8LRMYJq94ny1MyIszjpSQRUk=; b=QElr/eQ8GHhWayw2caIMjGuF9ape2JlxQqS2awKBY7wJPEa84JTsiTpIHS0AU8flxZ FwtWmbBwsWJMfMCfHMBhdDgaI3CAA3Q7C9SOqdeIx9d1vPsb3apuGR+toFqhRzDTfdIE FJ4fT3BRlWD4ZY6Dug3IHM2KzDODt8RIv6I2h7++0mF/5ZNdTFHbHqhDTT8tWE6owl/F pRjJvszNxt6eNLENV6bksJIem2MRLjo5A+WRPlAkI8k7xXEMuQKcw90Tb/v9IPOFNKez r2ZAlPqx681ztBpD9x5SO7YQDeiMkR5BlA/kKeKA4eyJV63D0eZY7JcaiZenfEjH35qv BttA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qo7rPQiW; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-crypto+bounces-4482-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-4482-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-68221b7582fsi9427641a12.52.2024.05.28.14.42.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 May 2024 14:42:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto+bounces-4482-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=qo7rPQiW; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-crypto+bounces-4482-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-4482-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id EACB928873D for ; Tue, 28 May 2024 21:42:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DDFBA17BB1C; Tue, 28 May 2024 21:42:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qo7rPQiW" X-Original-To: linux-crypto@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C3806F06E; Tue, 28 May 2024 21:42:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716932534; cv=none; b=RvDPs43Cu0d6X1+WlTXR99BT+fA7I3JzwKsdVJ+/7Zsd9WUM9zmjB0RjESpJSMNyFYuInQag7qCnKbQcBqLmZL6AmUXl1nvIUuE+mcoEpIbjqIwhZUwHIUA4Jqd9wMsIdUnTXL1QIFm9ZP9HA7oIhq1Ias6nBIoHzCFnNk9Ro18= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716932534; c=relaxed/simple; bh=fT1XyUb8dOaA5u2tXh9YwMja9Vme8HOQuPXfz4rV3/Q=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=VeWJc0osdgGJ0yiCK0287REcKdiyQubns6/uNBXnral1n6WDlHWXFfFopGp9wjeGT1qbMWENQDjC6dqy1eeT/lqS+A0mzVEahDCupwIrivvDx4n5fuN3CjJnOnaxPPOLbM2NBqWA2bkatY9rYMXCvYLP+ILOVnxjiYz60w1YGDk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qo7rPQiW; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15F9AC3277B; Tue, 28 May 2024 21:42:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1716932534; bh=fT1XyUb8dOaA5u2tXh9YwMja9Vme8HOQuPXfz4rV3/Q=; h=Date:Cc:Subject:From:To:References:In-Reply-To:From; b=qo7rPQiW11ANRpMxlP9+Jz8jxcpnSm8ARaYhzF/M5MkXEk+VzgxYag3CEQRv+a2TR HNYB5zdBaimW9VOZHkmcscYMFY/KxkNzZUC8soVNlOWHgP5cPUxet+Ajo0GIFM9wbz 1cV3lK4Y6gYimZStjVR+/uUkDagUavbh1nFjk0Fdsurousy8g+8oh58jL2pKFSHukB Es6mNxZD/ohFjhrirfgqVMP1k6cw6k+2leBrjv4dSjK4JnzrbrhQf6uGHGwJDCCNLy NINmyEsVs8tV0/pIb5DhBAB01e6iP5scHMSLfnXwM7VP0w69xaol+N7d67Wrbal1jj 8p0EJwTZUXvvg== Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Wed, 29 May 2024 00:42:08 +0300 Message-Id: Cc: , , , "James Prestwood" , "David Woodhouse" , "Eric Biggers" , "James Bottomley" , , "Stefan Berger" , "Lennart Poettering" , "David S. Miller" , "open list" , "David Howells" , "Peter Huewe" , "Jason Gunthorpe" , "James Bottomley" , "Ard Biesheuvel" , "Mario Limonciello" Subject: Re: [PATCH v7 5/5] keys: asymmetric: Add tpm2_key_ecdsa From: "Jarkko Sakkinen" To: "Jarkko Sakkinen" , "Herbert Xu" X-Mailer: aerc 0.17.0 References: <20240528210823.28798-1-jarkko@kernel.org> <20240528210823.28798-6-jarkko@kernel.org> In-Reply-To: <20240528210823.28798-6-jarkko@kernel.org> On Wed May 29, 2024 at 12:08 AM EEST, Jarkko Sakkinen wrote: > + /* Encode the ASN.1 signature: */ > +#define TPM2_KEY_ECDSA_SIG_SIZE (2 + 2 * (2 + SHA256_DIGEST_SIZE) + r_0= + s_0) > + pr_info("sig_size=3D%d\n", TPM2_KEY_ECDSA_SIG_SIZE); > + ptr[0] =3D 0x30; /* SEQUENCE */ > + ptr[1] =3D TPM2_KEY_ECDSA_SIG_SIZE - 2; > +#define TPM2_KEY_ECDSA_SIG_R_TAG 2 > +#define TPM2_KEY_ECDSA_SIG_R_SIZE 3 > +#define TPM2_KEY_ECDSA_SIG_R_BODY 4 > + ptr[TPM2_KEY_ECDSA_SIG_R_TAG] =3D 0x02; /* INTEGER */ > + ptr[TPM2_KEY_ECDSA_SIG_R_SIZE] =3D SHA256_DIGEST_SIZE + r_0; > + ptr[TPM2_KEY_ECDSA_SIG_R_BODY] =3D 0x00; /* maybe dummy write */ > + memcpy(&ptr[TPM2_KEY_ECDSA_SIG_R_BODY + r_0], r, SHA256_DIGEST_SIZE); > +#define TPM2_KEY_ECDSA_SIG_S_TAG (4 + r_0 + SHA256_DIGEST_SIZE) > +#define TPM2_KEY_ECDSA_SIG_S_SIZE (5 + r_0 + SHA256_DIGEST_SIZE) > +#define TPM2_KEY_ECDSA_SIG_S_BODY (6 + r_0 + SHA256_DIGEST_SIZE) > + ptr[TPM2_KEY_ECDSA_SIG_S_TAG] =3D 0x02; /* INTEGER */ > + ptr[TPM2_KEY_ECDSA_SIG_S_SIZE] =3D SHA256_DIGEST_SIZE + s_0; > + ptr[TPM2_KEY_ECDSA_SIG_S_BODY] =3D 0x00; /* maybe dummy write */ > + memcpy(&ptr[TPM2_KEY_ECDSA_SIG_S_BODY + s_0], s, SHA256_DIGEST_SIZE); > + ret =3D TPM2_KEY_ECDSA_SIG_SIZE; Stefan, so this how I realized the signature encoding, thanks to your earlier remarks [1]! I found out based on that a few glitches and ended up with this better structured ECDSA signature encoder, so thank you for doing that. [1] https://lore.kernel.org/linux-crypto/b5ff9003-065f-437f-bf6b-7f1ae0a036= 4a@linux.ibm.com/ BR, Jarkko