2010-08-22 7 views
3

Je dois faire une application qui peut crypter et décrypter le fichier texte en utilisant IDEA (International Data Encryption Algorithm) en Java ou en C#. Je sais que dans java il ya JCE (Java Cryptography Extension) intégré, mais comment aller plus loin, quelqu'un peut-il me donner quelques suggestions?Comment implémenter IDEA?

merci.

+0

Ok merci :). – Supereme

Répondre

2

Vous pouvez essayer d'utiliser BouncyCastle, qui est disponible pour Java et C#. Cependant, vous aurez besoin pour obtenir les pots à droite (en supposant Java) pour le soutien IDEA, selon ce note:

Depuis la version 1.40 la mise en œuvre de l'algorithme de chiffrement IDEA a été retiré des fichiers jar réguliers à la demande d'un certain nombre d'utilisateurs. Jars avec les noms de la forme -ext- toujours inclure l'implémentation IDEA.

EDIT (pointeur ajouté à l'exemple): Je n'ai pas essayé, mais je pense que le DESExample pourrait être adapté pour faire ce que vous voulez, probablement en remplaçant le DESedeEngine avec am IDEAEngine (et similaire pour autres classes).

+0

Est-ce que l'électeur baissier voudrait expliquer ce qui n'allait pas avec cette réponse? (Cela ne me dérange pas d'accepter d'avoir tort, mais je serais intéressé de savoir pourquoi.) – Bruno

4

Je ne peux pas commenter pour une raison quelconque, donc je poste ceci comme réponse.

IDEA est un algorithme breveté et les brevets n'expirent qu'en 2011 et 2012 (selon le pays). De plus, ce n'est pas du tout performant. Donc, sauf si vous avez besoin d'utiliser IDEA, je suggère de regarder AES ou RC4 (ARCFOUR, comme nom de RC4 est une marque déposée) des algorithmes. RC4 est plus rapide, mais dépend fortement de la qualité de la clé de cryptage.

4

Eugene a raison concernant IDEA. Si c'est sous votre choix, il serait raisonnable d'éviter d'utiliser IDEA et de choisir un autre algorithme. En raison des problèmes de brevet, IDEA est utilisé assez rarement et donc il est moins étudié par les cryptanalystes. En outre, la longueur de la clé IDEA est limitée à 128 bits, ce qui risque de devenir insuffisant relativement rapidement.

La plupart des cadres de développement (pour ne pas dire tous) comprennent le support d'algorithmes cryptographiques standard. En fait, il est toujours bon d'utiliser des algorithmes standardisés, car ils sont mieux étudiés par les cryptanalystes. AES128/256 est un choix préféré. La longueur maximale de la clé RC4, ainsi que la clé IDEA, est de 128 bits; d'ailleurs, c'est aussi une sorte d'exotique et peut-être non supporté par certains frameworks.