4 Years
Discussion Span
Last Post by Hiroshe

No nothing specifically at the moment, I dont know anything about creating encryption algorithms but am think it looks like an interesting thing to learn.



Is it possible to create an encryption algorith using C#?

Just to be clear, are you taking about implementing an existing algorithm in C# or inventing a whole new one? Because the latter is strongly not recommended.

Not that there's anything wrong with studying modern encryption techniques, but be aware that it's a deep hole. The problem is that making up new techniques nearly always results in an incredibly easy to break encryption.


@deceptikon Yes I am meaning inventing a whole new one. I know about MD5 hash encryption but I was actually wondering how difficult it would be to produce your own algorithm


I was actually wondering how difficult it would be to produce your own algorithm

Very difficult. The big name algorithms were developed either by world renown mathematicians and/or governments, and even then you see significant flaws discovered that completely invalidate them in relatively short order.


First off, creating an algorithm is language agnostic. You can do it in any turning complete language.

On to the parts about creating your own encryption algorithm: As long as it's not for production use, then I encourage you to study it and try it.

Creating one that's secure and practical on the other hand requires a lot more work. It would require studying Computer Science, Mathematics (math level, ie, proof-based), combinatorics, number theory, linear algebra, calculus as well as special training in cryptography. Even at that point, making one is difficult - and it would not be considered safe unless it's easily analyzable, proofs can be written for some of the expected properties (confusion, defusion, resistance to differential attacks, etc...) and it would not be considerd safe until after EXTENSIVE cryptonalysis. You will not be able to get the extensive cryptonalysis done very easily, unless you have a good reason too (ie, you work for a company that specialises in cryptography, or if you submit it to a highly regarded cryptography contest).

In any case, I would recommend that you start learning more about cryptography by following time starting from about the mideval times and work your way forwards. When you start getting into the more advanced cryptography, try to read and understand academic cryptonalisys papers.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.