Compact implementation of SHA256