code: def curve(self):
          
  
          if self.algorithm != 'ec':
              raise ValueError(unwrap(
                  '''
                  Only EC keys have a curve, this key is %s
                  ''',
                  self.algorithm.upper()
              ))
  
          params = self['algorithm']['parameters']
          chosen = params.chosen
  
          if params.name == 'implicit_ca':
              value = None
          else:
              value = chosen.native
  
          return (params.name, value)
docs: Returns information about the curve used for an EC key
  
          :raises:
              ValueError - when the key is not an EC key
  
          :return:
              A two-element tuple, with the first element being a unicode string
              of "implicit_ca", "specified" or "named". If the first element is
              "implicit_ca", the second is None. If "specified", the second is
              an OrderedDict that is the native version of SpecifiedECDomain. If
              "named", the second is a unicode string of the curve name.