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 Re : Programmation » [Python] Modulo clé pour crypter » 08-11-2009 14:24:34

Salut,

1- Le problème j'ai un message de 10 lettre et un clé de 5 et mon algo c'est Vigénere...
2- ce que j'attend de toi : que tu m'explique s'il te plait  comment fonctionne ton modulo que tu a appliqué au code de Vigénre et de masque jetable dans le forum.
3- Vigénere

Le carré de polybe je l'ai déjà refait le truc c'est que j'essaye de refaire ceux auxquelles je t'ai demandé de l'aide...pour voir si je peut y arriver sans toi et sans regarder les anciens codes...j'ai réussi a créer le carré de Vigénère a ma façon mais je n'arrive pas a voir comment faire un peu comme "un modulo" de la clé pour pouvoir crypter...

@+

PS: Tu a raison j'aurais du me coucher plus tôt...je pensais qu'en commençant à 10 h ce n'était pas grave, résultat je me suis levé à 10h15 au lieu de 9h15...en tout cas j'étais frai pour la seule heure de la matinée ^^"

#2 Programmation » [Python] Modulo clé pour crypter » 06-11-2009 00:20:14

Lutcho74
Réponses : 3

Salut,

Voilà j'ai repris tout les algos que je ne pensait pas très acquis et j'ai essayer de les refaire (César,Polybe...) et j'ai essayé masque jetable et Vigenère...je n'arrive pas(ou je ne doit pas suffisement me creuser la tête) à trouver pour que si ma clé c'est qu'un seul lettre et bin qu'elle me crypte quand même....en bref à faire un style de modulo...

Yoshi, je sais que tu m'a aidé pour les script et tout mais ta technique et imbriqué dans le paysage de l'algo et je suis perdu...

Merci d'avance pour l'aide...

@+

#3 Re : Cryptographie » Cryptographie et formules de maths par CLIDUOV » 05-11-2009 15:02:03

Slt,

Jvoudrais pas être trop désagréable mais si personne ne t'a répondue des le début c'est que personne ne le sait ou que ça n'existe pas vraiment....comment un algo pourrais à la fois décrypter César et Vigenère en passant par Enigma  ??? Moi je vois que l'analyse de la fréquence des lettres qui aide pour tout les algos de substitution...

@+

#5 Re : Cryptographie » Cryptographie et formules de maths par CLIDUOV » 22-10-2009 14:34:37

salut,

Pour la machine Enigma je m'y suis intéressé pendant un piti moment et je peux te dire que tu tape "machine Enigma" sur google et tu auras des résultats intéressant...très souvent des petit applets , certains expliquent même les rotors etc...en bref comme on dit trsè souvent : 'google et ton ami' ;-)

Pour deux ptite anecdotes :
cette machine a bien aidé les Russes lors de la plus grande bataille de char étant donné que les anglais (et polonais) avait réussi a comprendre son fonctionnement et a en faire une copie exact (pour les polonais c'était avant le début de la guerre mais vue qu'il y a eu différente versions les anglais on fait une cellule de crise en Angleterre)...et donc pour les Russe : alors qu'ils était désavantagés niveaux puissance de feu et résistance des chars il on put tendre des embuscades au allemand en connaissant leurs déplacements, et si mes souvenirs sont bon ils (les Russes) ont gagné cette bataille.
Elle a aussi servit à couler des sous marins allemands dans les eau britanniques.

@+

#6 Re : Entraide (collège-lycée) » Calculer un pourcentage. [Résolu] » 21-10-2009 22:39:28

Salut,

Erf..c'est difficile de t'aider sans te donner la réponse directement mais bon on va essayer...donc :
il faut tout d'abord que tu calcule la remise en €, par la ensuite il faut que tu trouve que représente cette remise par rapport au prix de départ en %...

j'espère avoir put t'aider....mais bon le problème étant simple il suffit que tu regarde ta leçon et tu devrais y trouvé la réponse rapidement...

@+

#7 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 16-10-2009 18:36:48

Salut,

En faite nan il n'y a pas de problème...
C'est juste moi il devait être trop tard et en fait j'avais pas fait attention que c'était le prog de décryptage et j'y avais rentré des lettres ^^
Donc c'est bon j'ai supprimer la pseudo boucle...

@+

#8 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 15-10-2009 22:52:09

Salut,

Oui c'est vrai que j'ai fait un petit bout de chemin depuis mes débuts :)

Pour le range(début,fin,pas) j'ignorai totalement...merci de me l'avoir appris :-)
Et pour le fait de supprimer la boucle...j'y est pensé, j'avais remarqué qu'elle faisait un seul tour et donc ne servait à rien mais si je la supprimait ça me mettais une erreur et j'avais pas envie de me compliquer la vie...c'était tard et j'avais surtout envie de fignoler ce prog pour en faire d'autres (j'ai refait l'algo de César (différent de ce que tu avais codé) et j'ai tenté le masque jetable(j'ai rencontré un problème au niveaux de la longueur de la clé mais je chercherai plus tard...))

Et bien merci pour l'explication sur le range...dès que je me sent je modifie le code et fait quelque essai avec le range :-)

@+ et merci pour ta remarque

#9 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 14-10-2009 23:08:29

Salt,

J'ai galérai pendant un piti moment mais ça y est j'ai réussit à faire le module de décryptage :

# -*- coding: cp1252 -*-

liste,polybe=[],[]

for j in range (6):
    for i in range(5):              
        liste.append(chr(65+5*j+i))
    polybe.append(liste)
    liste=[]

   
print "Le carré moderne de Polybe :"  
for j in range (6):
    for i in range(5):
        print polybe[j][i],
    print

   
print ""
print "Rentrez le message à décrypter :"
txt=raw_input("--> ")

txt=txt.replace(" ","")
l=len(txt)

print ""
print "Message décrypter :"

for j in range(1):
    i=0
    for h in range(l/2):
        pos=int(txt[i])-1
        pos2=int(txt[i+1])-1
        caract=polybe[pos][pos2]
        i+=2
        print caract,

Remarques ? Critiques ?

@+

#10 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 13-10-2009 13:15:41

Salut,

Ha oui en effet un carré n'est pas un rectangle ^^ je vais changé ça tout de suite et pour la réduction oui c'est claire que la boucle ne sert à rien ça aussi je vais le changé :)...

Merci pour ces remarques.

@+

#11 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 12-10-2009 23:00:33

Salut,

Donc le code donnerai :

# -*- coding: cp1252 -*-

def prepare(ma):
    li1=["âà","éèêë","îï","ô","ûü","ç"]
    li2=["A","E","I","O","U","C"]
    i=0
    # Remplacement des caractères accentués éventuels
    for mot in li1:
       repl=li2[i]
       for lettre in mot:
           ma=ma.replace(lettre,repl)
       i+=1      
    for lettre in "',-;:!?.":  # Suppression de la ponctuation
        ma=ma.replace(lettre,"")
    ma=ma.upper()    # Passage en majuscules
    return ma


liste,polybe=[],[]
for j in range (6):
    for i in range(5):              
        liste.append(chr(65+5*j+i))
    polybe.append(liste)
    liste=[]
print "Le carré de Polybe :"  
for j in range (6):
    for i in range(5):
        print polybe[j][i],
    print

print "Entrez le texte à crypter :"
txt=raw_input("-->")
txt=prepare(txt)
txt=txt.replace(" ","")

for i in range(len(txt)):
    pos=ord(txt[i])-65
    vertical=str((pos/5)+1)
    horizontal=str((pos%5)+1)
    final=vertical+horizontal
    print final,

Si tu vois des choses à modif...

Merci encore pour tes explications et ton aide.

@+

#12 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 11-10-2009 23:26:59

Re,

Houla...! Il ma fallut écrire 2 tour de la boucle j pour comprendre :) ...ça me parraisait très bizarre mais c'est bon j'ai pigé !

Merki

bonne nuit
@+

#13 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 11-10-2009 23:08:45

Re,

Moi ce que je comprend pas c'est le : 65+5*j+i après le liste.append(chr()) et le 5*j+i après le print liste[],

Merki d'avnce

A+

PS: pour le fait de tripatouiller le code a chaque fois que j'ésaye ça me mes une erreur ^^ donc j'essaye plus...

#14 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 11-10-2009 22:42:02

Salut,

Houlaa ! Merci pour ton aide :) ! Mais je suis perdue dès le premier code :(...
pour le début de ton deuxième message j'ai tout compris mais alors tes deux boucles avec le .append() et le print ...
je ne comprend pas comment ça marche...

Merci d'avance pour tes explications.

@+

#15 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 10-10-2009 18:59:22

Salut,

Bon apparemment ça ne marche pas avec les listes dans une liste...
Comment contourné ça ???
Pour ma part je pense qu'il faudrait créer 6 listes et qu'à chaque tour de boucle ça mette la liste de 5 lettres dans une liste différentes (mais je ne pense pas que ça soit la solution...ou alors tant qu'à faire ça pourquoi ne pas faire tout manuellement...)

Voici ce que j'ai fait...j'ai créer un liste normale pour faire la comparaison...:

carre=[]
ligne=[]
e=0
liste=["A","B","C"]
for j in range (6):
    for i in range(5):
        ligne.append(chr(65+e))
        e+=1
    carre.append(ligne)
    ligne=[]

print carre
print
print liste.index('A')
print carre.index('A')

Merci pour tes précédent message, ça va beaucoup m'aidé par la suite mais pour l'instant ça bloque ^^"

Merci d'avance pour une quelconque aide :)

@+

#16 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 08-10-2009 22:57:00

Re,

A ok merci en effet ça resoud mon problème :)...!
Je n'était pas sur qu'il existait un équivalent pour les listes (j'ai chercher sur internet en vain...)

@+

#17 Re : Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 08-10-2009 22:50:18

Salut,

Mon script en faite créer le tableau seulement...étant donné que je n'est pas trouvé de moyen de trouver la position d'une lettre...par exemple si le message à coder c'est : "bonjour" et bien dans ce tableau je cherche le "b" donc ça position selon python c'est : 1(+1)=2 pour Polybe , donc ça sera sur la 2ème colonnes et pour la ligne par contre j'ai pas encore cherché à comment faire pour savoir...

@+

#18 Programmation » [Python] Carré de Polybe ( problème de liste / find ) » 08-10-2009 22:35:54

Lutcho74
Réponses : 22

Bonjour,

Mon problème est le suivant :
J'ai fait un programme me permettant de reproduire un carré de Polybe façon moderne rafistolé par moi ^^ ... Bon pour ceux qui ne connaissent pas cette méthode de cryptage : elle consiste (dans la façon moderne) à mettre l'alphabet(sauf le 'w'...enfin pas pour moi) dans un tableau de 5 lignes et 5 colonnes (pour moi 5 colonnes et 6 lignes) bref par exemple 'A' correspondrait à 11...
et mon problème pour l'instant c'est que je n'ai pas trouvé d'autre moyen que de trouver la position d'une lettre dans une liste sans find...problème étant que find ne fonctionne pas avec les listes...

Alors ma question et la suivante : est il possible de contourné cela ?

Pour le code (pour la création du tableau seulement):

carre=[]
ligne=[]
e=0
for j in range (6):
    for i in range(5):
        ligne.append(chr(65+e))
        e+=1
    carre.append(ligne)
    ligne=[]

print carre

@+ et merci d'avance pour votre aide.

[EDIT] quelques petites modifs dans le texte...

#19 Re : Entraide (collège-lycée) » theoreme de thales [Résolu] » 07-10-2009 17:27:52

Salut,
pour ton schéma tu peux le scanner/ le prendre en photo
un fois que tu l'a sur ton ordi tu va par exemple sur http://www.hiboox.fr, je crois qu'il faut se créer un compte bref tu y mes ton image sur le site comme il te dise puis une fois qu'elle est téléchargée ils te donnent plusieurs code donc tu prend le code pour les forum tu le copie, puis tu le colle dans ta discussion...voilà j'espère que tu as compris ^^"

Et qu'est que tu ne comprend pas dans ton exo parce que je ne vois aucune question/consigne...?

@+

#20 Re : Entraide (collège-lycée) » Equation [Résolu] » 05-10-2009 21:48:10

Salut,

Freddy,
Merci pour le temps que tu m'a consacré :)

Yoshi,
A ok en effet c'est logique...mais ça ne mettait pas du tout venu à l'idée le fait d'arrondir au cm près...
merci :)

@+ et merci à vous deux :-)

[EDIT] : Pour le 15cm en effet c'est assez bizarre...

[EDIT 2] Merci beaucoup...grâce à votre aide j'ai eu un 10/10 sur l'exo et un 20/20 sur mon DM =) merci beaucoup!

#21 Re : Entraide (collège-lycée) » Equation [Résolu] » 05-10-2009 20:34:13

Re,

Donc d'après ce que j'ai écrit ça donnerais :
(en ayant calculer le demi périmètre avant tout et en remplaçant x par y (donc y=longueur et x=largeur)

[tex]2x-0,15+x=100[/tex]

[tex]3x-0,15=100[/tex]

[tex]3x=100+0,15[/tex]

[tex]3x=100,15[/tex]

[tex]x=100,15 : 3[/tex]

[tex]x=33,3833...[/tex]

[tex]x[/tex] égale environs : [tex]33,4 m[/tex]
Et donc :

[tex]y=100-x[/tex]

[tex]y= 100-33,4[/tex]

[tex]y=66,6 m[/tex]


Et ce que cela te parait juste ??

Merci d'avance

@+

#22 Re : Entraide (collège-lycée) » Equation [Résolu] » 05-10-2009 12:58:49

Re,

Ok ! Merci beaucoup je regarde tout ça se soir...

en tout cas merci pour ton aide :-)

@+

#23 Re : Entraide (collège-lycée) » Equation [Résolu] » 05-10-2009 12:41:44

Salut,

En faite c'est parce que j'ai sauter une étape que tu as peu être du mal comprendre (si j'ai tout bien compris ^^) :
3y - 0,15= 100
y-0,15=100:3 mais vue que 100 divisé par 3 ça ne tombe pas pile je fais la suite sans donner le résultat de la division et donc en faite sa serais si on veut :
y=(100:3)+0,15

@+

#24 Re : Entraide (collège-lycée) » Equation [Résolu] » 04-10-2009 23:21:49

Salut,


Merci pour ta réponse mais ne voulait tu pas dire : x = 2y - 0,15 ? Vue que la largeur ne peu pas être plus grand que la longueur...tu ne te serai pas trompé ou alors c'est moi qui n'est pas compris?

Si je par sur la théorie que tu a confondue x et y :
Est ce que si j'écris ça c'est juste :
[tex]2y-0.15+y=100[/tex]

[tex]3y-0,15=100[/tex]

[tex]y=100:3+0,15[/tex]

[tex]y= 33,48333...[/tex]

[tex]y= 33,5    environs[/tex]
??

Merci d'avance

@+

#25 Entraide (collège-lycée) » Equation [Résolu] » 04-10-2009 22:34:28

Lutcho74
Réponses : 10

Bonjour/Bonsoir,

Me re-voila dans le forum d'entraide pour un nouveau problème de maths...

Donc voici le problème :
Calculer les dimensions d'un rectangle sachant que son périmètre est 200m et que ça longueur est inférieur de 15 cm au double de sa largeur.

Pour ma par j'ai fais ça(je ne suis pas du tout sur à 100% de mes résultats) :

soit x=longueur
et y=largeur

[tex]x*2+y*2=200[/tex]

[tex](x+y)*2=200[/tex]

[tex]x+y=\frac{200}{2}[/tex]

[tex]x+y=100m[/tex]

Ensuite sachant que x et plus petit de 15 cm (soit 0,15m)que 2*y je me suis dit que:
[tex]y*2=x+0,15[/tex] Bon à partir de là ça par en grand délire...

[tex]y=x+\frac{0,15}{2}[/tex]

[tex]y=x+0,075[/tex]

Et là je suis mais alors pas du tout sur : [tex]x-y=0,075[/tex] ou [tex]x-y=-0,075[/tex]

Pour les dernières opérations je n'arrive pas à trouver leur utilité mais je pense qu'elle en ont une...
Et pour la suite par contre je suis totalement pommé...

Pour ma défense je tient à préciser que j'ai jamais était très fort en équation...

Donc voilà si vous pouviez m'aider/me corriger....
Merci d'avance

@+

Pied de page des forums