I've been doing some tests with this tool : http://crypto.hurlant.com/demo/CryptoDemo.swf and been trying to match blowfish results obtained from Mirc + blowfish (from what used to be fish.secure.us v1.30). I cannot for the life of me find what mode it is using... Nothing matches.. Does anyone know what mode it uses ??
相关问题
- garbage collection best practices
- How to load flex swf from flash?
- FlashDevelop Haxe (Flash) debugger
- Detecting user's camera settings
- Displaying two fullscreen windows on two monitors
相关文章
- Are there any benefits when using final in AS3?
- Trace on Chrome/Browser console
- as3 ByteArray to Hex (binary hex representation)
- How to connect to IRC server/ parse IRC MSGs / PIN
- About Collision detection alghorithms in AS3
- How to upload BitmapData to a server (ActionScript
- PHP storing password with blowfish & salt & pepper
- Manage resources to minimize garbage collection ac
It simply uses ECB mode, but the base64 encoding is done in an odd way - each block of 32 bits of ciphertext is independently encoded into 6 base64 characters.
IRC does not support any modes for encryption, everything is transferred as plain text except if you are using SSL. Blowfish is an encryption algorithm which will be translating your messages (on mIRC) or any client you are using.
Without blowfish messages will be sent to the server as:
PRIVMSG #Channel :YourMessage
With blowfish messages will be sent to the server as:
PRIVMSG #Channel :w8e09w8e09q8eqiwoqweqweqweqwueqwehwqheqywgBlowFishEncryption
Blowfish plugins for IRC seem to use the MODE_ECB (electronic code book), which is probably the least secure of the blowfish algorithms.
For encryption, they break the plaintext up into 8-byte chunks (the Blowfish ECB blocksize). They then encrypt each 8-byte block separately, and take the output of each encrypted block, and chunk that into (2) 4-byte longs, and base64encode each long, padding them to length of 6 base64 characters.
For decryption, this process is reversed, but because it's somewhat confusing I'll also describe that. Take 12 of the ciphertext bytes, decoding each 6-byte representation as a long ('>L'), so that you now have 8 bytes, which you then pass to the blowfish decryption algo.