One time pad encoder-decoder
Saturday, February 18, 2012
Well I had a few days off being rather unwell and by Saturday morning I was bored bored bored. I needed to code. So I finally started a project to write some encryption/decryption software. Both to learn cryptography and to excercise some mental muscle.
A little while later, I had a decent command line based One time pad encoder/decoder. Have a go here:
Webweasels Priyom OTP software
Its only a rough draft for now, but has two encryption modes and some other features:
Encrypt with and without spaces:
One of the priyom team wants spaces in his messages, but still a true OTP, so spaces are available. Bear in mind the key will require spaces too!
Encrypt with or without supplied key:
If you don't have a key ready, you can encrypt a message and the system will generate a key for you!
Encrypt/decrypt with supplied key files:
The encrypt and decrypt section will take any file as a key input.
Generate key:
Generate OTP keys (Interestingly the more you generate in one session, the more random they get! This is down to how .NET's randomiser works.)
The system is defaulted to use your My documents folder for now so, look for the files: key.txt, cypher.txt and message.txt If you create a message without supplying a key, the system writes the encoded message as cypher.txt and the key as key.txt. When you decrypt a message it appears on screen and in message.txt
All files are referenced by .txt by the system, so name your key files as .txt and only type the name when the system asks. So if your keyfile is "webweaselskey.txt" put "webweaselskey" when prompted. Make sure its in your My documents folder!
The code for this is available on github in the priyom project folder, if you would like to add anything to it, feel free to join in the project. My intention is to get as many different cyphers into it as possible, from Ceaser upwards to triple DES, so eventually it will be a full suit of text encoding/decoding software. Ill work on it!
Podcast is coming soon, fear not!
EDIT: This software requires .NET 4.0 so you may need to update. Feel free to email or drop in the IRC channel if you have issues, Ill be happy to help.
EDIT EDIT: Bug fix version uploaded! OTP without spaces did not remove spaces from the message and they encode as weird chars (Have a look at the source on github, prizes for those who can tell why!)
73
Webweasel