This is XOR encryption, with the key d684babf42876f1a2246973928c118f642398921e150882c4f912b
The following python script will decrypt the cyphertext:
import base64
cyphertextb64='k9Ca7yroAX8CDvhUTeA512MYqADAcakNbrAK'
keyb16='d684babf42876f1a2246973928c118f642398921e150882c4f912b'
cyphertextb16=base64.b64decode(cyphertextb64).hex()
#XOR Decryption:
plaintexthex=hex(int(cyphertextb16, 16) ^ int(keyb16, 16))
plaintextbytes=bytes.fromhex(plaintexthex[2:])
plaintext=plaintextbytes.decode("utf-8")
print(plaintext)
This produces the decrypted plaintext, which is:
ET Phone Home!!!!!!!!!!!!!!
Edit:
In response to the question in the comment below about how I went about reverse-engineering this:
First, I did this to show that questions like this are pointless, because you can use a cipher like XOR to make any ciphertext decrypt to any plaintext you want, using a carefully chosen key.
As to how I chose the key: If you have A xor B = C then, the following is also true:
A xor C = B
C xor B = A
So, I made the given ciphertext A, and I made my wanted plaintext ('ET Phone Home!!!!!!!!!!!!!!') B, and used the first equation above to find the key, C.
This can be done using the following python script:
import base64
cyphertextb64='k9Ca7yroAX8CDvhUTeA512MYqADAcakNbrAK'
plaintext='ET Phone Home!!!!!!!!!!!!!!'
cyphertextb16=base64.b64decode(cyphertextb64).hex()
plaintextbytes=plaintext.encode("utf-8")
plaintextb16=plaintextbytes.hex()
#XOR:
key=hex( int(plaintextb16, 16) ^ int(cyphertextb16, 16) )
print('key:', key[2:])
Which produces:
key: d684babf42876f1a2246973928c118f642398921e150882c4f912b
Sure enough, 'decrypting' the given cyphertext by XORing it with the key above produces the wanted plaintext, as shown in the first script above.