/znc-fishlim-reloaded

FISHSLiM encryption for ZNC with support for CBC and ECB modes, and key exchange using DH1080

Primary LanguagePython

ZNC FISHSLiM Reloaded

FISHSLiM encryption for ZNC with support for CBC and ECB modes, and key exchange using DH1080

Features:

  • 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

Install

  1. You need to have the pycryptodome library installed in your Python environment
  2. Copy the fishslism.py file into the modules folder in your ZNC configuration folder
  3. Enable in ZNC per each network

Commands

  • 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

TheLounge integration

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}