From: Stephan Mueller <smueller@chronox.de>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] DRBG: fix maximum value checks on 32 bit systems
Date: Tue, 26 Aug 2014 10:52:45 +0200 [thread overview]
Message-ID: <2049245.HpByroTSUp@myon.chronox.de> (raw)
In-Reply-To: <20140826084343.GA4417@gondor.apana.org.au>
Am Dienstag, 26. August 2014, 16:43:43 schrieb Herbert Xu:
Hi Herbert,
> On Tue, Aug 26, 2014 at 10:29:45AM +0200, Stephan Mueller wrote:
> > The maximum values for additional input string or generated blocks is
> > larger than 1<<32. To ensure a sensible value on 32 bit systems, return
> > SIZE_MAX on 32 bit systems. This value is lower than the maximum
> > allowed values defined in SP800-90A. The standard allow lower maximum
> > values, but not larger values.
> >
> > SIZE_MAX - 1 is used for drbg_max_addtl to allow
> > drbg_healthcheck_sanity to check the enforcement of the variable
> > without wrapping.
>
> This is really ugly but OK. However, I'm not sure how the sanity
> check ever worked. It would appear that the drbg_generate call in
> drbg_healthcheck_sanity should always fail because you explicitly
> set addtl->len to drbg_max_addtl + 1, which should trigger the
> "DRBG: additional information string too long" error, no?
That is exactly what the test shall do: the test is intended to check whether
the maximum values are enforced. And it does that by checking whether an error
is returned.
/* get the maximum value */
max_addtllen = drbg_max_addtl(drbg);
/* add one to definitely overflow the maximum value */
drbg_string_fill(&addtl, buf, max_addtllen + 1);
/* overflow addtllen with additonal info string */
len = drbg_generate(drbg, buf, OUTBUFLEN, &addtl);
/*
* check that the drbg_generate does not return a positive
* value, i.e. check that drbg_generate does not generate anything
*/
BUG_ON(0 < len);
>
> Obviously it's working for you but I'd like to understand why
> it's working and whether it'll continue to work.
>
> Thanks,
--
Ciao
Stephan
next prev parent reply other threads:[~2014-08-26 8:52 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 6:14 linux-next: build warnings after merge of the crypto tree Stephen Rothwell
2014-08-26 6:38 ` Herbert Xu
2014-08-26 7:00 ` Stephan Mueller
2014-08-26 7:31 ` [PATCH] DRBG: fix bit shifting on 32 bit systems Stephan Mueller
2014-08-26 7:32 ` Herbert Xu
2014-08-26 7:37 ` Stephan Mueller
2014-08-26 8:06 ` [PATCH] DRBG: fix maximum value checks " Stephan Mueller
2014-08-26 8:08 ` Herbert Xu
2014-08-26 8:29 ` [PATCH v2] " Stephan Mueller
2014-08-26 8:43 ` Herbert Xu
2014-08-26 8:52 ` Stephan Mueller [this message]
2014-08-26 8:58 ` Herbert Xu
2014-08-26 9:36 ` Stephan Mueller
2014-08-27 13:35 ` Herbert Xu
2014-08-27 13:40 ` Stephan Mueller
2014-08-28 7:13 ` Stephan Mueller
2014-08-28 7:17 ` DRBG: remove test for uninitialized DRBG handle Stephan Mueller
2014-09-01 5:11 ` [PATCH v2] DRBG: remove check " Stephan Mueller
2014-09-03 1:33 ` Stephan Mueller
2014-09-03 23:21 ` Herbert Xu
2014-09-03 23:50 ` Stephan Mueller
2014-09-05 7:55 ` Herbert Xu
2014-09-05 11:25 ` Stephan Mueller
2014-09-05 8:13 ` Herbert Xu
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=2049245.HpByroTSUp@myon.chronox.de \
--to=smueller@chronox.de \
--cc=herbert@gondor.apana.org.au \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=sfr@canb.auug.org.au \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.