Visual Basic Code

All this source code is original and is my intellectual property. You have the right to redistribute it, use it, modify it. All I ask is that you don't take unfair credit for my work.

Blowfish implementation
Here you will find source code for implementing the Blowfish encryption algorithm in Visual Basic. Check out Bruce Schneier's web site for more information on this strong encryption algorithm. VB is not ideal for this kind of programming, however I did this in order to be able to add a class to a project and have strong encryption without relying on external DLLs with their corresponding hassles. It is definitely a primitive implementation, basically a translation of the reference code. It works primarily on byte arrays but the class provides wrappers for encrypting files and string. You can use/modify this code anyway you wish. Update: I've fixed the initialization so that the code meets the published test vectors. I must have broken that part in a previous update. Anything encrypted with a previous version of the class will not be compatible with this version. I've included a test project that shows the test vectors, a simple performance test, and a simple example of usage.

Time Server Port 37 service (RFC 868)
This is a sample project showing how to obtain the GMT and update the system clock from the port 37 service on Internet time servers.

Time Server Port 37 service (RFC 868) For VB.NET
This code snippet shows how much easier the time synchronization code became with VB.NET. Note that the crazy hack with calculating the number of seconds since 1990 is no longer necessary as the VB.NET DateAdd function takes a 64 bit integer instead of a double word.

SimpleCrypt
So Blowfish is too complicated? All you want to do is keep your brother out of your diary (and your brother is not noted for his abilities in cryptanalysis?) This is a simple modification of the -text XOR key- routine that allows for improved security. It will scramble your data, but will not encrypt it with any great degree of security. Instead of just a password, there is a password and a numeric key. Together, they allow more security with the -text XOR key- method than either one alone.
   You are visitor number 14242 for this page.
   Saturday, July 04, 2009