I would like some input on this encryption algorithm. What do you think? What are it's weaknesses?
Just BASIC Programming - Message Encryption (Jose's Open Source Encryption)
NOTE: I do not want to write it for the binary level yet. also, it is opensourced and licenced under the gnu gpl v3
12 replies to this topic
#1
Posted 25 January 2011 - 11:47 PM
|
|
|
#2
Posted 26 January 2011 - 06:32 PM
You are implementing a simple ASCII based encryption. With no sort of rounds, a cryptanalysis, or the ability to obtain the original text without the key is extremely successful.
Consider following the mathematical properties of other encryption algorithms (Blowfish, DES) and implement rounds including lookup tables if anything in to your formula (which will require binary operations), this will allow you to produce a binary result completely independent of the original plaintext in any way.
It can be represented then in Base 64 or hexadecimal, so then that the user can transport the result.
Consider following the mathematical properties of other encryption algorithms (Blowfish, DES) and implement rounds including lookup tables if anything in to your formula (which will require binary operations), this will allow you to produce a binary result completely independent of the original plaintext in any way.
It can be represented then in Base 64 or hexadecimal, so then that the user can transport the result.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#3
Posted 26 January 2011 - 06:48 PM
Don't want to sound like an idiot, but what are rounds and how can I implement them?
#4
Posted 27 January 2011 - 12:09 AM
A great way to understand what you are doing and what can be done is here:
Cipher - Wikipedia, the free encyclopedia
You will notice the sample historical cipher implementation being similar to yours (text replacement), and simple to crack. Implementing ciphers, that use multiple steps (rounds) can achieve a great amount of more complexity in your algorithm. You may wish to look at some of the more modern ciphers (listed on the page as well) to get ideas on what they are and how to form a basic implementation.
There is the standard for data encryption (DES) and the specification can be found here, although it relies on complex mathematical operations, matrices and arrays that may not be able to be ran on BASIC (although I do not know, you can browse the figures and see how rounds are performed in that block cipher)
FIPS 46-2 - (DES), Data Encryption Standard
Cipher - Wikipedia, the free encyclopedia
You will notice the sample historical cipher implementation being similar to yours (text replacement), and simple to crack. Implementing ciphers, that use multiple steps (rounds) can achieve a great amount of more complexity in your algorithm. You may wish to look at some of the more modern ciphers (listed on the page as well) to get ideas on what they are and how to form a basic implementation.
There is the standard for data encryption (DES) and the specification can be found here, although it relies on complex mathematical operations, matrices and arrays that may not be able to be ran on BASIC (although I do not know, you can browse the figures and see how rounds are performed in that block cipher)
FIPS 46-2 - (DES), Data Encryption Standard
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#5
Posted 27 January 2011 - 12:19 AM
Don't write your own encryption algorithm. You do not have the background or the knowledge to do so. The result will be weak and worthless.
#6
Posted 27 January 2011 - 04:45 AM
Thanks for the over whelming vote of confidence! That has been noted (Statistically), but I am very interested in the ability you posses to foresee the future. As the old proverb goes "anything is possible.You just have to believe." P.S. Please tell me when I'm wrong, but don't tell me I'm wrong simply because you doubt my credentials. If the entire world worked on that philosophy, we would still believe the world was flat.
#7
Posted 27 January 2011 - 03:19 PM
You learn a lot about logic, base conversion, and other mathematics not limited to the programming language you are working on, when trying to implement a basic encryption format. It is far a better way to learn about encryption, rather than reading about it. I do not get why it would be "worthless". It may take years to write one that can match a standard, but that is not the point.
If I knew more about this, I would definitely write you pseudocode. :)
If I knew more about this, I would definitely write you pseudocode. :)
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.
#8
Posted 27 January 2011 - 04:22 PM
Thanks :-) you've already helped so much Alexander :-) Some how every time I visit here you're the first or second to answer my question. Good job. and thanks again.
#9
Posted 28 May 2011 - 05:53 PM
I also think that trying to make some basic encryption of your own is a nice and good way to learn. Also trying crack some basic ones (these are mostly not suitable for actual use) can be very helpful to get better an understanding of how and when to use encryption. God only knows the crazy and seemingly useless projects I’ve done like: pixels in img to morse, enigma, text replacement and much more.
It has learned me the basics knowledge about different methods like one way, public key etc. Now I know what to use and when.
It has learned me the basics knowledge about different methods like one way, public key etc. Now I know what to use and when.
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim." (Edsger Dijkstra)
#10
Posted 01 June 2011 - 11:35 PM
Me myself am actually trying to do precisely what you are doing. I advise you investigate into AES, a common encryption algorithm. Its pretty easy to understand and good if you want to use some of the functions from it.
#11
Posted 08 June 2011 - 11:47 PM
Cryptography is hard. It is hard because there are always smarter people out there who can break your home-made super-duper encryption algorithm. If you are so confident in your abilities, use your own encryption algorithms in your own applications.
#12
Posted 09 June 2011 - 03:59 PM
ki4jgt said:
I would like some input on this encryption algorithm. What do you think? What are it's weaknesses?
Just BASIC Programming - Message Encryption (Jose's Open Source Encryption)
NOTE: I do not want to write it for the binary level yet. also, it is opensourced and licenced under the gnu gpl v3
Just BASIC Programming - Message Encryption (Jose's Open Source Encryption)
NOTE: I do not want to write it for the binary level yet. also, it is opensourced and licenced under the gnu gpl v3
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account


Back to top









