There are pieces of information missing from your code snippet, namely, the implementation of "ValidateKeyAndIv" and what "_crypto" is and how it was created and setup.
Your inner Try is not needed at all and I'd work on using more meaningful variable names. The days of one letter variables are long gone. Also, the name "Data" is a terrible type name. You may want to call it something more meaningful.
I'd probably rewrite this little piece of code to read:
' Validate encryptedData is an actual instance first, then
' make sure it contains usable data here.
If ... Then
End If
' Allocate a buffer to hold decrypted data
Dim buffer(encryptedData.Length - 1) As Byte
Try
Using sourceStream As New MemoryStream(encryptedData.Bytes, 0, encryptedData.Bytes.Length - 1)
Using cryptStream As New CryptoStream(sourceStream, Nothing, CryptoStreamMode.Read)
cryptStream.Read(buffer, 0, encryptedData.Bytes.Length - 1)
End Using
End Using
Catch ex As Exception
clsLogging.WriteToFileLog(sErrLogFileNM, ex.Message, ex.StackTrace, "")
Finally
Return New Data(buffer)
End Try