@Topaco Thank you for your detailed description and usage. However, I'm getting the red squiggly at (byte[] nonce = nonceCiphertextTag[..nonceSize];) and (byte[] ciphertextTag = nonceCiphertextTag[nonceSize..];). I see you said, separate nonce and ciphertextTag but I'm not getting this. What should this be?
Also, encrypt System.ArgumentException at:
gcmBlockCipher.Init(true, new AeadParameters(new KeyParameter(key), 128, nonce, aad));