hmac: HKDF refactory to reduce stack usage: (up to 128 bytes - pointer sizes) moved to the heap.
--- tmp variable moved to the heap; (up to 64 bytes)
--- prk variable moved to the heap; (up to 64 bytes)