I've done only a cursory read through of the code, but structurally it looks good to me. I like the reworking of crypto.c as a utility library. It applies cleaning to trunk, and all tests pass, including the 11 new ones. jamie.