If we use `UnsupportedAlgorithm` then the user will be unable to distinguish from the exception whether they have an unsupported padding or an unsupported hash algorithm, so I thought it might be a good idea to add a new exception for this.