This cipher, BUGS, started as my personal project in 1995 and a first version was published in 1996 while studying at a French computer school. Pressure from the French Domestic Secret service, the DST, forced me to remove my algorithm from the public domain.
Crossing the channel for my studies allowed me to resume work on it as part of my UK Final Year BSc project. I finished its first major redesign in 1997.
By 1999, the cipher started to attract quite a lot of attention by being featured in some magazines and an IEEE newsletter [i]. One person especially, spent a lot of times trying to break the algorithm. That person, who I will just name “Simon”, introduced himself as a bored teenager and over a few months showed a very high level of understanding of the algorithm itself, highlighting a number of weaknesses and translating most of the algorithm in pure assembler for efficiency and test purposes. I was responding to each weakness highlighted by the unusually technically talented and politically opinionated teenager, by spending days and night working for an improved algorithm design. This resulted in 10 intense months of work and the latest version of the algorithm (v4.x); as well as the end of the communication with my “muse” who suddenly had personal problems and could no longer spend time on my algorithm.
As much as I would like this “Simon” to be more than just a talented teenager, this is more than unlikely and just an interesting anecdote.
No known cryptanalysis has been done on this version of the cipher. Its creation was based on logic, not mathematics and by an amateur who had just finished reading Bruce Schneider’s Applied Cryptography book [ii].
BUGS (Big and Useful Great Security) Algorithm V 4.0.0
Symmetric Key Algorithm
Dynamic Cryptography Algorithm
Open Source, GPL
Multiplateform application(Unix, Windows)
Infinite key length (as big as your integer type you are using), default : 128 bits
Bilateral bits swapping with variable windows.
Bilateral Pseudo randomly binary operations.
Dynamic Variables changing in functions of the password, such as: Round, Block Shuffle, etc
Key buffering against key dependancy attacks
Addition of a random number to the key
Random Number Generator (RNG) using the ISAAC Algorithm
Possibility to specify your own RNG seed
5 differents crypt’s level (allowing you to choose between efficiency and speed)
Seed and shuffle functions
A clear text can be crypted using its own data
2 methods of execution: direct disk access or memory cache
Strong Key generator
Login application (only with the Unix application)
Secure Chat (Beta version)
[i] IEEE Newsletter – Newsletter of the IEEE Computer Society’s TC on Security and Privacy; Electronic Issue 28; 13 July 1998;http://tinyurl.com/r83xhc
[ii] Applied Cryptography book – B Schneier; Applied Cryptography; Second Edition; John Wiley & Sons; 1996