public async static Task <EncryptedStream> CreateAsync(Stream originalStream, string sharedSecret, string salt)
        {
            var instance = new EncryptedStream();
            await instance.InitAsync(originalStream, sharedSecret, salt)
            .IgnoreContext();

            return(instance);
        }
        public static EncryptedStream Create(Stream originalStream, string sharedSecret, string salt)
        {
            var instance = new EncryptedStream();

            TaskHelper.WaitSafeSync(() => instance.InitAsync(originalStream, sharedSecret, salt));

            return(instance);
        }