Coder's Lagoon
Wrote that, what's next?


Welcome to my software page. Here you will find the latest release of all of my current projects, mostly in the field of cryptography, for which the source code is always available, as I believe this is the only way to distribute trustworthy software. There are also some other freeware applications I wrote which you might find useful.

The source code for all the libraries here depends on individual licenses, please read the documentation carefully, or ask if in doubt. It would be greatly appreciated if you let me know about the environment where you are using or intend to use my software. This helps keeping me track of where the code is actually applied, and what projects are worth putting time and efforts into.

MD5 checksums are available for all of the files, so you should be able to verify if the data downloaded is authentic, or if has been altered by a third party. Please notify me if you find differences, which could be an indication that malicious code has been introduced. For additional protection you can also access this website via a
secure server.

For further questions and discussions please feel free to contact me.

Markus Hahn


Quick Links

Bad Peggy | Blowfish Advanced CS | Password Finder | MD5 Checksum | CuteSocks
estreamJ | Skein512.NET | Phelix | Blowfish.NET | BlowfishJ | Tiger.NET | Museum

 Applications  Libraries
Bad Peggy 1.0

is my latest application. It searches for damaged JPEG files and validates and verifies pictures for truncation and other blemishes, which sometimes occur when such files are getting downloaded or restored from bad backups. If you haven't encountered them so far: here are some samples to try out.

It's quite useful for instance to check if your precious photo library is still all intact - and it's fast, comfortable to use and reliable in the analysis it does.

Bad Peggy is freeware and runs on multiple operating systems - currently there is support for Windows (
screenshot) and for Linux (screenshot).

Requires
Java 6, please install it first if needed.

Download Bad Peggy for Windows
(1445 kB)

MD5: e3 2c b2 95 52 6e ba 43 59 c3 c2 29 40 74 9b 1b

Download Bad Peggy for Linux
(1290 kB)

MD5: e4 c8 ef 0f a1 df e4 0d bd 16 d9 17 1f 7a 14 75


Blowfish Advanced CS 2.57

One powerful file encryption and security tool for the Windows platform. As the successor of highly successful BFA97, Blowfish Advanced CS offers a bunch of new and improved features which are:

  • Blowfish, Twofish, AES, RC4, TDES, Serpent, CAST
  • Strong key support, handling and cryptography
  • Fast: encrypts megabytes of data per second
  • Data compression using LZSS, deflate and BZIP2
  • Secure wiping of files and clearing of empty disk space
  • Comfortable user interface with built-in file browser
  • Easy working with encrypted files
  • Complete integration into Windows Explorer
  • Automation of daily routines by using job files
  • Dozens of options to finetune the application
  • Small: fits on half of the space of a floppy disk!
  • Trustworthy: the complete source code is available
  • Quick language switch (German and English)
  • Runs on all Win32 versions, from 95 to Vista
  • Personal Edition without any restrictions!

Check out the FAQ page, if you have further questions. You might want to read the change notes to get information about the latest features and fixes. Or just look at a screenshot.

If you want to give it a try, please download the installer:

Blowfish Advanced CS - Installer
(908 kB)

MD5: e1 40 82 3e ec 62 34 0f 1b 5f 3c b4 0e 63 ca 1f

For users who don't need or want an installer, who like to save some download time or who face problems with the regular installer here's the compact ZIP file version. Please follow the steps in README.TXT (or LIESMICH.TXT for German users):

Blowfish Advanced CS - Files Only
(614 kB)

MD5: 65 ed 16 da b0 96 4f 9b d8 6b 62 bd 5a 00 ab d9

The complete source code of Blowfish Advanced CS is available under the Apache 2.0 License. The application itself is written in Delphi and C/C++. Please check out the included BUILDING.TXT file for details about how to built, and LICENSE.TXT for the legal aspects.

Blowfish Advanced CS - Sourcecode
(1013 kB)

MD5: fb fb 6f 7e 5f 33 c8 60 42 e8 57 4f f3 72 22 99

Parlez-vous français? Si c'est le cas, vous pouvez obtenir le pack français ici. Merci beaucoup, Philippe!

Parli italiano? In questo caso, puoi scaricare
la versione italiana qui. Grazie, Marco!
(
12 kB, MD5: fa 0e 52 97 69 7f 08 25 9d 27 96 a5 d3 8b 59 90)

¿Hablas Español? Si es así, pincha aqui para bajarte
la versión en Español. Gracias, Carlamen!
(72 kB, MD5: 3e 18 da 73 7a da ae 56 ab e4 bf 10 07 4b db d5)


Password Finder 2.01

Applying brute force attacks, this application can help you to recover your files encrypted with Blowfish Advanced CS, for which the password was lost - given that it was a relatively weak one or it can be partially guessed.

It also offers the possibility to write your own search routines in VB.NET and C# , compiling, testing and running it directly in Password Finder.

You need the Microsoft .NET Framework 1.1 or higher installed to run this program (available through Windows Update). Please check out the documentation in the Readme.html file. Freeware, all sources (written in VB.NET) included.

Download Password Finder
(49 kB)

MD5: ad 67 78 12 87 7b 51 76 a5 39 23 1c ed b4 a6 7c


MD5 Checksum 1.04

This is a small Win32 application which is able to calculate the MD5 digest (some kind of a secure checksum) of the content of any file.

You can use this tool to ensure that the content of a file wasn't altered in any way. If e.g. someone tries to insert malicious code into an executable file its MD5 checksum will change and you note that something is wrong. Now with a complete HTML help system. Sourcecode included.

Download MD5 Checksum
(46 kB)

MD5: 2b 63 92 0c bb d2 85 26 02 f0 90 5d 0e 2c 72 e7


CuteSocks 1.0

is a small SOCKS4 server written in Java, for 1.5 and above. Verified to run under Windows and Linux. It is a simple, but robust command line solution for general proxying purposes. Additionally it resolves all of the source and target addresses and provides precise logging of its connections.

For debugging and forensics it is also capable of dumping all of the TCP traffic routed through into single files.

Free to use, including commercial environments. The source code is in the package for review. Please check out the readme file first before using it...

Download CuteSocks 1.0
(28 kB)

MD5: 07 73 5c 95 9f 3c 5a 91 7b 4e 66 8d 88 c7 ae dc

estreamJ 0.09

This project had the goal to implement most of the significant stream cipher candidates which participated in the eSTREAM contest in Java - as efficient as possible, especially regarding performance. For more information about the contest and its outcome please visit the official website.

The algorithms which got implemented are AES/CTR, Dragon, Grain/Grain-128, HC-256, Hermes8, LEX, MICKEY, Phelix, RC4, Salsa20, Sosemanuk and Trivium. The ZIP file contains all Java sources and an Eclipse project to build and test comfortably. To see the algorithms performing live please go to the performance lab.

Disclaimer: notice that estreamJ is not affiliated with eSTREAM, since they had their own testing framework written in C. Some algorithms might require a commercial license -please inform yourself independently if you intend to use them in your own application.

Download estreamJ
(89 kB)

MD5: 5f 53 1f 8a f7 f9 d8 1c a1 fa 7b fd d0 e2 71 17


Skein512.NET 0.03

The very first attempt to port the original Skein-512-512 Java implementation by Thomas Mueller to C#. The library processes the test vectors successfully, also updated to the new "tweaked" version, as introduced for the NIST contest, round 2. Sample code is included for the curious. For details please check out the README.TXT.

The project requires VS 2008 (Express works) and targets Microsoft .NET 3.0.

Download Skein512.NET 0.03
(10 kB)

MD5: 1a 71 30 88 6c 33 e5 bc 52 8f 62 24 62 41 98 34


Phelix (legacy)

Below are my .NET and Java implementations of Phelix. They were written at a time when this algorithm was still a vital eSTREAM candidate. However it basically got broken and thus is not amongst the ciphers going for the 3rd and final round. If you are still interested in the code feel free to take a look at it (both packages are actually compatible to each other), yet usage for real world applications is definitely not recommended anymore...

Download PhelixJ 1.02
(14 kB)

MD5: 16 61 4f 2c 7a 23 3d 17 c5 a2 df e2 86 78 fd 05


Blowfish.NET 2.1.5

One of my latest projects and the approach to bring the Blowfish algorithm to the Microsoft .NET platform (2.0+). This implementation covers ECB, CBC and CFB, is compatible to the official reference vectors and OpenSSL's Blowfish code. It also has been tuned for speed to the extreme, outperforming AesManaged by 3:1.

The package includes a demo application to learn the basics and the BlowfishSimple class for ready-to-go string encryption. Interoperability classes for 100% compatible data exchange with the Java library BlowfishJ are part of this software. So are NUnit 2.4 test cases. The BlowfishAlgorithm class ties nicely into the .NET security architecture, and all of the sources are included for review purposes. The solution works with Visual Studio 2008, including C# Express.

Download Blowfish.NET
(55 kB)

MD5: 48 66 c8 e1 8a af 0e 6f 75 2b 07 f1 38 6c 26 fb


BlowfishJ 2.41

The Blowfish implementation in Java. Provides extremly fast ECB, CBC and CFB encryption, which is also compatible to OpenSSL. Comes with the BlowfishEasy class for simple string encryption, plus a solution for streaming - both are interoperable with Blowfish.NET. Also includes BlowfishTool, a minimalistic file encryptor with compression.

All sources, a deployable JAR file and coding demos are included. JavaDoc can be generated via the Eclipse project file. Free to use in non-commercial applications.

Download BlowfishJ
(72 kB)

MD5: fd 2b e4 14 58 15 17 0a 17 ff ae 7e a0 00 32 03


Tiger.NET 1.02

This is a fast implementation of the Tiger Hash Algorithm by Eli Biham and Ross Anderson, released in 1996. It is a safe alternative (so far) to the other common hash functions like MD5 or the SHA family, which recently showed some weaknesses.

The code is written in Visual Basic.NET 2005 Express and implements the HashAlgorithm of the .NET 2.0 Framework, making it to be usable with standard classes like CryptoStream.

This package includes the sources and project files for the real world applications WinTiger and TigerSum, plus a demo and verification of the correct handling of the official test vectors. Free to use in other applications, please check the README.TXT for details.

Download Tiger.NET
(42 kB)

MD5: ca 96 4b 32 57 a4 e0 01 5b 9f c2 5b 31 7f ba 23

Or if just want the compiled applications, including a manual and ready to run without any installation necessary, then please

Download WinTiger and TigerSum
(50 kB)

MD5: 46 61 1f 1d a6 8a 21 8d eb ef 78 0e 06 f3 5b a6


 Museum

For those who are interested in the past. Right out of my old archive. No guarantee that the software still works or even compiles. Feel free to browse it, but please don't publish anything without my permission, thank you.


Blowfish Advanced 7.01

The first of the gens BFA, published in 1996. This is the source code of the 7.01 release. You need Borland Pascal 7 and Turbo Assembler to compile this.

Download BFA7.01 Sourcecode
(277kB)

MD5: 6e 2a 66 bb 3f d3 3d b1 e4 0f ba e8 16 d4 c9 2a