开发者

When designing an encryption algorithm what are the key factors that determine what the algorithm would do? [closed]

开发者 https://www.devze.com 2023-04-03 03:28 出处:网络
Closed. This question is off-topic. It is not currently accepting a开发者_如何学Pythonnswers. Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed. This question is off-topic. It is not currently accepting a开发者_如何学Pythonnswers.

Want to improve this question? Update the question so it's on-topic for Stack Overflow.

Closed 10 years ago.

Improve this question

I'm looking into a little project of designing my own symmetric crypt algorithm. It will be for mainly file encryption. What is the design process for such a project?


First lesson - don't.

Second lesson - learn cryptanalysis. If you aren't aware of how crypto schemes are already being broken, how will you assess how "strong" or "weak" your own algorithms are.

The self study paper I linked to above is aging a bit however. There are newer attacks (such as the recent bi-clique attack against AES) which won't be covered there.


There's also a fledgling crypto stack exchange site, which may be a better place to ask questions, if you actually intend to study crypto seriously (rather than "I've invented the best crypto system ever, nobody will ever be able to crack it").


Build an algorithm that is resistant to...

Known plain-text attacks: http://en.wikipedia.org/wiki/Known-plaintext_attack

Chosen plain-text attacks: http://en.wikipedia.org/wiki/Chosen_plaintext_attack

Differential cryptoanalysis: http://en.wikipedia.org/wiki/Differential_cryptanalysis

Linear cryptoanalysis: http://en.wikipedia.org/wiki/Linear_cryptanalysis

My specific suggestion is that you start with a cryptographically secure random number generator (http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator), seed said generator with your symmetric encryption key and work from there avoiding the attack vectors above.

0

精彩评论

暂无评论...
验证码 换一张
取 消