Early version of the decryption working

Some things are still annoying :
 - The derived key is kept in memory, to solve that we need to pin the array
   before using it and unpin it only after zeroing it.
 - An implementation of a stream subset is needed to avoid loading the full
   input in memory when the final HMAC is computed.