Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120629052557.GP544@brightrain.aerifal.cx>
Date: Fri, 29 Jun 2012 01:25:57 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: FreeSec crypt()

On Sun, Jun 24, 2012 at 11:51:03PM -0400, Rich Felker wrote:
> > ....Attached is my latest revision of crypt_freesec.  I've reduced the
> > table sizes even further (7 KB, may be precomputed) and I made certain
> > other changes as discussed.  I'd appreciate another review, and some
> > fuzzing against another implementation wouldn't hurt.
> 
> I put this off until after the release so as not to break anything at
> the last minute, but I'll try to get it integrated soon.

I've committed a modified version (with a comment explaining that it's
modified, this time :) to the musl git repo. It's using static
initialized tables instead of runtime generation on the stack. Despite
it being mildly controversial, I left in the runtime test for now,
mainly since it serves the double purpose of clearing potentially
sensitive data from the stack in a clever way without much additional
cost.

I did not commit the standalone tests in-tree, but I did run them and
they all pass. I may add them to libc-testsuite soon; the only reason
I haven't done so yet is that I'd want a way to selectively disable
some that won't be supported on all systems, and as of yet
libc-testsuite does not have a good framework for making some tests
optional.

I've also made crypt_r public through crypt.h.

Feedback is welcome. If anyone's interested in helping get md5, sha,
or other hash types integrated (while keeping the size cost down) that
would be great too.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.