QuickCopy — No typing that password again

Posted on 2 Comments
QuickCopy

A very simple password management tool that I developed in my free time. It aims to simplify the task of copy-pasting frequently used text, like usernames and passwords. A Windows-only tool, it’s code purely in C#, and makes use of the wonderfully portable SQLite to store entries in the backend. The interface includes 2 components (basically 3; one is hidden) — system tray icon and “add content” dialog. All content added through the dialog gets added as a menu item in the system tray icon’s context menu (the one you see on right-clicking the icon). To copy a content from the menu to the clipboard, all you need to do is just click on its entry in the menu and it’s done!

Some features:

  • Store content – frequently used text, like usernames.
  • Store passwords – these are masked by content tags, which are then shown in the context menu (in red color).
  • Hotkeys – the top 3 entries in the context menu can be quickly copied to the clipboard using the key combinations of CTRL+F1, CTRL+F2 and CTRL+F3.

For a password, its respective content tag acts as a mask to hide it under its name. Say you’re adding your Gmail password @ILuvKatz!! in the dialog, and set its content tag as Gmail Password, the password’s entry will appear in the menu in red color with the name Gmail Password. When you click on Gmail Password, your actual password will be copied to the clipboard.

There is no easy provision of modifying existing content entries. But I’ve provided a QueryEditor (invoked by pressing CTRL+Q in the “Add Content” dialog), where you can change the content entries by issuing your regular SQL queries. For example:

UPDATE content SET content='@IHateKatz!!' WHERE content_tag='Gmail Password'

Download: Source Code (1.1 MB) – Installer (1.2 MB)

Granular Package Archive

Posted on 2 Comments

rpm_logoContinuing my Java learning stint, I started experimenting on RPM packages in the Granular 2008 repository by extracting meta data from them using various Java classes I had written for my on-going college major project. To give a shape (end-user interface) to these leisurely done Java programs, I used my existing project MyBlog to create a website that could display information (extracted by the Java programs) about every RPM package in the repository. In other words, the Java programs store information about each RPM package in a central database which in turn is used by a PHP-based website to display that information, and much more.

In the introduction to Granular Package Archive post I wrote on the Team Granular blog, I explained the various features it has to offer. My personal favorite is the ability to leave comments on individual RPM pages. Other than that, I am quite satisfied with the overall look-and-feel too. In another of my Team Granular blog post, I explained the working of this package archive system, and the way to use it with any other repository of RPM packages.

Some guys at the Unity Project are also contemplating the idea of using this package archive system with their repository too.

Use SMS English to make monoalphabetic cipher more secure

Posted on 5 Comments

This thought occurred to me when I was preparing for my end-semester exam of the Information Security Systems course. The course was all about computer networks, security, and cryptology. Before I come to the topic of this post, let me give a brief introduction to Monoalphabetic ciphers.

Monoalphabetic cipher is a way to encrypt data (convert data into a secret form) by substituting each alphabet of the message to be encrypted with some other alphabet such that the substitute alphabet chosen for each alphabet remains constant throughout the message.

Accourding to simonsingh.net:

The ciphers in this substitution section replace each letter with another letter according to the cipher alphabet. Ciphers in which the cipher alphabet remains unchanged throughout the message are called Monoalphabetic Substitution Ciphers.

Suppose we want to encrypt the following message:
Meet me today at twelve

If we choose to substitute the letter “e” with, say, “u”, the letter “m” with “a”, the letter “a” with “c”, the letter “t” with “n”, and so on…, we’ll get the encrypted text like this:
auun au nyxcz cn npukbu

When you pass this message to your friend to let him decrypt it (convert it back into the original message), it would be assumed that it’s only you and your friend who knows the letter mappings – as to which letter was substituted for which. It seems pretty efficient way of sharing secrets? But, nope, it isn’t that efficient as it can be easily broken.

The most common and simplest way to break a monoalphabetic cipher is by guessing each alphabet in the encrypted text by using the help of a table/graph containing the relative letter frequencies in English language. Consider the frequency chart as follows:

As you can see from the above figure that the most used letter in English language is “e”, followed by “t”, then “a”, then “o”, then “i”, and so on…

Now looking at out encrypted text “auun au nyxcz cn npukbu”, it can be noticed that:
the letter “u” occurs 5 times (most times)
the letter “n” occurs 4 times (second-most times)
the letter “c” occurs 2 times (third-most times)

So, the first guess would be:
“u” was substituted for “e”
“n” was substituted for “t”
“c” was substituted for “a”

Using this much analysis, we try to decrypt the text as:
_eet _e t__ay at t_e__e

So you see, it wouldn’t be hard from here on to guess the original message as “meet me today at twelve”.

But this task of breaking the cipher (cryptanalysis) could have been made more difficult for the “hacker” by using SMS English. Suppose we wanted to encrypt this message:
come for tea at club see you there

Now before encrypting this message, you first convert it into SMS English:
cm 4 t at klub c u dere

With this converted text, proceed with the normal monoalphabetic substitution, and make sure your message target (probably your friend) already has the letter mapping. The encrypted text would be very difficult to break as mere guessing of letters using letter frequency table would lead to revelation of utter gibberish. And there are no letter frequency charts (or at least none I could see) for SMS language.

So all you SMS addicts, worry no more. You can finally utilize your skills for some good cause. 🙂

MyBlog 0.5 released

Posted on 2 Comments

MyBlog is a very simple, nice looking, fast, and easy-to-use blogging application targeted to be used as personal blog. It has been completely coded in PHP, and uses MySQL as the database backend. Unlike many other blogging systems available, like WordPress, Movable Type, etc., MyBlog contains only those features that should be sufficient enough to maintain a personal blog. This adds to the fast speed blogging offered by MyBlog.

Read more about MyBlog or check out detailed features of it.

Some salient features of Myblog:

  • A full-featured Dashboard (admin area).
  • Uses FCKEditor for creating dealing with posts and adding comments.
  • Categories are supported.
  • There are specialized pages – MyWidgets, MyMovies, MyGames and MyWebsites.

Demo (see MyBlog live in action)
Download (browse through the download archive)

Happy blogging! 😀

Improved Jumbled Words Game

Posted on 3 Comments

Remember the little, cute Jumbled Words Game I prepared in Python? More than 4 months had passed since I made it, and now it was time it got some makeover. So, featuring a host of new improvements, here I am making the improved game available for download.

Installing and playing is easy. Just to remind the readers, the game is made in Python using the wxPython libraries for the graphical interface (GUI).

The Python source was converted into a Windows executable (.exe) using py2exe. An installer was made out of the executable using InnoSetup. Both are freely available for download and very easy to use. I’ll come up with a Linux executable soon. And maybe a Python Egg?

Changelog:
1. Words are now read from a text file
2. The words read from text file are jumbled automatically & randomly
3. Changed splash image
4. Improved font system
5. Score system
6. Improved overall interface

The various downloads are:

  • Setup – install the game from this like any normal application (Windows)
  • Zipped – just extract the zipped file and double-click on JumbledGUI.exe to play (Windows)
  • Source – the source code of the game in a zipped file (cross-platform)

I hope you like it. You may encounter bugs. If so, do let me know. Also, I would be happy to get some feedback from you regarding this little app. 🙂

Credits: The game was improved with suggestions and inputs from DaniWeb.com.