@abc.abstractmethod<EOL><INDENT>def get_challenge_data(self, input_):<DEDENT>
return<EOL>
Gets data that can be used for a challenge to the peer attempting authentication.

        :param input: authentication input
        :type input: ``osid.authentication.process.AuthenticationInput``
        :return: the acquired challenge data
        :rtype: ``osid.authentication.process.Challenge``
        :raise: ``NullArgument`` -- ``input`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure
        :raise: ``Unimplemented`` -- challenge response not available
        :raise: ``Unsupported`` -- ``input`` is not of this service

        *compliance: optional -- This method must be implemented if
        ``AuthenticationProcessManager.supportsChallenge()`` is
        ``true``.*