Classic protocol and crypto cleanups.

Also: why memset(,0,) the whole of bignum_buf ?