Cryptography

From Robo-T
Revision as of 15:34, 14 December 2014 by BelievingThomas (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Cryptography is the study of making and breaking codes. Since the advent of the computer, cryptography and computers have had a close relationship. In many ways, codes have been a great motivation in the invention and development of computers, the same holds true even today.

Types of Codes

Code Rings

these are codes that are made by each letter or symbol represents another letter. Some times these can just be shifted so many letters or mixed at random. In this form they are relatively easy to crack if there is enough letters to analyze. This is the basis of the cryptograms that I used to do as a kid. I honor of this method, I have created a program that would use this code as a basis to create and save keys, as well as, encrypting and decrypting. I have added a few features that should make this type of code very difficult to crack if used properly. I have called it the Modern Code Ring 1.0. Yeah, it is mainly for fun and for my students. I would say you could use it, but why when I produced the next program which should be uncrackable.

    • pros of code rings
      • simple to make and use
      • fun for kids to play with
      • fun to solve in the form of cryptograms
      • can be made formidable if mixed with some other methods
    • cons of code rings
      • vulnerable to brute force
      • vulnerable to analysis
      • The keys must be secure and in the possession of both parties.

One-Time Pads

These codes are uncrackable if the keys are created properly and only used one time. And one time means one time. Each value is to affect only one character exactly one time and only in one message. The key is a series of random values that cannot be reproduced. Then each character is to be acted upon by each value in a prescribed manner. For instance, nth character "a" can be represented by the number 1 and then the nth value in the key can be either added or subtracted to the number representing 'a'. In this way, there should be no discernible pattern. In fact any code could produce any message with some key. That means there is no means of elimination. In honor of this message and for fun I created the One-Time Pad code program. From what I can discern, the program holds to the principles of the one-time pad so as to produce uncrackable codes (in other words, computers or humans have no means to decrypt without a key.) Whats the catch?

    • pros of One-Time Pads
      • In principle cannot be cracked
      • Can be used for various forms of information.
      • Just works.
    • cons of One-Time Pads
      • Strict usage must be upheld, no recycling
      • The other party must be in possession and the keys must be kept 100% secure. This is the most difficult problem of the method.
      • Can be done with pencil and paper
      • Can be broadcasted on world radio (and they are), since no one can crack them.
      • Keys must be as long as the messages.

Mixture

Types of codes can be used in tandem can make the codes harder to crack. However, it is not a guarantee that it will increase the security. I could conceive of it weakening the code in some way.

(More to come)