<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _cross_check(self, pub_key):
 """ In Ecdsa, both the key and the algorithm define the curve. Therefore, we must cross check them to make sure they're the same. :param key: :raises: ValueError is the curves are not the same """

        if self.curve_name != pub_key.curve.name:
            raise ValueError(
                "The curve in private key {} and in algorithm {} don't "
                "match".format(pub_key.curve.name, self.curve_name))