'Encrypt a piece of data.
:Parameter plaintext: The piece of data to encrypt.
:Type plaintext: byte string or long
:Parameter K: A random parameter required by some algorithms
:Type K: byte string or long
:Return: A tuple with two items. Each item is of the same type as the
plaintext (string or long).'

def encrypt(self, plaintext, K):

    wasString = 0
    if isinstance(plaintext, types.StringType):
        plaintext = bytes_to_long(plaintext)
        wasString = 1
    if isinstance(K, types.StringType):
        K = bytes_to_long(K)
    ciphertext = self._encrypt(plaintext, K)
    if wasString:
        return tuple(map(long_to_bytes, ciphertext))
    else:
        return ciphertext
