From: David T. Ashley on
I implemented FIPS 180-3 (I'm not really a competent Windows programmer).

You can find the executable here:

http://www.s-512.com/filehash.exe

and the source code here:

http://www.s-512.com/filehash.zip

Anyway, I will review the code carefully in the next few days, and do some
unit tests (boundary cases, etc.).

But if anyone wants to beat it around and tell me if it seems correct ...
I'd be grateful.

I guarantee the code is safe.

Thanks, Dave.

From: alex on
On Mar 30, 11:23 pm, "David T. Ashley" <dash...(a)gmail.com> wrote:
> I implemented FIPS 180-3 (I'm not really a competent Windows programmer).
>
> You can find the executable here:
>
> http://www.s-512.com/filehash.exe
>
> and the source code here:
>
> http://www.s-512.com/filehash.zip
>
> Anyway, I will review the code carefully in the next few days, and do some
> unit tests (boundary cases, etc.).
>
> But if anyone wants to beat it around and tell me if it seems correct ...
> I'd be grateful.
>
> I guarantee the code is safe.
>
> Thanks, Dave.

The best way to test your code is to download a "trusted"
implementation, generate random files and see if it matches.
Keep us posted
From: David T. Ashley on
"alex" <anzalaya(a)gmail.com> wrote in message
news:314c8597-2ea0-427f-99fc-49f89d9134aa(a)g11g2000yqe.googlegroups.com...
On Mar 30, 11:23 pm, "David T. Ashley" <dash...(a)gmail.com> wrote:
> I implemented FIPS 180-3 (I'm not really a competent Windows programmer).
>
> You can find the executable here:
>
> http://www.s-512.com/filehash.exe
>
> and the source code here:
>
> http://www.s-512.com/filehash.zip
>
> Anyway, I will review the code carefully in the next few days, and do some
> unit tests (boundary cases, etc.).
>
> But if anyone wants to beat it around and tell me if it seems correct ...
> I'd be grateful.
>
> I guarantee the code is safe.
>
> Thanks, Dave.
>
>The best way to test your code is to download a "trusted"
>implementation, generate random files and see if it matches.
>Keep us posted

I've done that already ... what I was kind of looking for was any test
suites or special cases.

Other than what you suggested, I'll look at the boundary cases and that I
can reach every statement/path in the code with the test vectors (standard
software testing approach).

Due to the miracle of DSL, I've found that I don't actually need to download
anything to my PC. I just upload it to my *nix box and use "sha512sum".

Thanks for the advice.

From: Pubkeybreaker on
On Mar 30, 5:23 pm, "David T. Ashley" <dash...(a)gmail.com> wrote:
> I implemented FIPS 180-3 (I'm not really a competent Windows programmer).
>
> You can find the executable here:
>
> http://www.s-512.com/filehash.exe
>
> and the source code here:
>
> http://www.s-512.com/filehash.zip
>
> Anyway, I will review the code carefully in the next few days, and do some
> unit tests (boundary cases, etc.).

Huh? The appendix of FIPS 180-3 gives KATS (Known Answer Tests).

Haven't you tried them?
From: Tom St Denis on
On Mar 31, 12:57 pm, Pubkeybreaker <pubkeybrea...(a)aol.com> wrote:
> On Mar 30, 5:23 pm, "David T. Ashley" <dash...(a)gmail.com> wrote:
>
> > I implemented FIPS 180-3 (I'm not really a competent Windows programmer).
>
> > You can find the executable here:
>
> >http://www.s-512.com/filehash.exe
>
> > and the source code here:
>
> >http://www.s-512.com/filehash.zip
>
> > Anyway, I will review the code carefully in the next few days, and do some
> > unit tests (boundary cases, etc.).
>
> Huh?  The appendix of FIPS 180-3  gives KATS  (Known Answer Tests).
>
> Haven't you tried them?

NIST vectors suck in that like most standards vectors they don't cover
ANY corner cases

You really need vectors for

1. the 0 length message
2. the 55 [or 111] byte message
3. the 56 [or 112] byte message
4. the 57 [or 113] byte message
5. A few between [e.g. 16 bytes with order swapped to promote
catching endianess errors]

Tom