AES256 encryption in C# using Argon2 or Rfc2898 (PBKDF2) based key generation from password with varying inner HMAC function for Rfc2898