Rich - As discussed on IRC, here is a revision of the FreeSec crypt() code with greatly reduced memory requirements: 10 KB for the "shared" and "local" structs combined. The original code required about 70 KB of .bss. This passes the included tests, but more testing is desired - perhaps fuzz this on random passwords/salts against other implementations. Also, we could want to add a runtime self-test, which would detect possible miscompiles. Oh, and I haven't yet replaced the cast to signed char in ascii_to_bin(). Anyway, this should be better than what's currently in musl. Alexander