So, to summarize use (so you don't have to figure out which thing happens first), you set a password. If you're crypting text, then you set the text, run the crypt routine, and retrieve it (am thinking I should just let the user pass the text when I next do some work on it). For a file, you set the password, and the run cryptfile, passing the filename. Encryption and decryption are the same, there's no difference to it.