Okay, I was thinking about making an encryption algorithm, now the thing with most algorithms is that they follow specific steps. Well, I was thinking, what if you made an algorithm that generated random characters (the kind you see on your keyboard, excluding characters that could crash the program), and each character followed a few steps. And the only way to decrypt the program would be to get the string of characters and reverse the steps. Now if someone would try to manually decrypt it without the code they would really have to bust there balls. They would have determine the steps of each character that had been used. This would be a big project (for me at least) and I think I could do it with my current knowledge. Each character of the encryption code would correspond to a single letter, the code would repeat itself as many times as needed.

Would this work? Or do most of you consider this to be a failed attempt.

Recommended Answers

All 13 Replies

How are you yourself going to decrypt this top secret message?

First random by function is not random...no matter what they call the function it is predictable...

Second you really should read up on this field "encryption", its big and diverse I doubt you came up with a new idea..

I really hate to busting bubbles but the truth is encryption is a very complex art that usually requires extensive training in mathematics and/or computer science(Master or Phd)

I'd like to see you try to implement one of the existing encryption algos, much less to coming up with your own.

Thought so.

Encryption does not have to be so complex and mathematical and what not. I can easily conceive that this would be considered a small encryption by many standards. This is not meant to stop white hat's by no means whatsoever, this is just a rather simple idea to keep the average person to read a personal message. No offense taken :). As for Vegaseats message, I won't need to decrypt the message if I have the encryption code. Another thing I would like to add, is that encryption is not necessarily defined as to how complex it is, but as to what it does.

I would also like to mention that you all don't have to be so snobby... You act like I just offended you all.

Sorry didn't mean to come off as uppity maybe you should check some of the open source encryption libraries that are available....G4143

What kind of steps are you talking about.
Do the steps only apply to the current character?
If yes, you just made a substitution encryption and that is easy to crack. Just count the character frequencys and compare with known counts for certain languages.
If you use the previous characters in the steps to take it will be much harder, something like the Enigma machine.

To clear up a few things... If I put the python interpreter on a USB drive with the functions and program and all, and run the program from the USB it won't be able to trace it unless the USB drive is inserted. Thinking about it, the original idea would be easy to crack as seeing it is very repetitive.

1. The program generates a random string of symbols, letters, digits etc. that is 1/2 the size of the string or message or other various things.

2. The program interprets each character as an algorithm step, and then reverses the characters and interprets that.

3. The program will run through the string, and apply the code to each character.

It could be useful to visit the pycrypto page.

Random generation IS very predictable, not to mention a brute force could probably crack that in about 5min. Cryptography is really intense, and your not really using an algo, more like a formula. Not too mention most encryption methods use randomly generated keys, and TrueCrypt for example uses your mouse movement to generate a random key(which is a good it). So your idea, its not gonna work, if you want to try it i can garuntee that if you give me the source code and something that you encrypted with it i can reverse engineer and crack the encryption in about 2 min.

Encryption does not have to be so complex and mathematical and what not. I can easily conceive that this would be considered a small encryption by many standards. This is not meant to stop white hat's by no means whatsoever, this is just a rather simple idea to keep the average person to read a personal message. No offense taken :). As for Vegaseats message, I won't need to decrypt the message if I have the encryption code. Another thing I would like to add, is that encryption is not necessarily defined as to how complex it is, but as to what it does.

Encryption complexity does mater, because your encryption can be solved with a bruteforce in under 5 min, what i could do is create a for loop that loops up to whatever number and inputs that into your algo, have it do a regex to find anything that could be english, once thats found i have the message, cracked with a simple 15 line scripts. Its almost pointless to make it, but i won't deny that it is a OK project to start your adventure down the road of cryptography. Personally my first experience with cryptography was making a MD5 hash cracker, I'd recommend that you try something like that.

*Sigh* I don't know if you can't read, or you just skipped some posts, but this isn't supposed to be really complex. I don't know how fast brute force is, but IMO 60 to the power of the amount of characters in the message is a lot of combinations. But another thing that I don't know you understand, is that most people won't have the source code, because it would be on a USB (oh duh!, of course....) If I wanted to do an encryption, giving the source code would be like giving the code to the vault. The final result would just be a lonely string sitting in a text file. You can't expect to have the engine running and the source code.

commented: you, are an idiot. -1

*Sigh* I don't know if you can't read, or you just skipped some posts, but this isn't supposed to be really complex. I don't know how fast brute force is, but IMO 60 to the power of the amount of characters in the message is a lot of combinations. But another thing that I don't know you understand, is that most people won't have the source code, because it would be on a USB (oh duh!, of course....) If I wanted to do an encryption, giving the source code would be like giving the code to the vault. The final result would just be a lonely string sitting in a text file. You can't expect to have the engine running and the source code.

Well either you're completely ignorant, or you have haven't put much thought into this. If someones in the position in which they can take your encrypted files then they could potentially steal your script, and in seconds they could crack it, i can make a loop that can input ever number from 1-9,000,000,000,000 in under a minute.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.