que de réponses ... je vous en remercie
je met le topic en "résolu" et je ferai le tri des idées et des exemples fournit
que de réponses ... je vous en remercie
je met le topic en "résolu" et je ferai le tri des idées et des exemples fournit
Bonjour,
A Paul Toth :... Juste une petite question : Comme la procédure Cypt utilise Random, est-ce que avec Random on ne risque pas de se retrouver avec un texte crytpté dont un caractère situé quelque part entre le début et la fin a été remplacé par le caractère réservé pour le marquage de la fin de fichier, car dans ce cas si on sauve le texte crypté sur le disque, lors de sa relecture on ne récupérerait que le début du texte crypté et fin serait perdue. ???procedure Crypt(var Data; Size: Integer; Seed: Cardinal);
A+.
Re-bonjour,
A Coussati : Autre idée de cryptage :
Supposons que tu crées un dictionnaire dans lequel tu collectionnes les mots du vocabulaire utilisé dans tes textes ou un dictionnaire qui les contient avec d'autres mais qui soit non trié donc dans un ordre quelconque.
Supposons que tu veuilles crypter le texte "Bonne année et meilleurs voeux" avec :
- "Bonne" placé à l'indice 478 de ton dico,
- "année" placé à l'indice 1123 de ton dico,
- "et" placé à l'indice 9532 de ton dico,
- "meilleurs" placé à l'indice 147 de ton dico,
- "voeux" placé à l'indice 3257 de ton dico.
Un simple cryptage par substitution de l'indice (formatté avec des zéros à gauche) remplaçant chaque mot du texte donnerait dans ce cas le texte crypté suivant :
Impossible, d'après moi, à décrypter si toi seul as accès au dico et même par quelqu'un qui connaîtrait le principe du cryptage.000478001123009532000147003257
A noter en plus que le formatage des indices avec un nombre excessif de zéros à gauche permet d'enrichir le dictionnaire au fur et à mesure des besoins.
A+.
Re-bonjour,
A Paul Toth :... Ok, merci mille fois pour la réponse : ça supprime une inquiétude.tel que c'est fait le fichier généré est binaire, il n'existe pas de caractère de fin de fichier en binaire, éventuellement #27 en mode texte mais c'est tout
... à Coussati de voir s'il veut aller jusque là.maintenant, la chaîne resultante peut être codée en base64 par exemple afin d'avoir un résultat ascii/texte
A+.
bonjour desole de rouvrir une ancienne discusion
mais avec le code de Gilbert Geyer :
quand je met un texte exemple 123456789
crypter ou pas il me sort les meme
desoler pour la reouverture
Bonjour les amis !
Je viens jouer le revenant, muet depuis des lustres... J'avais abandonné la programmation pour cause de presque cécité (hé 79 ans !), mais sauvé par un ophtalmo de génie. J'en suis donc resté à Delphi7 et ai beaucoup accumulé de retard pour les nouveautés du langage que je ne rattraperai certainement jamais maintenant et j'ai beaucoup levé le pied. Néanmoins je passe de temps en temps sur le forum pour me rappeler le bon vieux temps.
Et voilà t'il pas qu'hier je tombe sur cette discussion. Le thème du cryptage m'avait beaucoup occupé autrefois avec mon ami Gilbert Geyer (Amical salut vieux frère d'Alsace Lorraine ! ). Si j'ouvre encore (pas souvent) mon vieux Delphi7 perso, c'est pour améliorer mes programmes dédiés à la cryptologie. J'en suis arrivé à deux beaux petits logiciels, l'un qui permet le cryptage des fichiers informatiques à la pelle et l'autre qui permet le cryptage "au vol" de tout ce qui est texte alphanumérique, particulièrement adapté pour chiffrer les écrits de messageries informatiques par l'entremise du presse-papier de Windows. Ils sont tous les deux basés sur le même algorithme de chiffrement particulièrement véloce car écrit et optimisé en ASM. Pour satisfaire tout le monde, je l'ai encapsulé dans une dll :
CryptoV64.zip
(bien sûr il faut dézipper pour l'utiliser en .dll, garantie sans virus, foi de Rekin85 )
A la base de l'informatique, il n'y a que des octets (des bytes comme ils disent). Les programmes, les fichiers, les data, tous ne sont que bytes. Pas plus compliqué que cela et si on veut s'amuser à les crypter, l'opération XOR est merveilleuse car elle est réversible :
Appelons Byte1 l'octet à crypter, byte2 l'octet clé du cryptage et byte3 l'octet crypté
Byte1 XOR Byte2 = Byte3
Donc
Byte3 XOR Byte2 = Byte1
Alors, on veut crypter une collection d'octets S1 à l'aide d'une autre collection d'octets que l'on appelle clé S2, on fait subir ce xor à chacun d'eux à la queue leu leu pour obtenir la collection S3 et on pourra revenir à S1 par la même opération avec S3. Bien sûr si on veut que cela résiste bien à la cryptanalyse il faut qu'il n'y ait que très peu de chance de retrouver les octets de la clé... En informatique, il existe les fonctions de hachages et les générateurs congruentiels de nombres pseudo-aléatoires avec lesquels on peut faire de très belles choses...
Je reviens à la dll de chiffrement, voici comment il convient de l'utiliser avec un programme Delphi :
1/ Il faut placer CryptoV64.dll dans le même répertoire que le programme appelant.
2/ Déclarer la seule fonction que contient la dll dans la partie implementation du programme :
3/ Pour crypter-décrypter une chaîne ou un stream ou ..., on appelle la fonction avec son pointeur en RAM (PBuf), le pointeur sur la clé (PKey) la longueur de la chaîne ou du buffer (SizeBuf), la longueur de la clé (SizeKey) et en vitesse de la lumière, la chaîne ou le buffer est crypté-décrypté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part procedure CrypteV64(PBuf,PKey: pointer; SizeBuf,SizeKey: longWord); stdCall; external'CryptoV64';
Evidemment l'emploi d'une clé secrète sous-entend que celle-ci doit le rester (secrète), ça c'est du ressort de l'émetteur du message et du receveur du message. Quant à la clé elle même, elle doit être assez longue (plus de 8 caractères absolument car sinon l'algorithme n'entre pas en œuvre); moi j'apprécie volontiers un petit vers de Verlaine ou de Rimbaud. Mais attention elle doit être absolument identique au caractère prêt pour le décryptage. Quoi qu'il arrive, l'algorithme donnera toujours sa solution...)
Attention : la dll s'appelle CryptoV64 et la fonction qu'elle contient s'appelle CrypteV64, ne pas confondre.
Bonjour René,
Plus encore que de te voir, ce qui fait plaisir est que tu nous voies...
Vivent les ophtalmos de génie !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager