class OpenSSL::PKey::EC

def digester

def digester
  if group.curve_name =~ /^[a-z]+(\d+)\w*\z/
    curve_size = Regexp.last_match(1).to_i
    if curve_size <= 256
      OpenSSL::Digest::SHA256.new
    elsif curve_size <= 384
      OpenSSL::Digest::SHA384.new
    else
      OpenSSL::Digest::SHA512.new
    end
  else
    OpenSSL::Digest::SHA256.new
  end
end