2011-09-06 3 views
1

Je suis à la recherche d'un petit projet de conception de mon propre algorithme de cryptage symétrique. Ce sera principalement pour le cryptage de fichiers. Quel est le processus de conception d'un tel projet?Lors de la conception d'un algorithme de chiffrement, quels sont les facteurs clés qui déterminent ce que l'algorithme ferait?

+5

Espérons que la critique constructive: si vous avez à poser cette question, alors plus que probable que votre cryptage sera inutile. En d'autres termes, vous serez l'incarnation de la loi de Schneier: «N'importe qui, de l'amateur le plus ignorant au meilleur cryptographe, peut créer un algorithme qu'il ne peut lui-même rompre. –

+1

Ne le faites pas, si vous n'avez pas déjà assez d'expérience en cryptographie (c'est-à-dire analysé d'autres algorithmes, lu beaucoup de papiers, etc.), sinon votre algorithme sera trivial à casser. Utilisez un algorithme établi, si possible également un protocole/format de fichier établi. –

+0

Merci pour vos critiques constructives, j'ai eu beaucoup les mêmes commentaires avant. La chose est, c'est un projet, et je ne visualise pas relâcher cela au public extérieur. – liamzebedee

Répondre

6

Première leçon - ne pas.

Deuxième leçon - apprendre cryptanalysis. Si vous n'êtes pas au courant de la façon dont les systèmes de chiffrement sont déjà brisés, comment allez-vous évaluer comment vos propres algorithmes sont "forts" ou "faibles".

Le papier d'autoformation que j'ai lié à ci-dessus vieillit un peu cependant. Il y a des attaques plus récentes (comme la récente attaque bi-clique contre AES) qui ne seront pas couvertes ici.


Il y a aussi un site d'échange de jeune crypto de la pile, qui peut être un meilleur endroit pour poser des questions, si vous réellement l'intention d'étudier Crypto sérieusement (plutôt que « je l'ai inventé le meilleur système Crypto jamais, personne ne jamais être capable de le craquer ").

2

Construire un algorithme qui résiste à la ...

attaques de texte brut connus: http://en.wikipedia.org/wiki/Known-plaintext_attack

Chosen attaques texte brut: http://en.wikipedia.org/wiki/Chosen_plaintext_attack

cryptanalyse différentiel: http://en.wikipedia.org/wiki/Differential_cryptanalysis

linéaire cryptanalyse : http://en.wikipedia.org/wiki/Linear_cryptanalysis

Mes propres sugg estion est que vous commencez avec un générateur de nombres aléatoires cryptographiquement sécurisé (http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator), ensemencez ce générateur avec votre clé de cryptage symétrique et travaillez à partir de là en évitant les vecteurs d'attaque ci-dessus.

+0

Merci, c'est très spécifique et je l'apprécie beaucoup – liamzebedee

Questions connexes