<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def encrypt(self, encryption_context_key: str, plaintext: str) -> Tuple[bytes, Sequence[str]]: """ Encrypt a plaintext string value. The return value will include *both* the resulting binary ciphertext and the master key ids used for encryption. In the likely case that the encryptor was initialized with master key aliases, these master key ids returned will represent the unaliased key. """

        encryption_context = dict(
            microcosm=encryption_context_key,
        )

        cyphertext, header = encrypt(
            source=plaintext,
            materials_manager=self.materials_manager,
            encryption_context=encryption_context,
        )

        key_ids = [
            self.unpack_key_id(encrypted_data_key.key_provider)
            for encrypted_data_key in header.encrypted_data_keys
        ]
        return cyphertext, key_ids