Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Algorithme de cryptage de texte


Information sur le tutorial

Catégorie : Date de création : 10/11/2004 11:10:30 Vu : 47 861 fois

Note :
7,71 / 10 - par 42 personnes
7,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (41)
Ajouter un commentaire et/ou une note

Tutorial

Historique :
L'histoire de la cryptologie, c'est l'histoire d'une guerre. La guerre qui oppose, depuis des siècles, ceux qui ont quelque chose à cacher (qu'ils soient militaires, scientifiques, politiciens, financiers ou même amants illégitimes) et ceux qui aimeraient bien savoir ce qu'on leur cache (les ennemis, les concurrents, les espions, les escrocs et même les maris jaloux).
Les deux camps se livrent une lutte sans merci. Dès que l'un a trouvé un nouveau moyen de coder ses messages, le second se dépêche de trouver un moyen de les décrypter. Et, jusqu'à présent, il y parvient toujours. Ce n'est qu'une question de temps et de moyens.
Cultivée depuis l'antiquité, la cryptographie (du grec kruptos, caché, et graphein, écrire) est plusieurs fois millénaire. Dans la Chine antique on utilisait déjà la stéganographie, c'est à dire l'art de dissimuler un message secret dans un texte d'aspect anodin. En Inde, le célèbre «Kàma-Sùtra» recommandait aux femmes d'apprendre - entre autres choses - l'art des écritures secrètes qui doit leur permettre de dissimuler leurs liaisons. En Mésopotamie, une autre grande civilisation de l'antiquité, on remplaçait des mots par des nombres. En Grèce, on utilisait un instrument appelé «scytale» pour mélanger les lettres d'un message...
Fondamentalement, il existe deux méthodes de cryptage, qui sont d'ailleurs toujours utilisées de nos jours. Les confusions qui mélangent l'ordre des symboles contenus dans le message et les substitutions qui remplacent un symbole par un autre. Bien sûr, sur la base de ces deux techniques, une multitude de variantes, plus ou moins complexes, plus ou moins efficaces, ont été inventées.

Les dernières nouveautés en matière de cryptologie sont les hachages. Un algorithme crée une empreinte digitale du texte. Cette empreinte n’est jamais identique (de la même manière qu’il n’existe pas deux empreintes digitales qui soient identiques), et elle est toujours de longueur égale. De plus, il est impossible (dans un laps de temps court) de retrouver le message d’origine.
Développement de l’algorithme :
J’ai imaginé un algorithme synchrone qui se base sur une « substitution », puis deux « confusions ». L’intérêt d’avoir moi-même créé un algorithme, est que les programmes actuels utilisés pour les décryptages par des attaques de type brute force ou dictionnaire ne sont pas adaptées à mon algorithme. Il faudrait donc quelqu’un de suffisamment qualifié pour créer un programme spécifique qui décrypte les textes chiffrés avec mon programme.

Pour expliquer l’algorithme, je vais prendre directement un exemple. La phrase à crypter est : « abcd », et le mot de passe choisi est : « efgh ».

La première opération du programme sera de trouver les codes ascii (nombres correspondant à une lettre dans Windows), de chaque lettre du texte à crypter et du mot de passe, ce qui donne pour le texte : « 120 121 122 123 » et pour le password : « 124 125 126 127 ».

La deuxième manipulation sera d’additionner les chiffres du texte avec ceux du password, lettre après lettre (« 120 + 124 ; 121 + 125 ; 122 + 126 ; 123 +127 »), ce qui donne : « 154 156 158 160 ».

La phase trois est de reconvertir les chiffres en lettre. Si un des chiffres est plus grand que 255, on soustrait automatiquement 256 pour que le chiffre soit toujours une valeur ascii. Dans notre exemple, cela donne pour les caractères : « %&/( ». Ceci est déjà incompréhensible, mais pour une meilleure sécurité, j’ai décidé de faire une deuxième « confusion ».

Pour commencer cette deuxième « confusion », j’ai voulu utiliser un hash MD5 (voir point 6.4). La première opération est de créer un hash du texte, ce qui donne dans cet exemple : « e2fc714c4727ee9395f324cd2e7f331f ».

Il faut maintenant effectuer une addition des codes ascii de chacun des caractères du hash pour obtenir un nombre : « 3298 ».

Maintenant que ce chiffre est créé, nous pouvons entrer pleinement dans la deuxième « confusion », nettement plus intéressante que la première. En faisant un deuxième mélange des caractères, il est nettement plus compliqué de retrouver les textes originaux. Le nombre que nous venons de créer va servir de clé. D’après mes calculs, ce chiffre sera compris en théorie entre 32 et 8160, mais en pratique tournera plutôt aux alentours de 3200. Nous avons donc notre nombre (3298), et il faut maintenant savoir dans quel ordre croissant ces chiffres sont ordonnés.

Après une petite boucle de vérification, on trouve qu’ils sont ordonné de cette manière : « 2143 ». Si il y a deux fois le même chiffre, le deuxième aura le numéro de place du premier plus un.

Pour mieux illustrer la suite de la « confusion », nous allons continuer avec une phrase (qui aurait donc déjà passé tout ce que j’ai expliqué avant). Cette phrase est : « le chien du voisin ».

Je crée maintenant un tableau qui va servir à cette deuxième « confusion ». Dans ce tableau, je vais mettre caractère après caractère, chaque lettre du texte. Cela donnera un tableau ressemblant à ceci (les asterix sont pour figurer les espaces) :

Clé : 3 2 9 8
Numérotation : 2 1 4 3
Texte : l e * c
              h i e n
              * d u *
              v o i s
               i n

Le tableau rempli, je prend chaque colonne par ordre croissant des chiffres de la numérotation, et je les mets bout à bout, en mettant un espace tous les 5 caractères (une habitude en cryptologie), ce qui nous donne : « eidon lh*vi cn*s* eui ».
Explication du hachage MD5 :
Le MD5 est un algorithme de hash (hachage) créé par M. Ron Rivest (un des développeurs du RSA et créateur du MD4), et succédant au MD2 et MD4.

Il faut comprendre par hash une fonction complexe qui résume une chaîne alphanumérique en une simple suite de chiffres et de nombres sur 128bits (32 caractères). Cette méthode crée des hash différent pour chaque phrase, même si seulement un caractère a été modifié. Il faut savoir aussi que le MD5 est à sens unique, et qu’il ne permet pas de retrouver le message initial. Cet algorithme n’est pas considéré comme de la cryptographie vu que l’on ne peut pas retrouver le message original dans un laps de temps rapide (à part s’il fait moins de 6 caractères).

Cette « empreinte » numérique est très utile pour vérifier l’intégrité de texte, ou de fichiers lors de transfert non sécurisé. De cette manière, si quelqu’un modifiait les données pendant le transfert, le récepteur pourrait vérifier si la source est fiable ou si au contraire, la source a été modifiée.

Pourquoi utiliser cet algorithme dans mon programme ? Car du fait qu’il est irréversible, si un individu arrive à retrouver le hash qui a permis la deuxième « confusion », il ne pourra pas retrouver directement le mot de passe initial, car en cryptographie, tout repose sur le secret du password.

Une autre raison est que j’avais envie de comprendre comment fonctionne réellement le MD5. Je dois avouer que je n’ai pas encore tout saisi, que très peu de tutoriaux existent en français et que la documentation en anglais n’est pas des plus claire.
Description des failles potentielles :
Comme je fais un programme de cryptage, les premières questions qui se posent, sont : Quel est le niveau de fiabilité de cet algorithme ? Où sont ses faiblesses ? Puis-je m’y fier ?

Tout d’abord, il faut savoir qu’aucun système de cryptographie n’est 100% fiable : il y a toujours une faille, plus ou moins exploitable. Il faut dire aussi que la sécurité d’un cryptage ne réside pas dans le secret de l’algorithme mais dans le secret du mot de passe.

Le fait que mon algorithme soit de type synchrone (le cryptage et le décryptage s’effectuent avec la même clé), le rend vulnérable aux attaques de type brute force (voir mon tutorial sur le choix du password). La sécurité d’un cryptage fait avec mon programme réside dans le choix d’un mot de passe compliqué répondant aux normes de sécurités que je décris dans le point 6.7. Une attaque par dictionnaire (essayer tous les mots d’un dictionnaire) est aussi possible, mais comme avant, si le mot de passe répond aux normes, pas de faille de sécurité en vue.

La faille la plus dangereuse, est un intrus qui intercepte plusieurs messages cryptés avec le même mot de passe, car avec une cryptanalyse partielle, il est possible de trouver le mot de passe. Une autre possibilité, c’est que quelqu’un de très doué trouve le moyen de faire de la cryptanalyse totale, c'est-à-dire trouver le moyen de décrypter tous les messages avec un autre algorithme similaire. A mon avis, il est très peu probable que quelqu’un prenne le temps de faire cela, mais c’est envisageable.

Sources :
Histoire de la cryptologie :
http://lwh.free.fr/pages/algo/crypto/cryptologie.htm
Explication du MD5 :
Article de MadKroll (http://cybmat.free.fr/docs/secu/md5.doc)


Special greetz pour castlegirl qui m’a bcp aider !
Greetz pour toute la team de SH, et pour loco5 pour ses infos sur le MD5.
signaler à un administrateur
Commentaire de Alricaus le 17/06/2005 11:45:09

La deuxième manipulation sera d’additionner les chiffres du texte avec ceux du password, lettre après lettre (« 120 + 124 ; 121 + 125 ; 122 + 126 ; 123 +127 »), ce qui donne : « 154 156 158 160 ».



tu a fait une erreur je pense

signaler à un administrateur
Commentaire de anykey le 29/06/2005 20:17:39

Le concept est sympa, mais tu devrais parler aussi de l'operateur binaire "xor" (ou exclusif), qui a la facultée d'autoriser les permutations, de tels manieres que:

a xor b = c
a xor c = b
b xor c = a

Et qui de plus est tres difficiles a analyser pour un debutant (par exemple 4 xor 3 = 2, 5 xor 4 = 1 ect...)

signaler à un administrateur
Commentaire de malik7934 le 08/07/2005 15:00:49

4 xor 3 = 7, pas 2 ;o)

signaler à un administrateur
Commentaire de benumiit82 le 13/07/2005 14:17:48

Tu peux expliquer un peu comment 4xor3=7 et 5xor4=1...? Pour un newbie en cryptage !
Merci !

signaler à un administrateur
Commentaire de malik7934 le 13/07/2005 14:23:44

c'est tout bete. L'operateur XOR fonctionne de la maniere suivante:
XOR | 0 | 1
-----------
0   | 0 | 1
1   | 1 | 0

donc 1 XOR 1 = 0 XOR 0 = 0 et 1 XOR 0 = 0 XOR 1 = 1
Si on passe en binaire, 5 = 101 et 4 = 100, le XOR se fait bit a bit, donc

5: 101 XOR
4: 100
=  001 = 1

Il en va de meme pour 4XOR3:
100
011
---
111 = 7

Enjoy, ++

signaler à un administrateur
Commentaire de benumiit82 le 13/07/2005 15:38:53

Merci ! je suis moins newbie qu'avant ! :p

signaler à un administrateur
Commentaire de CMoiChris le 18/07/2005 13:57:29

C'est un peu compliqué pour celui ou celle qui n'a pas écrit le code...
J'ai fait un programme de cryptage de mot de passe (qui est encore à l'état d'essai) qui ressemble un peu à ta méthode.
Le principe: taper votre E-Mail + le code que je fourni en fonction de l'E-Mail, puis vérification. Ce qu'il y a de bien c'est que avec un même E-Mail on a JAMAIS le même code.
Je pense mettre ma source prochainement en ligne.

A très bientôt amis cryptographes! ;o)

cmoichris

signaler à un administrateur
Commentaire de afs le 20/07/2005 12:21:06

salut les gas ecouter j'ai rien compris svp comment pourai je fair cripter une base de données par exemple svp ca urge un peut @+ les gas :)

signaler à un administrateur
Commentaire de zouippy le 23/07/2005 20:14:19

tu peux le faire de plusieurs façon j'imagine... tu prends la structure de la base de données et tu la crypte,de même que pour chaque enregistrement... Ou alors tu sérialise le tout, et tu crypte...

signaler à un administrateur
Commentaire de anykey le 24/07/2005 16:28:50

"D’après mes calculs, ce chiffre sera compris en théorie entre 32 et 8160"

Petite erreur pas bien grave, mais en md5 la valeur ascii la plus faible sera 0 soit 0x30 (48) et le plus grand f soit 0x66 (102) je crois, donc tu devrais dire:

"D’après mes calculs, ce chiffre sera compris en théorie entre 1536 et 3264"

Et je ne comprend pas comment tu trouve 3298 c'est hors limite (ou je compte mal ce qui ne m'etonnerait pas ^^)

++ anyK

signaler à un administrateur
Commentaire de OuEstCharlie le 28/07/2005 17:24:21

C'est bien de vouloir chercher de nouveau algo de crypto, mais au vu de la description du tien, il ne fait aucun doute que tu ne possèdes pas le minimum cuturelle de crypto.
Je n'écrit pas ceci dans le but de te rabaisser, mais plutôt pour t'encourager à te documenter un peu plus sur les bases de la crypto.
Si tu n'est pas documents physiques (des livres quoi!) un bon départ pourrait être le newsgroup : news://fr.misc.cryptologie (http://groups.google.fr/group/fr.misc.cryptologie?hl=fr)

La difficulté de cassage d'un algo de crypto ne tient pas dans la multiplication des couches de "confusion" (sic).
Chaque "couche" est une faiblesse potentielle et la force de l'algo est égale à la force de la plus petite de ses "couches".
(La chaine, les maillons, ...)


Bon courage.

signaler à un administrateur
Commentaire de adess00 le 01/09/2005 19:16:35

Salut j ai deja fait un algo de crypto et la j en fait un autre mais je voudrai savoir si ya un moyen de savoir (jme repette) si l algo est bon ou pas si ya des sites qui propose de les cryptanaliser ou pas.
J ai deja fait des test sur mon 1er algo d apres les conseils d un site.
Celui ci disai de prendre comme message aaaaaaaaa et comme cle a une foi crypté on ne doi voir aucune redondance dans le message crypté ( sa c bon ) et lorsque on derypte le message, il faut que si la clé est diferente, le message soit completement different.
Voila ske j obtient avec mon prog :

Cryptage

msg : aaaaaaaaa
cle : a
resultat : lØ:¦]É5¡

Decryptage

msg : lØ:¦]É5¡
cle : a
resultat :  aaaaaaaaa

msg : lØ:¦]É5¡
cle : b
resultat :  ÞPŽ3{¹÷

msg : lØ:¦]É5¡
cle : aa
resultat :  ©ÝYªG

Mais je suis pas sur que mon cryptage soit tres efficace.
Si vous savez comment tester un algo efficacement
Merci de me repondre

a+

signaler à un administrateur
Commentaire de malik7934 le 02/09/2005 07:56:49

Hello,

On dit d'un algo qu'il est sûr lorsque on ne trouve pas comment le casser même lorsque l'algo est rendu publique... Donc il te reste plus qu'à publier ton algo et de demander à quelques volontaires de le cryptanalyser ;)

signaler à un administrateur
Commentaire de adess00 le 02/09/2005 16:47:02

Ok ben c bon il est sur vbfrance.
Merci
a+

signaler à un administrateur
Commentaire de OuEstCharlie le 21/09/2005 16:40:22

Attention, un algo est sur n'est pas un algo non cassé, mais incassable.
la différence :
non-cassé : personne n'a pris le temps de le cassé (parce qu'utilisant des techniques connues pour être cryptologiquement faible)
incassable : il a été démontré (mathématiquement) que l'algo n'est pas cassable.

>>adess00:
si tu veux que quelqu'un casse ton algo, commence par essayer de le casser toi-même pour en trouver les forces et le faiblesse.

signaler à un administrateur
Commentaire de dark vinci le 03/10/2005 15:58:08

Salut on parle la que d'une partie du cryptage, il existe aussi des cryptage temporelle par modulation de fréquence qui reste le cryptage le plus sophistiqué aujourd'hui, combiné à l'algorithimie. Une véritable oeuvre d'art et par définition indéchiffrable.

signaler à un administrateur
Commentaire de le_duche le 13/10/2005 17:05:26

Je n'ai que très peu de culture générale en crypto, mais j'ai concu un systeme de cryptage qui m'a l'air efficace... vous pouvez peut etre me dire ce que vous en pensez...

Je prend le texte initial, qui n'est autre qu'une suite de caractères. J'ajoute à ce texte des lettres aléatoires (générées par le programme) de sorte que mes lettres initiales se trouvent à des endroits du texte bien spécifique, mais sans logique perpétuelle (par exemple, chaque lettre "vrai" se trouve à l'emplacement d'un nombre premier...).
Une fois que cela est fait, je transforme chacune de mes lettre en trois chiffres (code ascii); j'obtient donc une chaine 3fois plus longue, constituée uniquement de chiffres.
Je crée ensuite une clé de permutation aléatoire (générée par le programme)  de longueur également aléatoire L. Je premute alors mes chiffres par blocs de longueur L. Ensuite je place ma clé de permutation qqpart dans le texte (connu par le programme). J'ai donc mon nouveau textes un tout petit peu plus long (du à l'ajout de la clé et des info sur sa longeur).
Je crée alors une nouvelle clé aléatoire constituée de chiffres de 0 à 9 et de longeur également aléatoire mais relativement longue (1000 à 2000 chiffres). Ensuite j'additionne ma clé et mon texte, c'est à dire que je fais les sommes modulo 10 pour chacun des chiffres que j'ai.
Je cache à nouveau ma clé et sa longeur dans le texte.
Puis je recrypte encore le tout avec un petite clé d'addition et un petite clé de permutation propres au programme.

signaler à un administrateur
Commentaire de FoxDanny le 21/10/2005 00:31:14

Salut tout le monde,

j'ai un petit souci de cryptage avec methode XOR, j'arrive à crypter avec une clé de 48 bits ms pas au delà.
avec:
byte = fichier.get();//informationsluesdanslefichier            
while (!fichier.eof())
{
byte = CLE^byte;      
fichier2.put(byte);
byte = fichier.get();    
}
sachant que byte et CLE sont des (unsigned long long int)
le résultat est que le fichier reste le même(en 64bits, 8 octets)
Alors qu'en 48bits 6octets ça marche nickel.

Merci d'avance

signaler à un administrateur
Commentaire de agneau le 12/11/2005 00:27:18

salut,
  je ne sais où commencer...
en fait je ne vois que du bleu dans tout ce que vous dites,please où est-ce que je peux commencer à apprendre ces choses concernant la crypto:cela m'interesse tellement!
  merci.

signaler à un administrateur
Commentaire de le_duche le 14/11/2005 14:16:25

Soit tu trouve un cours d'université sur le net, soit tu achete un bouquin sur la crypto...
si tu n'est vraiment nul par, tu peux meme commencer par un truc vulgarisé, de facon à te familiariser avec les concepts...

signaler à un administrateur
Commentaire de PierreAd le 15/12/2005 16:09:34

Salut à tous,

Intéressant comme article.. Pour ceux qui s'intéressent à la ccryptographie et qui souhaitent acquérir quelques premières connaissances, je vous conseille "Histoire des codes secrets", de Simon Singh... Il retrace l'usage des principales formes de cryptographie au cours des siècles.. je ne pense pas que ce soit un ouvrage destiné aux pros de la crypto mais plutot à tous ceux qui comme moi s'y intéressent et souhaitent un petit aperçu général des techniques de crypto !!!

Cdlt

signaler à un administrateur
Commentaire de le_duche le 15/12/2005 16:12:14

Effectivement, ce bouquin est très chouette !
(et niveau historique, c'est assez surprenant les idées qu'ils pouvaient avoir :) )

signaler à un administrateur
Commentaire de PierreAd le 15/12/2005 19:27:29

Oui c'est clair ! Perso j'ai pas encore eu l'occasion de voir ça en cours mais j'espere que ça viendra parce que c'est vraiment quelque chose de très intéressant la cryptographie !

Enfin bref, je conseille ce bouquin et ce tuto a tout le monde !

signaler à un administrateur
Commentaire de eclipseTotal le 10/01/2006 23:58:01

cool tu n'a pas d'autre truc sur l'algo

signaler à un administrateur
Commentaire de Soulant le 16/01/2006 17:14:22

Bonjour,

J'ai une question concernant le md5. Existe t'il deux type d'encodage dont la base serait différente (par ex: base 16 et base 64)?
Car lorsque j'utilise un algo trouver sur ce site le hash généré fait 32 caractères, alors que l'on me demande une longueur de 24 caractères. Cette différence proviendrait (apparemment) d'une mauvaise base, mais j'ai beau faire le tour je ne vois rien à ce sujet.

Merci de m'éclairer.

signaler à un administrateur
Commentaire de TomQuick le 21/02/2006 19:15:46

En effet, toi tu portes bien ton nom ! Ce serait sympa de supprimer trois de tes messages, le flood, j'aime pas ça.

Concernant, la source, très sympa, et pas mal le petit historique. ;)

9/10

signaler à un administrateur
Commentaire de maloq le 28/02/2006 16:49:50

Me baladant sur ce site pour apprendre un peu de javascript, je me rend compte qu'il y a quelque chose de recurant ici: tout le monde veut creer son algo de crypto?

alors, sans vouloir etre mechant avec sigma, voici l'explication rapide du cassage de ton algo, et ses failles (toutes se sufisant a elle meme pour completment compromettre sa sécurité)

la permutation finale (2143 dans le cas décrit) a un  cardinal (nb de possibilité) de 4!=24. d'un point de vu informatique, c'est peanuts
la somme du md5 : aberation! le md5 est un algo génial car tres fortement divergeant. sommer ses nombre revient a le moyenner et comme tu l'as dit, on retombe aux alentour d'une valeur moyenne (la fameuse courbe en cloche) on perd donc l'interet
le premier cryptage est un classique vigenere, la doc est fourmillante qd a sa cryptanalyse

bon, voila pour le code.
maintenant, un peu de vocabulaire:
cryptographie : crypter des donnes
cryptanalyse : casser un cryptage
cryptologie : les deux du dessus réunies
cryptosysteme : un algorithme de cryptage

pour continuer, si vous voulez vous amuser, un cryptosysteme pour etre performant doit comporter deux composantes:
diffusion : les données doivent changer de place
dispersion : les données doivent changer de valeur
Je vous conseille tres fortement les docs de DES qui est le plus


et le plus important, l'algorithme doit "lisser" TOUTES les particularité des données initiales
par exemple les frequence d'apparition des lettres pour un texte. En effet, c'est sur ces particularité que l'on s'appuie quand on veut cryptanaliser des données.

la donne change avec les cryptosysteme a clé publique ou le secret du mot de passe n'est plus le garant de la sécurité de l'algorithme

Enfin, la derniere chose: c'est d'etre humble: ce n'est pas un hasard si la quasi totalité des cryptosysteme utilisés serieusements s'appuient sur deux cryptosystemes (RSA et DES), c'est que ce sont des systemes éprouvés, et fait par des mecs qui sont du niveau de la médaille Fields (le prix nobel des Maths)...

enfin, voici un petit lien ou vous trouverez de quyoi vous amuser si vous aimez la cryptanalyse
http://www.challenge-securitech.com/2004/niveaux.php?c=1&lvl=1

la difficulté est croissante, la solution détaillée est fournie et en plus y'a d'autres niveaux qui touchent a tous les aspects de la sécurité info.

voila voila

signaler à un administrateur
Commentaire de maloq le 28/02/2006 16:53:28

Dsl, la phrase sur le DES a été zappé:

Le DES est de ce niveau le cryptosystème le plus parfait d'un point de vue théorique. Chaque possibilité est exploité a 100% de ses capacités.

signaler à un administrateur
Commentaire de picouf le 23/03/2006 17:28:15

Salut à tous,

J'ai récemment crée un algorithme de chiffrage basé au début sur vigenere, mais j'ai compliqué pas mal le cryptage.

Allez voir à l'adresse suivante et dites moi ce que vous en pensez, par rapport à la sécurité de mon algo.
J'ai fait une explication plus détaillé de l'algo sur la page de téléchargement et encore plus détaillé dans la source.

lien : http://www.javascriptfr.com/code.aspx?ID=36434

Merci

signaler à un administrateur
Commentaire de picouf le 23/03/2006 17:30:23

DSL d'avoir poster deux fois le même message ya eu un bug

signaler à un administrateur
Commentaire de blinix123 le 08/04/2006 00:31:25

Ouais bon début ! c'est sur que tu devais faire court parceque il y a tellement a dire sur l'art de crypter! Sinon pour tester ton algorithme ta qu'a essayé de le cracker en laissant tourner un PC bosser dessus, tu verra en combien de temps il y arrive...XD

signaler à un administrateur
Commentaire de Pindus le 13/04/2006 17:39:11

"Le DES est de ce niveau le cryptosystème le plus parfait d'un point de vue théorique." dixit malok

je suis d'accord avec toi le RSA et le DES sont les meilleurs crypto système. Cependant le "simple DES" est devenu trop facile a casser et le double DES ne sert à rien car il revient au même qu'un simple en DES dans le sens où il faut en temps et en espace le même effort que pour le simple DES.
Les bons crypto systèmes utilisent le triple DES (appliquer 3 DES consécutifs)

Le principe de la signature électronique est aussi l'un des systèmes les plus performants à ce jour.

PS1:"casser"  en terme de cryptanalyse veut dire que tu peux trouver la clé avec moins d'effort que la recherche exhaustive.
PS2: Un algorythme de crypto DOIT etre publique et non caché car un algorythme caché n'est que peu soumis aux attaques et donc il est plus vulnérable dans le sens ou si un jour il est cassé personne le sait :)

signaler à un administrateur
Commentaire de Idefix57 le 02/05/2006 03:48:37

Un peu de niveau supérieur pour moi ,
mais j'en prend note .
et je vais étudier dessus :p

Idefix

signaler à un administrateur
Commentaire de Forsaken01 le 06/06/2006 20:29:57

salut a touse

voilâ je tourne sous Linux et je voudrais apprendre le C & C++ ou dois-je commançer par le C ou part le C++ car pour ma part il me semble qu'il y a plus de truc dans le C++ que dans le C

mes personne connaiterais un trés trés bon tutoriaux qu'il ne soye pas tros compliquer a comprendre car j'ai déja commançer une partie mes avec des BOUCLE j'ignior comment créer un programme avec des BOUCLE loll

svp aider moi quoi je suis un peut paumer

signaler à un administrateur
Commentaire de bibi_81 le 25/08/2006 18:45:30

vive les Algorithmes !!

signaler à un administrateur
Commentaire de jg31 le 28/08/2006 15:11:57

Bonjour, comme il semble y avoir des pros du cryptage sur ce site je vous présente le principe de cryptage que j'utilise depuis déjà de nombreuses années et qui est très simple.
2 étapes:
  1/ mettre le générateur de nombre pseudo aléatoires dans un état ne dépendant que du mot de passe. (sur UNIX ou DOS par exemple il suffisait d'initialiser 14 octets à une valeur en dur et d'écrire par dessus le mot de passe jusqu'à 14 caractères max.
  2/ Pour chaque caractère à coder
     - Tirer un nombre aléatoire
     - Ajouter au caractère ce nombre aléatoire et en prendre le modulo 256.

Pour décoder il suffit de remplacer dans l'étape 2 l'ajout par la soustraction.

Les avantages que j'y vois sont:
A/ simplicité

B/ très rapide

C/ Si le générateur de nombre aléatoire dépend de 14 octets on voit que le nombre de combinaisons possibles, 256 puissance 14, est au delà des possibilités de recherche en force brute.

D/ Commutativité: Si nous sommes 2 personnes qui devons crypter un fichier. Je choisis un mot de passe et je crypte le fichier. L'autre choisit un mot de passe et crypte mon fichier crypté. Ensuite, nous pouvons décrypter dans n'mporte quel ordre mais seulement avec l'accord (connaissance du mot de passe) de chacun.

E/ On peut rendre le package indépendant du système en lui adjoignant le code d'une fonction pseudo aléatoire. On peut faire dépendre cette fonction d'un nombre plus important d'octets si l'on veut.

F/ La répartition des caractères dans le fichier crypté semble assez aléatoire. Il conviendrait de formaliser ce point.

J'ai plusieurs fois donné l'algorithme et un fichier crypté. Personne ne m'a jamais trouvé le fichier initial.

Aussi, je ne veux pas voir que les avantages de l'algo et j'aimerais en connaître les faiblesses. Merci pour vos remarques.

NB: je peux envoyer une version UNIX du crypteur.

signaler à un administrateur
Commentaire de stfou le 01/03/2007 18:52:44

J'ai mal à la tête... ASPIRIIIINE !!!
^_^

signaler à un administrateur
Commentaire de cehalove le 08/05/2007 14:27:40

c'estvraiment, interessant........
ca donne de bon resultat, et offre la solution de crypter un texte.

signaler à un administrateur
Commentaire de snpier wolf le 08/09/2007 00:33:26

bonjour,
j'ais une question pour la command xor.
c'est en quelle langage?

signaler à un administrateur
Commentaire de kmarak le 18/11/2007 22:20:30

salut,
j'ai une demande à ceux qui s'interesse à la programmation C++ ça fait qcq temps j'essaye d'écrire un programme c de Crptage et Décrypatge et j'ai pas arrivé j'ai besoin d'un coup de main svp
merci d'avance

signaler à un administrateur
Commentaire de zarzara le 20/05/2008 18:37:59

je suis un debutant en langage c++ et j'ai trouvée beaucoup des dificultés s'il vous plait aide moi

merci d'avance

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.