original_docstring: decrypt a message with the public key
  
      :param keypair: public key
      :param to_decrypt: ciphertext
      :return: the decripted message
      
docstring: decrypt a message with the public key
docstring_tokens: decrypt a message with the public key
code: def decrypt(keypair: Tuple[int, int], to_decrypt: list) -> str:
      """decrypt a message with the public key
  
      :param keypair: public key
      :param to_decrypt: ciphertext
      :return: the decripted message
      """
      pk, n = keypair
      # decrypting with: m = c^pk % n
      return ''.join([chr(pow(c, pk, n)) for c in to_decrypt])
code_tokens: def decrypt ( keypair : Tuple [ int , int ] , to_decrypt : list ) -> str : pk , n = keypair return '' . join ( [ chr ( pow ( c , pk , n ) ) for c in to_decrypt ] )
short_docstring: decrypt a message with the public key
short_docstring_tokens: decrypt a message with the public key
comment: """decrypt a message with the public key
  
      :param keypair: public key
      :param to_decrypt: ciphertext
      :return: the decripted message
      """$SEP$# decrypting with: m = c^pk % n