ENCRYPT [-showkeys]encrypt allows you to hold an encrypted conversations with a person or a whole channel. Once a nickname/channel and key is specified, all messages you send to that nickname/channel will automatically be encrypted using the given key. Likewise, any messages from that nickname/channel will automatically be decrypted. ircII is smart enough to know if the incoming message isn't encrypted and will not attempt to decrypt it. If you received an encrypted message from someone for whom you haven't specified a key, it will be displayed as [ENCRYPTED MESSAGE].
The <key> can be any text which is to be used an they key for encryption/decryption of the conversation. It is up to you and the people you wish to talk to about how to agree upon a key and how to communicate it to one another.
If <type> is specified, ircII will use this cryptography method rather than the default. The default is -CAST, using a CAST128-CBC cipher and home grown padding. The -AES options uses AES256-CBC and PKCS padding. The default is -CAST but will become -AES in the near future.
For example, if user CheeseDog wishes to talk encryptedly with user DogCheese, they must first agree on an encryption key (case sensitive), say foo. Then user CheeseDog must issue a
encrypt DogCheese fooand user DogCheese must issue a
encrypt CheeseDog fooThereafter, all messages sent between CheeseDog and DogCheese will be encrypted and decrypted automatically.
If encrypt is given with a nickname but no key, then encrypted conversation is ended with that user.
If encrypt is given with no arguments, the list of encrypted users and encryption types are displayed. If the -showkeys option is specified, the keys for each user are also displayed.
older ircII used a built in encryption method that isn't terribly secure. After ircII 4.4, CAST-128 support was added and is now the default. You can use another if you so choose, see set/encrypt_program for information about this. Note that in releases prior to 4.4B, ircII used a different type of program API for ENCRYPT_PROGRAM.
AES support was finally finished in 2021.
If you are sending encrypted messages to a user or channel, you can toggle it off and on in a message line by inserting the control-E character in the input line. This is usually done by hitting control-Q then control-E. An inverse video E will appear in the input line.
Note: Control-q is bound (see bind) to quote_character by default. It is frequently necessary to change this to some other char.
See Also: set/encrypt_program