Home Page
Projects > DeCrypt
DeCrypt Thumbnail
DeCrypt v1.00
Solves a letter-swapping encryption
Rating: 2 (It works... SLOWLY... wasn’t exactly a project of choice... kind of :-))
Project Time: June 2001-June 2001: 10
Languages: Java
Requirements: Java runtime
Downloads: Binary Source (See any updates below for prior versions)
Sections: Information, Content, Concepts, Notes, Updates, Comments
Was written for an “engineering camp”...
This was written for a week long “engineering” camp at Rose Hulman, 2 summers before I went there, as an intro to engineering. I made the mistake of going with something I was already strongly familiar with (CS), and learning nothing, instead of going with another non-CS group, so I ended up doing most of the work myself :-(. The project was to write a program that solved a very simple encryption in Java. We ended up finishing the project way too early, and so we added in a bunch of fun extra stuff, like a mario-goomba chasing gag.

Description and Use:
  • This program decrypts 8 bit encryption through a dictionary attack method.
  • It is not exactly optimized and was just meant as a programming learning project. It’s quite slow.
  • Dictionary files are organized by size of the word and then alphabetically. The “size.txt” file contains number of words contained in each corresponding dictionary file.

To Run:
Execute the “DeCrypter.bat” file. This is only programmed to work in Windows XP (even though it’s Java :-) ).

  • Decrypt:
    • This button takes the text in the first box and decrypts it to all possible phrases it could mean.
    • The way it does this is take the largest word and finds all the possibilities of what it could mean (corresponding characters must match each other in the final result).
    • After finding the possibilities for the largest word, it goes on to the next largest (or of same length) and finds all the possibilities for it, corresponding with the table using the first word, and does this until it gets to a word that doesn’t have an answer with the current table.
    • Once a solution has been found for every word with the same table, it lists it in the forth box.
    • The current word it’s trying is displayed in the second box, and the current table is in the third.
  • Encrypt: This button encrypts the text in the first field using a randomly generated table, puts the encrypted text in the second box, and the table in the third box.
  • Cancel: This cancels the current decrypting process.
  • About: A silly about window containing the group members and their handles at the time of the project.

Extra stuff:
Mario runs across the top of the screen while the program is in the decryption cycle. At random intervals, he chases a goomba, and on the way back, is chased by a larger goomba.

Try encrypting then decrypting “The responsibilities of this project are nothing compared to that of a Rose student”. This works relatively fast due to the long words that have few possible matches.

Encrypting example (Enter text in the top box and it comes out decrypted in the second, with the encryption pattern in the third)
Decrypt: Encrypting

Decrypting process (Phrase to decrypt goes in top box, current trial words are in the second box, current trial encryption pattern in the third box)
Decrypt: Decrypting

“It’s a me, a mario!”
Decrypt: Mario Gag
Java, simple decryption algorithm
When going into an educational situation where you can learn something new, don’t go instead with something you are already highly proficient at.
DeCrypt v1.0 @ 2010-02-13 21:16:18 - Download

DeCrypt v1.0 (and definitely the last version) is released. This was just an example programming project for school (kind of).

It’s slow, not too well programmed (multiple programmers), and sloppy. I don’t really care about it so I didn’t worry about cleaning it up for release. It’s one of the few programs I have done in Java, and hopefully one of the last.

To add comments, please go to the forum page for this project (guest comments are allowed for the Projects, Posts, and Updates Forums).
Comments are owned by the user who posted them. We accept no responsibility for the contents of these comments.

No comments for this Project