This is a cryptography hybrid consisting of RSA and Vigenère. Vigenère is a symmetric cryptography system, while RSA is asymmetric. That means that Vigenère uses the same key for both encryption and decryption. RSA uses two corresponding keys, one for encryption and one for decryption. Those are usually dubbed the public key and the private key respectively.
This hybrid system works like this: The program generates a random keyword. The message is encrypted with that keyword using Vigenère. the keyword is then encrypted with this public key. In order to get the message again, one has to decrypt the keyword using the private key first, then decrypt the message with this now decrypted keyword.