Blowfish – Symmetric Ciphers Online

Autodetect: ON | OFF


Examples #

Try a few example inputs:
  • [TRY] String 'Online Domain Tools' encrypted with BLOWFISH (EBC mode) and key 'All-in-1 tools on the Internet'
  • [TRY] Decrypt string 'd0ff2d67d042926d1db7e428c35f9bea8713866250cab36f' with 3DES (CBC mode) and IV '45 6e 69 67 6d 61' ('Enigma 'in hex form)

Description #

Symmetric Ciphers Online allows you to encrypt or decrypt arbitrary message using several well known symmetric encryption algorithms such as AES, 3DES, or BLOWFISH.

Symmetric ciphers use the same (or very similar from the algorithmic point of view) keys for both encryption and decryption of a message. They are designed to be easily computable and able to process even large messages in real time. Symmetric ciphers are thus convenient for usage by a single entity that knows the secret key used for the encryption and required for the decryption of its private data – for example file system encryption algorithms are based on symmetric ciphers. If symmetric ciphers are to be used for secure communication between two or more parties problems related to the management of symmetric keys arise. Such problems can be solved using a hybrid approach that includes using asymmetric ciphers. Symmetric ciphers are basic blocks of many cryptography systems and are often used with other cryptography mechanisms that compensate their shortcomings.

Symmetric ciphers can operate either in the block mode or in the stream mode. Some algorithms support both modes, others support only one mode. In the block mode, the cryptographic algorithm splits the input message into an array of small fixed-sized blocks and then encrypts or decrypts the blocks one by one. In the stream mode, every digit (usually one bit) of the input message is encrypted separately.

In the block mode processing, if the blocks were encrypted completely independently the encrypted message might be vulnerable to some trivial attacks. Obviously, if there were two identical blocks encrypted without any additional context and using the same function and key, the corresponding encrypted blocks would also be identical. This is why block ciphers are usually used in various modes of operation. Operation modes introduce an additional variable into the function that holds the state of the calculation. The state is changed during the encryption/decryption process and combined with the content of every block. This approach mitigates the problems with identical blocks and may also serve for other purposes. The initialization value of the additional variable is called the initialization vector. The differences between block ciphers operating modes are in the way they combine the state (initialization) vector with the input block and the way the vector value is changed during the calculation. The stream ciphers hold and change their internal state by design and usually do not support explicit input vector values on their input.

Security note: Data are transmitted over the network in an unencrypted form! Please do not enter any sensitive information into the form above as we cannot guarantee you that your data won't be compromised.

Usage #

Using the Input type selection, choose the type of input – a text string or a file. In case of the text string input, enter your input into the Input text textarea1,2. Otherwise, use the "Browse" button to select the input file to upload. Then select the cryptographic function you want to use in the Function field. Depending on the selected function the Initialization vector (IV) field is shown or hidden. Initialization vector is always a sequence of bytes, each byte has to be represented in hexadecimal form.

Select the operation mode in the Mode field and enter a key in the Key field. The permitted lengths of keys for particular cryptographic functions are listed below. If you don't specify a key with permitted length the key is prolonged with the proper number of null bytes at the end. When the key is changed the prefix of sha1(key) function is automatically filled in the IV field. You still may change the IV. The feature is intended only for your convenience.

Finally, click the "Encrypt!" button or the "Decrypt!" button depending on whether you want the input message to be encrypted or decrypted.

The output message is displayed in a hex view and can also be downloaded as a binary file. The format of output file is simply a dump of binary data. The initialization vector is added to the file name for convenience.

Cryptographic functionKey lengthsInitialization vector lengths (all modes)
In bytesIn bitsIn bytesIn bits
AES16, 24 or 32128, 192 or 256 16128
DES1 to 8 bytes8 to 64 16128
TRIPLEDES1 to 248 to 192 16128
BLOWFISH1 to 568 to 448 16128
BLOWFISH-compat1 to 568 to 448 16128
RIJNDAEL-2561 to 328 to 256 64512
R41 to 2568 to 2048 --
SERPENT1 to 328 to 256 32256
TWOFISH1 to 328 to 256 32256

1 You can use only hexadecimal characters, newlines, tabulators and enter characters if you decrypt a string.
2 Input text has an autodetect feature at your disposal. The autodetect detects for you if the content of Input text field is in form of a plain text or a hexadecimal string. You can turn off the feature by clicking on 'OFF' or by changing current type of input under the Input text field.

Limits #

The maximal size of the the text string input is 131,072 characters. The maximal size of the input file is 2,097,152 bytes. One IP address is allowed to execute Symmetric Ciphers Online no more than 50 times per hour and no more than 100 times per day.

See Also #