Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 16-06-2009 19:44:56

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

[Python] Traitement des x_grammes d'un texte crypté

Rebonsoir Nerosson,

Suite de la déviation empruntée dans la section cryptographie...
Ce qui est difficile avec Python c'est que l'instruction qui permet d'écrire à l'écran en mode texte gère ligne par ligne, donc l'affichage tel que tu le vois avec saut de ligne dans une colonne et pas dans l'autre n'a pas été simple à traiter.
La méthode trouvée, ça s'est fait très simplement : c'est l'idée, l'astuce, l'algorithme (c'est le mot exact) qui s'est refusée à moi pendant des heures...

Donc je dispose actuellement de 6 fichiers :
Quadrigrm_bruts.csv avec numérotation,
Quadrigrm_tries.csv avec les nos d'origine et sauts de lignes,
Trigrm_bruts.csv avec numérotation,
Trigrm_tries.csv avec les nos d'origine et sauts de lignes,
Bigrm_bruts.csv avec numérotation,
Bigrm_tries.csv avec les nos d'origine et sauts de lignes.

Le traitement complet A à Z prend 5,5 s. Même si mon prog est écrit comme un pied (je le retravaillerai une fois terminé). Il ne me reste donc plus qu'à créer un 7e fichier de 12 colonnes plus 11 colonnes intermédiaires vides (pour l'espacement et la lisibilité) en mixant les 6...
En procédant ainsi, la longueur du crypto n'est pas un problème.
Ca t'irait ?
Chargé dans un tableur, la mise en valeur, des x_grammes identiques, n'est pas un problème, c'est très vite fait par l'utilisateur.
Ca donnerait ça :
xgrammes.jpg

@+


Arx Tarpeia Capitoli proxima...

En ligne

#2 17-06-2009 13:42:12

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Saut ô Maitre es crypto,

Voilà, c'est fait
Réglages Calcl:
Format --> Page -- Marge h = 1 cm, Marge b = 1 cm
En-tête -- > Décocher Activer En-tête
Bas de page  --> Décocher Activer bas de page
Tout sélectionner puis Police --> Courrier New taille 10
Pourquoi cette police ? Rép : Espacement non proportionnel, donc fixe, donc bien plus lisible
Deux lignes de légendes à passer en gras.
59 lignes de X_grammes, puis passage à la page suivante avec répétition des 2 lignes de légendes.

Si tu veux essayer ce prog provisoire (je ne le publierai que lorsque je jugerai son "écriture", montrable et donc "propre"), tu vas devoir télécharger Python 2.6 et l'installer :
http://www.python.org/download/releases/2.6/
puis tu cliques sur la ligne :
Windows x86 MSI Installer (2.6) (sig)
Une fois téléchargé, double-clique dessus et tu laisses faire...
Tu trouveras le programme Python sur ta machine ici : C:\Python26
C'est là que tu déposeras mon programme.
Double-clic sur l'icône du bureau.
Dans la fenêtre qui s'ouvre (appelée Python Shell, ouvre le menu File puis choisis Open et sélectionne Analyse_Xgrammes.py et clique sur Ouvrir.
Agrandis ta fenêtre (clic petit rectangle en haut à droite)
Le crypto est à mettre entre guillemets, minuscules, majuscules indifférent puisque je convertis tout en majuscules.
Tu le trouves au tout début du prg entre deux lignes de dièses rouges, si ton crypto est trop long pour ta fenêtre, tu mets un \ au début d'un mot et tu appuyes sur ENTREE pour renvoyer la suite à la ligne.

Cela fait, tu cliques sur Run puis Run Module et tu dis oui à la demande de sauvegarde.

Après une poignée de secondes de défilement à l'écran, c'est fini...

Cherche alors via Calc, dans C:\Python26, le fichier X_grammes. csv, tu l'ouvres en confirmant que la virgule est le séparateur.
Tu procèdes alors aux différents réglages et tu peux imprimer direct...

Bien à toi,

Yoshi


Arx Tarpeia Capitoli proxima...

En ligne

#3 17-06-2009 15:58:57

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut, grand-maître des arts martiaux.
Je te rappelle que tu parles à un analphabète informatique.
Je vais donc préparer mon paracétamol (l'aspirine m'est interdite), une carafe d'eau, imprimer toutes les données du problème, attacher les chiens, museler ma femme,  et m'y mettre en priorité.
Si tu as une réponse dans les deux jours, tout va bien. Si, au delà, tu n'as pas de nouvelles de moi, c'est que j'y serai, dans l'au-delà. Mort d'un transport au cerveau (j'en ai tout de même un : il vaut ce qu'il vaut). Dans cette dernière éventualité, tu imposera une minute de silence à Freddy. Ca sera ma dernière vacherie, mais non la moindre : je me demande s'il arrivera à tenir....
Cordialement.

Hors ligne

#4 17-06-2009 18:56:52

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut, Yoshi,
je suis toujours en vie et toujours aussi emmerdant.
Comme je suis une girouette, j'ai maintenant décidé de t'envoyer mes observations au fur et à mesure qu'elles me viennent. Ca te permet de les examiner sans attendre.
Une chose que je ne saisis pas : pourquoi consacrer trois colonnes aux "bruts": quadrig, trig et big ? Dans la colonne des quadrig bruts, je trouverai forcément aussi les trig et les big. Bien entendu, les numéros de renvoi dans les colonnes "index" ne seraient plus les mêmes que ceux que tu as mis puisqu'ils renverraient tous à la même colonne : celle des quadrig bruts.

Cela donnerait un tableau comportant dex colonnes : "bruts" et "triés",
la colonne "bruts" étant divisée en deux sous-colonnes : "N°" et "quadrig",
la colonnes triés" étant divisée en trois sous-colonnes : "quadrig" et "index", "trig" et "index", "big" et "index".
(j'arrive parfaitement à faire des tableaux avec Open Writer, mais quand je veux les copier-coller ici, ça foire à tous les coups. J'espère que tu arriveras quand même à me comprendre).
Bien cordialement.

Hors ligne

#5 17-06-2009 19:37:35

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut,

Bin, moi je ne suis qu'un programmeur bête, il me semble bien que c'est ce que tu m'avais demandé...
M'enfin, le "client" a toujours raison, donc la colonne des trigrammes et des bigrammes successifs (ainsi que leurs numéros d'ordre) ne présentent aucun intérêt pour toi... C'est bien ça ?
Je n'utiliserai donc que les fichiers :
- quadrigrammes successifs
- quadrigrammes triés
- trigrammes triés
- bigrammes triés
Si c'est ça que tu veux, je peux virer les 6 colonnes incriminées du fichier définitif, ce n'est pas un problème, ça ne concerne que l'utilisation des fichiers intermédiaires que tu conserverais quand même comme une poire pour la soif.
Autre chose qui m'est venu à l'esprit après tes explications d'hier.
Tu t'es servi de l'écart entre les trigrammes, les quadrigrammes identiques n'existant pas.
Ma question est : en cas de quadrigrammes identiques, cherches-tu aussi l'écart entre les trigrammes voire les bigrammes triés ?
Si oui, il doit être possible de te mâcher encore un peu la besogne : en fin de programme, faire afficher à l'écran la liste des quadrigrammes identiques, des trigrammes identiques, des bigrammes identiques et les écarts de position...

Quant à ta migraine, je peux la soulager si tu veux :
- Tu transcris le crypto dans un fichier via Writer, ou tout bêtement le Bloc Notes Windows, "au kilomètre" sans rien de spécial, sans appui sur la touche ENTREE...
- Cela fait, tu l'enregistres sous le nom crypto.txt dans le dossier Python
- Tu lances Python
- Via File tu ouvres le programme Analyse_Xgrammes.py
- Tu appuies sur F5

Et là après 5,5 s t'as plus qu'à charger Xgrammes.csv dans Calc...

Tu veux ou tu veux pas ? (Air connu)

C'est comme si c'était fait (20 min)...

@+

PS
C'est fait, sauf l'affichage des xgrammes identiques et les écarts sais pas si t'en veux. Ca te gâcherait pas le plaisir du surlignage sur la version papier ? ;-)
Faut bien qu'il te reste un peu de boulot à faire, hein... hin, hin hin (rire sardonique)


Arx Tarpeia Capitoli proxima...

En ligne

#6 18-06-2009 17:09:52

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Evidemment, quand un programmeur qui se prétend bête a affaire à un informaticen qui est ultra-nul, ça ne peut pas être facile. Je suis émerveillé de ta patience. Ca doit tenir à ton passé de prof. Je crois quand même qu'on commence à se comprendre. Je récapitule :
a - pour les bruts : la succession des quadrigrammes, avec leur numérotation,
b - pour les triés : trois "bicolonnes": une pour les bigrammes avec le numéro de renvoi, pareil pour les trigrammes, pareil pour les quadrigrammes.
Tu parles d'ajouter un récapitulatif des big, trig, quadrig répétés avec leurs écarts. Evidemment, j'aurais tort de me plaindre que la mariée est trop belle, mais as-tu pensé que le nombre des écarts croit en progression géométrique quand le nombre des répétitions croit en progression arithmétique. Exemple : un trig répété six fois donne un nombre d'écarts égal, si je ne dis pas de sottises, à factorielle 5, c'est à dire 120. Alors, "laisse un peu mesurer les otres", comme l'écrivait César à Marius (pas les personnages historiques, ceux de Pagnol). Si tu récapitules les répétitions, ne met pas en plus les écarts.
Pour répondre à ta question sur l'utilisation des répétitions, plus elles sont longues plus elles sont fiables, évidemment. Celles qui dépassent quatre se décèlent aisément par comparaison de l'"environnement" des quadrigrammes répétés. Mais une répétition, si fiable soit-elle, donne un écart qui est soit la longueur de clé, soit un de ses multiples. C'est pourquoi il faut généralement en exploiter plusieurs, ou essayer plusieurs longueurs de clé. Au sujet de tes explications sur "python", pour moi un python, c'est un serpent ou, phonétiquement, un truc qu'on visse dans les murs. Je suggère que, maintenant que tu as tous les éléments, tu mettes le logiciel sur le net. Je le téléchargerai et j'essayerai de me débrouller avec. Et peut-être que j'y arriverai. Il faut savoir prendre des risques....
Cordialement.

Hors ligne

#7 18-06-2009 18:12:51

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

'lut,

J'ai compris ce que tu veux, nous sommes d'accord...
Pour la patience, quand ça coince, je  prends ça comme une injure personnelle, un défi à mon intelligence et à ma créativité et je considère que je n'ai pas me laisser avoir par des lignes de code, sauf quand je joue aux échecs : là, j'ai appris que je ne peux pas lutter avec la bête !
Cela dit, un prof sans patience, n'est bon qu'à jeter aux chiens... Et encore, aujourd'hui, ces petites bêtes sont tellement bien nourries qu'elles n'en voudraient même pas...

Je pense pouvoir ajouter au fichier X_grammes.csv, la liste de tous les quadrigrammes (+ trig et big) identiques et, j'insiste, leurs écarts mais 2 à 2 :

Par exemple :
ADCB  121
ADCB  145  24
ADCB  169  24

Donc deux questions
1. C'est bien comme ça que ça marche ?
2. As-tu téléchargé Python et l'as-tu installé ? Si oui, il y a 95 % du boulot de fait.

Dès que j'ai fini, ce qui, je pense et j'espère, ne saurait tarder, je te l'envoie en pièce jointe, je ne tiens pas à le montrer à tout le monde, pour l'instant : trop "mal" écrit...
Même si le total va tourner autour de 350 lignes, le fichier ne "pèse" que 3 ou 4 ko, une misère...


@+

Quant à Python, ça me rappelle d'un coup cette charade alssacienne avec l'accent (avec l'âcccent al-ssacien il faut teux s...) :
Mon premier est un SSerrrpent
Mon second est sur les toits
Mon tout se trouve facilement dans un karache...
Et la réponse est : un Pyython tuile (bidon d'huile)


Arx Tarpeia Capitoli proxima...

En ligne

#8 18-06-2009 19:45:33

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut, Yoshi, salut, Freddy,
Yoshi, étant donné le peu de confiance que j'ai dans mes aptitudes d'informaticien, je te donne les éléments et tu juges toi-même. Dans ma liste de téléchargements, j'ai depuis 18 H15 :

Python-2.6.tgz      12 719 ko    fichier WinZip

winzip120fr.exe    9 070 ko application

Y at-il quelque chose de plus à faire ?

En ce qui concerne le reste, je crois qu'on est sur la même logueur d'onde.

cordialement

Dernière modification par nerosson (18-06-2009 19:49:52)

Hors ligne

#9 18-06-2009 19:55:14

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut,

C'est pas bon.
On va faire plus simple. Clique sur le lien suivant et ainsi tu téléchargeras la version WINDOWS, pas la version Linux (à moins que tu sois sous Linux ?) :
http://www.python.org/ftp/python/2.6/python-2.6.msi
C'est tout...
J'espère que tu as une version windows à jour sinon le double-clic sur le fichier lorsque le téléchargement sera terminé te reverra un message d'erreur disant que tu n'as pas la bonne version de Windows installer...
Je viens de t'envoyer un mél avec des instructions et mon travail.
Envoie confirmation STP

Merci


Arx Tarpeia Capitoli proxima...

En ligne

#10 19-06-2009 09:36:04

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut, yoshi
Je pense que j'ai une version à jour de windows, car je reçois souvent des mises à jour.
Autre question : la version que je dois charger n'est-elle pas une version gratuite à durée limitée et devrai-je l'acheter ultérieurement ?
je reprends toute la question en début d'après midi.
cordialement

Hors ligne

#11 19-06-2009 10:36:48

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut p'tit gars ;-)

Niet : tout ça, c'est libre et gratuit ! Tu devrais quand même connaître mon point de vue...

Bon, voilà où j'en suis :
1. J'ai corrigé mon prog de cryptage : erreur de programmation dans les calculs de décalage. Selon les clés et l'ordre des lettres, j'arrivais à un décalage de 29 avec 26 lettres dans l'alphabet...
2. J'ai rectifié les imperfections d'affichage du tri
3. Je vais te donner la possibilité de conserver jusqu'à 99 cryptos sur ta bécane,
4. Je vais toiletter mon prg, quand ce sera fini, j'essayerai (jamais fait) de le compiler (= je le rendrai indépendant de Python), il sera beaucoup plus gros, mais tu n'auras donc plus besoin de Python

@+


Arx Tarpeia Capitoli proxima...

En ligne

#12 19-06-2009 17:34:44

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Ce quarto me remplit d'aise !!!

Hors ligne

#13 19-06-2009 17:50:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Re,

Je m'en doutais...
Bah, ce que je te dis de faire n'est pourtant pas la mer à boire, je t'assure : tu te fais peur tout seul...
Si tu suis "bêtement" mes instructions, il n'y aura pas de prb !
J'en ai écrit des instructions du temps, où dans mon bahut, j'étais responsable info. Les seuls qui n'ont jamais eu de pb étaient soit les novices qui ne prenaient pas d'initiatives et qui les exéuitaient "bêtement", soit ceux qui avaient déjà une bonne pratique.

La messagerie no-log est soit en panne, soit en maintenance...
Veux-tu pouvoir conserver plusieurs cryptos sur ta bécane ? si oui, combien de 1 à 9 ? de 10 à 99 ?
Après, je boucle !

@+


Arx Tarpeia Capitoli proxima...

En ligne

#14 19-06-2009 18:55:55

nerosson
Membre actif
Inscription : 21-03-2009
Messages : 1 658

Re : [Python] Traitement des x_grammes d'un texte crypté

Bonsoir, Yoshi
je pense que tu n'avais pas encore reçu mon dernier message quand tu as fait l'envoi ci-dessus.
Je suis pourtant un très chaud partisan de l'opinion qui recommande, quand on connait mal un problème, de suivre "bêtement" les instructions. Je suis d'avis que c'est la solution la plus intelligente ! Mais il semble que ça marche mieux avec les machines à laver qu'avec les logiciels. Ou alors, ça indiquerait que je ne suis pas encore assez bête. On se réconforte comme on peut....
J'ai un dossier où je range les questions cryptographiques qui me paraissent dignes d'être conservés. Je pense donc que ton logiciel ne nécessite pas d'espace de stockage.
Cordialement

Hors ligne

#15 19-06-2009 19:36:17

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 991

Re : [Python] Traitement des x_grammes d'un texte crypté

Salut,

On va résoudre le pb...
Je viens de t'envoyer un mél depuis ma messagerie perso cette fois...

@+

                                                             ANNONCE :

                   --- SE REPORTER A L'EPINGLE POU LES PROGRAMMES ECRITS EN PYTHON ---

Dernière modification par yoshi (17-08-2009 12:01:57)


Arx Tarpeia Capitoli proxima...

En ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante quatorze plus soixante cinq
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums