Programme

Retrouver tous les sujets résolus.
Invité

Re: Programme

Message par Invité » jeu. 9 déc. 2021 22:11

vous avez reçu ma réponse sos 21 ?
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Programme

Message par sos-math(21) » ven. 10 déc. 2021 07:40

Bonjour,
oui nous avons merci ton message qui nous fait plaisir.
Ton message n'apparaît dans le forum que lorsqu'un modérateur l'a validé et donc publié, c'est pour cela qu'il met parfois du temps pour apparaître car nous ne sommes pas toujours réactifs dans la minute : nous sommes des enseignants en poste à plein temps et répondons aux questions du forum sur notre temps "libre".
Bon courage
Invité

Re: Programme

Message par Invité » mer. 15 déc. 2021 03:02

bonjour

je suis épuisée par le travail, il est 03h02 du matin, j'ai plein de DST.... burn-out ou dépression, ou les deux.... Comment tenir ?

Bref, sinon : je dois maintenant trouver des information sur la cryptoanalyse.

Avez-vous des liens intéressant là-dessus ? J'ai trouvé très très peu de choses sur internet
Alors vraiment toute liste de lien sur la cryptoanalyse est la bienvenu...

Aussi, quel méthode de cryptoanalyse me sugérer vous de coder en premier ?

merci bien
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Programme

Message par sos-math(21) » mer. 15 déc. 2021 07:28

Bonjour,
pour répondre au chiffre de César, tu peux utiliser l'analyse fréquentielle qui est sûrement la méthode de cryptanalyse la plus abordable : https://fr.wikipedia.org/wiki/Analyse_fr%C3%A9quentielle.
Sinon, tu peux évoquer l'attaque par force brute qui fonctionne bien aussi sur le chiffre de César : on teste toutes les possibilités de décalage. C'est une méthode qui a bien sûr ses limites mais qui a du sens lorsque les combinaisons sont assez peu nombreuses.
Pour le chiffre de Vigenere, tu peux utilise l'indice de coïncidence de Friedman (lien déjà donné il me semble) : https://blog.callicode.fr/post/2013/dmiold-dechiffrer_automatiquement_vigenere.html
Je ne vois que cela pour l'instant.
Bon courage, les vacances arrivent
Invité

Re: Programme

Message par Invité » mer. 15 déc. 2021 13:09

merci bcp

auriez vous de la biblio (exemples de site) sur l'attaque par force brute et sur le chiffre de Vigenere ?

On est d'accord que le chiffre de Vigenere c est de la cryptanalyse ?

merci
Invité

Re: Programme

Message par Invité » mer. 15 déc. 2021 13:16

ah et pour l interface graphique j'ai vraiment besoin de votre aide d expert

voici ce que h'ai ffait pour l insntant : https://trinket.io/python3/1e12873964

Il y a un titre et un menu déroulant mais ça ne s'affiche pas...
Pourriez vous m'aider à corriger ce programme ,?

Moi non plus j'y connais rien à tkinter mais y a pas mal de doc sur le net

et ensuite comment relier les méthodes codées à cettte interface graphique ?

vous me sauveriez car je suis désepsrée pour tout.
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Programme

Message par sos-math(21) » mer. 15 déc. 2021 14:43

Bonjour,
Je te rappelle les définitions de cryptographie :
La cryptographie permet la transformation, au moyen d’un algorithme de chiffrement, d’un message dit clair en un message chiffré.
et celle de cryptanalyse :
La cryptanalyse consiste en l’étude de cryptosystèmes afin d’en évaluer la robustesse (par la recherche de failles notamment) ou plus généralement en la recherche du sens de données chiffrées dont on ignore la clé de déchiffrement. Dans ce dernier cas, nous parlerons d’attaque puisque l’on considère comme telle l’intention de pure découverte du secret.
Donc dès qu'on parle d'une méthode de chiffrement, comme celle de Vigenère, on a les deux aspects qui interviennent : cryptographie (chiffrement) et cryptanalyse (déchiffrement).
Sur le chiffre de Vigenère tu peux consulter le site : https://www.apprendre-en-ligne.net/crypto/vigenere/index.html
Et plus généralement le très bon site de Didier Muller : https://www.apprendre-en-ligne.net/crypto/
Bonne continuation
Invité

Re: Programme

Message par Invité » mer. 15 déc. 2021 15:33

OK merci beaucoup

Et pour l'interface graphique vous avez reçu mon message ?

Vous pourrez m'aider ? J'ai tellement besoin d'aide
...
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Programme

Message par sos-math(21) » mer. 15 déc. 2021 15:43

Bonjour,
je transfère ta demande auprès d'un autre modérateur qui s'y connaît mieux que moi en Tkinter.
Bonne continuation
SoS-Math(25)
Messages : 1859
Enregistré le : mer. 2 nov. 2011 09:39

Re: Programme

Message par SoS-Math(25) » mer. 15 déc. 2021 16:28

Bonjour,

L'interface graphique tkinter est étroitement liée au système d'exploitation. Il faut donc de nouveaux outils pour l'utiliser en ligne.

Voici un outil :

https://trinket.io/pygame

J'ai un peu rectifié ton code :

Code : Tout sélectionner

from tkinter import Label, Tk, Entry, scrolledtext
from tkinter.ttk import Combobox

root = Tk()
root.title("Interface graphique du projet Cryptographie")
root.geometry('650x400')
root.config(bg='silver')
#
Label(root, text='Choisissez une méthode de cryptographie :', font = ( "Arial Bold" , 15 ), fg='yellow',bg='black').pack()
menu = Combobox(root, values=("Méthode Vigenère", "Méthode de chiffrement affine", "Méthode de César", 8))
menu.current(2)
menu.pack()

lab = Label(root, text='Saisissez le texte que vous souhaitez coder', font = ( "Arial Bold" , 12 ), fg='black')
lab.pack()
txt = scrolledtext.ScrolledText(root,width=40,height=30)
txt.pack()

root.mainloop()
Tu peux copier/coller ce code dans l'éditeur (lien plus haut) et travailler dessus mais il faut être connecté(e) voire payer pour partager des travaux avec cet outil.

Donc pense bien à conserver ton code en copier/coller sur un bloc notes ou un traitement de texte de ton ordinateur sinon tu risques de tout perdre.

Pour expliquer le code, j'ai positionné tous les éléments de la fenêtre avec .pack(). On aurait pu aussi les positionner avec .grid() mais il ne faut pas utiliser les deux en même temps sur une même fenêtre graphique sinon cela engendre un conflit, c'était le problème de ton code.

Bon courage pour la suite
Invité

Re: Programme

Message par Invité » mer. 15 déc. 2021 16:34

D'accord merci beaucoup !

Et maintenant, j'ai dans un autre fichier Python des méthodes de chiffrement que j'ai programmées (par exemple la méthode de César).

Comment puis-je relier ce fichier qui est une sorte de catalogue de programmes de chiffrement à l'interface graphique ? Par exemple, comment faire en sorte que lorsque je sélectionné méthode Vigenère dans le menu déroulant, le message saisi dans l'interface (que l'on souhaite coder) soit codé via la méthode de Vigenere et affiche ce résultat ?

Je ne sais pas si je suis claire... En tout cas j'ai trouvé aucune information sur le net qui m'aurait permis de programmer ça avec Tkinter, ou alors c'était trop complexe et je n'y comprenais rien... Alors comment compléter ce début de programme d'interface graphique ?

Merci de toute l'aide par avance
SoS-Math(25)
Messages : 1859
Enregistré le : mer. 2 nov. 2011 09:39

Re: Programme

Message par SoS-Math(25) » mer. 15 déc. 2021 16:35

Pense bien à conserver ton code en copier/coller sur un bloc notes ou un traitement de texte de ton ordinateur sinon tu risques de tout perdre.

Je dois partir, je regarde ce soir ta question.

Bon courage si tu peux avancer encore un peu
SoS-Math(25)
Messages : 1859
Enregistré le : mer. 2 nov. 2011 09:39

Re: Programme

Message par SoS-Math(25) » mer. 15 déc. 2021 20:40

Voici un début de code pour la partie graphique. Il y a des print pour t'aider à comprendre.

Puisque tu as déjà les fonctions pour chiffrer, le travail touche à sa fin.

Entre un message puis choisis la méthode Vigenère et tu verras le fonctionnement.

Code : Tout sélectionner

from tkinter import Label, Tk, Entry, scrolledtext, StringVar, END
from tkinter.ttk import Combobox

#Mes fonctions:
def choix(event):
    print(menu.current())
    if menu.current() == 0:#Vigenère
        text = txt.get("1.0", END)#On récupère le contenu du ScrolledText
        vignere(text)#On appelle la fonction de chiffrement
        
def vignere(text):
    #Chiffrement du message puis affichage du résultat:
    res.set("coucou")
    
root = Tk()
root.title("Interface graphique du projet Cryptographie")
root.geometry('650x400')
root.config(bg='silver')
#
Label(root, text='Choisissez une méthode de cryptographie :', font = ( "Arial Bold" , 15 ), fg='yellow',bg='black').pack()
menu = Combobox(root, values=("Méthode Vigenère", "Méthode de chiffrement affine", "Méthode de César", 8))
menu.current(2)
menu.pack()

lab = Label(root, text='Saisissez le texte que vous souhaitez coder', font = ( "Arial Bold" , 12 ), fg='black')
lab.pack()
txt = scrolledtext.ScrolledText(root, width=40,height=10)
txt.pack()
#Pour le résultat:
res = StringVar()
res_box = Label(root, textvariable=res, font = ( "Arial Bold" , 12 ), fg='black')
res_box.pack()

menu.bind("<<ComboboxSelected>>", choix)#Lier le menu déroulant à une fonction

root.mainloop()
Rappel du lien pour tester en ligne :

https://trinket.io/pygame

Bon courage pour la suite.
Invité

Re: Programme

Message par Invité » ven. 17 déc. 2021 13:58

merci je suis débordée dsl de répondre que maintenant, encore des évaluations demain, etc... Bcp de DST....

Maintenant comment puis je inclure un cadre dans l'interface dans lequel s'afficherait le résultat ?

pas trop de doc la dessuys sur le net....

MERCI
SoS-Math(25)
Messages : 1859
Enregistré le : mer. 2 nov. 2011 09:39

Re: Programme

Message par SoS-Math(25) » sam. 18 déc. 2021 13:30

Bonjour,

Dans le dernier code il y a déjà le label permettant de recevoir le texte chiffré : res_box

Il suffit alors de placer à la fin de la fonction de chiffrement (vigenere() par exemple) une ligne :

res.set(texte_chiffre)

où :

-- res est le text variable du label res_box
-- res.set() permet de modifier le texte de ce label res_box
-- texte_chiffre est la chaine de caractères, résultat du chiffrement

Teste le dernier code donné, tu verras apparaitre "coucou" dans la res_box. Essaye de comprendre le fonctionnement, il y a tout ce qu'il te faut je pense pour l'interface graphique.
sosmat.png
A bientôt
Répondre