[146571] in cryptography@c2.net mail archive

home help back first fref pref prev next nref lref last post

Re: [Cryptography] FIPS, NIST and ITAR questions

daemon@ATHENA.MIT.EDU (Bill Stewart)
Wed Sep 4 18:40:37 2013

X-Original-To: cryptography@metzdowd.com
Date: Tue, 03 Sep 2013 20:05:35 -0700
To: Cryptography Mailing List <cryptography@metzdowd.com>
From: Bill Stewart <bill.stewart@pobox.com>
In-Reply-To: <F6097361-4D92-4A4B-8963-8BFF8659F50F@lrw.com>
Errors-To: cryptography-bounces+crypto.discuss=bloom-picayune.mit.edu@metzdowd.com

At 03:06 PM 9/3/2013, Jerry Leichter wrote:
>On Sep 3, 2013, at 3:16 PM, Far=E9 <fahree@gmail.com> wrote:
> > Can't you trivially transform a hash into a PRNG, a PRNG into a
> > cypher, and vice versa?
>No.
>[...]
>I don't actually know if there exists a =

>construction of a PRNG from a cryptographically =

>secure hash function.  (You can build a MAC, but =

>even that's not trivial; people tried all kinds =

>of things that failed until the HMAC construction was proven correct.)

PRNG is not necessarily a cryptographically =

strong term.  But isn't counter-mode hash likely to be ok?
         Counter =3D seed;
         while (counter++) Output(Hash(counter));
                 // or as somebody said Output(Hash(seed||counter||seed));
                 // and you probably need to pad =

it to be long enough for the hash to be happy.
Obviously if somebody discovers the seed the whole thing is toast.

And you can turn the PRNG into a stream cypher by =

doing plaintext[x] xor PRNG[x], with the usual limitations.

None of that has any bearing on ITAR, of course.



_______________________________________________
The cryptography mailing list
cryptography@metzdowd.com
http://www.metzdowd.com/mailman/listinfo/cryptography

home help back first fref pref prev next nref lref last post