FISHSLiM encryption for ZNC with support for CBC and ECB modes, and key exchange using DH1080
- FISHSLiM encryption CBC and ECB over:
- Channel messages
- Private messages
- Topics
- Actions
- Notices
- Key exchange with DH1080
- Visual message prefixes that indicate:
- E🔓 > Encrypted message using ECB mode (UNSAFE)
- C🔒 > Encrypted message using CBC mode (USE THIS ALWAYS)
- 🔄 > The sender sent the message using a different encryption mode than the one saved in their keychain
- ❌ > The sender sent an unencrypted message in a context where you use encryption
⚠️ > The incoming message couldn't be decrypted
- You need to have the
pycryptodome
library installed in your Python environment - Copy the
fishslism.py
file into themodules
folder in your ZNC configuration folder - Enable in ZNC per each network
- ListKeys Display the keys in the keychain
- SetKey Set a new key for a target
- DelKey Delete a key for a target
- KeyX Initiate key exchange using DH1080 with a target
Install the plugin https://www.npmjs.com/package/thelounge-plugin-shortcuts and then execute the following commands
/shortcut add listkeys /msg *fishslim listkeys
/shortcut add setkey /msg *fishslim setkey {currentChannel} {0}
/shortcut add delkey /msg *fishslim delkey {currentChannel}
/shortcut add keyx /msg *fishslim keyx {currentChannel}