The Humber Cipher Project
Humber is a symmetric, private key, virtual cipher machine written in FORTRAN. It uses a quadruple key register, double encryption algorithm. The keys are generated by an associated remote multiple tandem pseudo random number generator (PRNG). Its bitwise exclusive OR encryption provides a universal approach that allows it to encrypt and decrypt files with any file name, of any type and of any size, subject to a maximum length of 30 Mbytes. The ease of operating Humber is described. This paper includes a detailed description of the encryption and decryption processes. It also describes the key generation process. It is assumed that Humber is in the public domain and the security of the cipher depends entirely on the security of the keys, which has been assessed in this paper. The performance has been measured and reported here.
If you would like to contact me about Humber, please use the "Contact Me" tab above.
The Cipher Challenge
You can download various ZIP files for Humber by clicking the appropriate button. The "Humber Source Code" button allows you to download the Humber source code. However, you should note that the keys file (Keyfil.for) contains only zero values for the embedded keys. If you compile the code using this file for the keys, encryption will be reduced to a simple substitution with each character of the plaintext represted as an XOR with a constant value provided by the message hash. The constant value would easily be revealed by frequency analysis.
The "Plaintext Challenge" button allows you to download a cryptic file together with the plaintext file from which it was encrypted. This constitutes a plaintext challenge. The challenge is to discover the key file, based on the source code and the description of Humber. The cryptic file was encrypted using the Hexadecimal mode to allow easy visibility of the encryption, which would be very difficult to read in stream mode.
The "Cryptic Challenge" button allows you to download a cryptic file. The challenge is to discover the plaintext message, based on the source code and the description of Humber. The cryptic file was encrypted using the Hexadecimal mode to allow easy visibility of the encryption, which would be very difficult to read in stream mode. It was encrypted using a version of the executable with a different set of keys to the one used for the plaintext challenge.