Sunday, June 28, 2009

TEncryption (Computer Programming)

Update 2012-02-08: See part 2.

I just got an email saying that my TEncryption program is going to be hosted on softpedia (http://mac.softpedia.com/get/Utilities/TEncryption.shtml).

It was 3 years ago that I created this program, and completely forgot about it until today. I made it open source, and wrote it in java (so it's platform-independent). It's my own algorithm up to 2^31 bit encryption (only because of memory issues); feel free to look at the source code to learn how it works.

I basically just want to say a little bit about an idea I developed for extending fixed-length hash algorithms to be variable-length hash algorithms. TEncryption used MD5, which I will probably have to change to SHA2 due to the fact that MD5 has been shown to be weak. However, the idea I had (outlined below) is generalizable to any hash algorithm, so that shouldn't be a problem.

The basic flow of symmetric private key encryption is as follows:




A problem arises, however, when you want an 8-bit private key, but only have a 4-bit hash function available. The steps outlined below are how I overcame this problem.


The final variable-length hash algorithm is only as strong as the underlying fixed-length hash algorithm used. In my case, I used this idea to extend the 128-bit MD5 hash algorithm to create variable-length keys. Some implementation choices exist when the hash algorithm's bitlength is not a power of 2 (or a fraction of the desired key's bitlength), and when the fixed-length hash algorithm has a greater bitlength than the variable-length key (not recommended). Check out the hash.java source file in the TEncryption program above to see my implementation of this.

Perhaps in another post I'll explain my underlying encryption algorithm I created but I'm not in the mood right now. Like I said, the source code is all there.

Rob, out.

30 comments:

  1. You Can Learn Computer Programming!
    I know you have always wanted to learn to use your programs on your computer, so the darned thing will do what you want it to do instead of the other way around. There are times when you feel so frustrated you have been tempted to throw it through a window. Even if you only use your computer to send email and play games, wouldn’t you like to maximize your computer to perform these tasks quicker and with more efficiency?
    Go To:>> http://is.gd/pCFnnm

    ReplyDelete
  2. Albeit numerous individuals may consider insurance to be IP as being counter to the perfect of a college's strategic instruct, nothing can be farther from the objective or truth of IP security. excel vba training london

    ReplyDelete
  3. We are currently into 2012, and your old PC simply quit. Do you fix it or purchase another PC? On the off chance that the PC is 5 years of age or more seasoned, at that point most likely purchasing another PC is the better procedure. autoclicker

    ReplyDelete
  4. Thank you because you have been willing to share information with us. we will always appreciate all you have done here because I know you are very concerned with our. applicant tracking system

    ReplyDelete
  5. Thanks For sharing this Superb article.I use this Article to show my assignment in college.it is useful For me Great Work. satta king online

    ReplyDelete
  6. Unfortunately, some PCB manufacturers do not test their boards before they are shipped, which can lead to problems at the customer's location. FR4 PCB

    ReplyDelete
  7. The most ideal alternative remaining parts to purchase additional items from the makers. razer viper mini

    ReplyDelete
  8. Site design improvement (SEO) is a large group of procedures, approaches and methodologies to set up your site to be found by significant web crawlers. SEO lead generation

    ReplyDelete
  9. Thus, it is basic that educationists are ceaselessly pondering the utilization of advanced gaming as a learning device in study halls. VMake Mod APK

    ReplyDelete
  10. With the above appropriation of profits, a few inquiries arise. This incorporates the accompanying:
    Webdesign Hasselt

    ReplyDelete
  11. Took me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me and I am sure to all the commenters here! It’s always nice when you can not only be informed, but also entertained! best chair for software engineers

    ReplyDelete
  12. Some online computer games are text-based. You can play those games in an electronic gathering. Free pc games

    ReplyDelete
  13. SEO are considered as the fundamental factors in improving the rush hour gridlock of one's site. Webdesign

    ReplyDelete
  14. A good technician should be able to add hardware to a PC and install its software for the hardware to work and also upgrade and update the software. Brian

    ReplyDelete
  15. Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that "The content of your post is awesome" Great work. Bixolon thermal printer dealers Kenya

    ReplyDelete
  16. If you don"t mind proceed with this extraordinary work and I anticipate a greater amount of your magnificent blog entries it support

    ReplyDelete
  17. This blog is so nice to me. I will keep on coming here again and again. Visit my link as well.. click here

    ReplyDelete
  18. It takes up a great deal of screen space and truly adds little past what Windows itself gives. It is consistently less expensive to buy a bundle than to assemble a custom computer. IT support Vaughan

    ReplyDelete
  19. I really appreciate this wonderful post that you have provided for us. I assure this would be beneficial for most of the people. https://oomnex.com/esthetic-spa-equipment-catalog

    ReplyDelete
  20. Within this webpage, you'll see the page, you need to understand this data. CSGO

    ReplyDelete
  21. I personally use just top quality supplies -- you can observe all of them from: תכנות לילדים

    ReplyDelete
  22. It isn't connected to specific enactment or proposed to advance a specific organization or item and isn't written in inclination of either law requirement or business PC legal sciences.Best Minecraft Servers

    ReplyDelete
  23. Advances in interchanges and innovation have carried with it an off-shoot marvel that has significantly affected the manner in which people and organizations interface and manage one another.pe info tool

    ReplyDelete
  24. With over a million mobile applications for both iOS and android platforms, it is easy to jump on the mobile app bandwagon and get one for yourself. Especially in today's times, when creating a mobile app isn't rocket science. Mobile apps are fast, more people are using them and they are at the cornerstone of human and technology interaction in the modern world. os path join

    ReplyDelete
  25. This is a diagram of what we expect soon to the extent SEO business is of concern. Digital Marketing Agency

    ReplyDelete
  26. This brought about the much needed professional and affordable website development. Website Developers

    ReplyDelete
  27. It is always a tedious task to track your backlinks and you cannot ignore it as you need to have an eye on your backlinks on a regular basis. Wiflix Net

    ReplyDelete
  28. Internet users tend to prefer easy to use websites, because they do not want to have to learn how to use a website every time they find a new one. They should be able to use a website after only a few seconds of looking around a homepage, any more and they will leave and browse elsewhere. web design dubai

    ReplyDelete