From: T Pratham <t-pratham@ti.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>,
Manorit Chawdhry <m-chawdhry@ti.com>,
Kamlesh Gurudasani <kamlesh@ti.com>,
Shiva Tripathi <s-tripathi1@ti.com>,
Kavitha Malarvizhi <k-malarvizhi@ti.com>,
"Vishal Mahaveer" <vishalm@ti.com>,
Praneeth Bajjuri <praneeth@ti.com>,
<linux-kernel@vger.kernel.org>, <linux-crypto@vger.kernel.org>
Subject: Re: [PATCH v4 1/3] crypto: ti - Add support for SHA224/256/384/512 in DTHEv2 driver
Date: Fri, 26 Jun 2026 18:27:42 +0530 [thread overview]
Message-ID: <8502c0bf-5cf8-4042-a1e1-4665d8fa4057@ti.com> (raw)
In-Reply-To: <aiKsFNoXryzWul0y@gondor.apana.org.au>
On 6/5/26 16:29, Herbert Xu wrote:
> On Fri, Jun 05, 2026 at 04:11:49PM +0530, T Pratham wrote:
>>
>> .cra_flags sets CRYPTO_AHASH_ALG_BLOCK_ONLY and
>> CRYPTO_AHASH_ALG_FINAL_NONZERO flags. An update of 64 bytes will do an
>> update of block size and carry over at least one byte to final. We
>> always go into this if block when there is non-zero data coming into update.
>
> For AHASH_BLOCK_ONLY algorithms, the export format must be identical
> between different implementations.
>
> Therefore FINAL_NONZERO cannot be used for only one implementation
> since the user can import the partial state from a different
> implementation which does not have FINAL_NONZERO set.
>
> For sha you cannot use FINAL_NONZERO since the generic implementation
> doesn't use it.
>
> Cheers,
Thanks for letting me know of the export format constraint.
However, this sounds contradictory to the stated purpose of the flag
itself. Commit 7650f826f7b2 ("crypto: shash - Handle partial blocks in
API"), in which you introduced FINAL_NONZERO, says:
"This will come in handy when this is extended to ahash where hardware
often can't deal with a zero-length final."
This is exactly the case for DTHEv2 hashing engine hardware. Along with
this, using BLOCK_ONLY is also necessary for DTHEv2 to delegate the
partial block management to the crypto layer. So you can see that most
hardware face both these constraints together. The above commit gives
the impression of solving both these issues for hardware hash engines.
If these flags, and the surrounding framework was introduced with hash
drivers in mind, this new constraint of import/export format consistency
makes it completely unusable for any standard hash algorithm like SHA.
In practice, this makes any hardware hash driver unable to utilize the
FINAL_NONZERO feature.
This looks to me like a gap in the framework; the implementation of the
feature does not exactly match the intention. What do you suggest should
be the approach here, and going forward?
--
Regards
T Pratham <t-pratham@ti.com>
next prev parent reply other threads:[~2026-06-26 12:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-26 9:43 [PATCH v4 0/3] Add support for hashing algorithms in TI DTHE V2 T Pratham
2026-05-26 9:43 ` [PATCH v4 1/3] crypto: ti - Add support for SHA224/256/384/512 in DTHEv2 driver T Pratham
2026-06-05 10:10 ` Herbert Xu
2026-06-05 10:41 ` T Pratham
2026-06-05 10:59 ` Herbert Xu
2026-06-26 12:57 ` T Pratham [this message]
2026-07-13 3:40 ` Herbert Xu
2026-05-26 9:43 ` [PATCH v4 2/3] crypto: ti - Add support for MD5 in DTHEv2 Hashing Engine driver T Pratham
2026-05-26 9:43 ` [PATCH v4 3/3] crypto: ti - Add support for HMAC " T Pratham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8502c0bf-5cf8-4042-a1e1-4665d8fa4057@ti.com \
--to=t-pratham@ti.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=k-malarvizhi@ti.com \
--cc=kamlesh@ti.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=m-chawdhry@ti.com \
--cc=praneeth@ti.com \
--cc=s-tripathi1@ti.com \
--cc=vishalm@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®