A native mirc text encryption system would be great. Namely blowfish, but the ability to use other encryptions (if you have the dll's in your mirc directory) would be nice too i suppose. Although my whole suggestion revolves around blowfish.

Why not script it? Well as you can imagine is easily done and there are plenty of dll's and script methods of encoding/decoding, but the main problem is this must be intertwined with all other scripts in order for them to work. Which is both highly undesirable and troublesome. Not to mention the performance loss by using a patch/dll or dll/script combination.

Because of this problem somebody has been making patches to add this support to mirc for a long time, but again using this third party patch is undesirable. Not only does it have some fundamental problems, but it requires an accompanying mirc script in order to handle input echo's correctly, and has several bugs surrounding actions and notices. (besides the fact that its a breach of mirc aup).

The text encryption part of the feature seems like it would be fairly simple to implement, as the encryption of outgoing messages (msg notice action dcc etc, not server communication..) would be the very last thing applied to the text after all utf8/sjis etc, & similarly decoding would be the very first thing applied to an incoming message that is detected as encrypted.

Some of the features and options could include...
- per channel and per user incoming & outgoing keys
- priority ordering for keys
- secure key exchange (DH?, would be great but not neccersary i guess)
- message marking.. that is; marking the decoded/encoded messages in some way, if option enabled, so that you can tell if a message sent/recieved was encrypted (popular methods include a tag at the end of the line, and changing the color of the closing '>' around the nickname, personally i prefer the latter)
- ability to define the encrypted text prefix that mirc will use for outgoing messages, and ability to define (multiple) prefixes that mirc will see and attempt to decode ( ie: +OK, mcps, (blfs) )
- option to encrypt text by default (obviously will only encrypt if an outgoing key is setup for that user/chan, or encrypt manually (some kind of alias/command at beginning of input to specify encryption should be used)
- a way to send plain text (unencrypted) to a user/chan even if the above option is enabled
- options to globally enable/disable both incoming and outgoing encryption
- ability to enable some kind of key encryption so keys are not plain text in ini settings file


A tab addition to the address book dialog, setup in a similar way to the control and colors tabs seems appropriate for keys/chans/users list?


"Allen is having a small problem and needs help adjusting his attitude" - Flutterby