[projet ISN] chiffrement de vigénère
Résolu/Fermé
lola_2015
Messages postés
9
Date d'inscription
mardi 24 mars 2020
Statut
Membre
Dernière intervention
13 mai 2020
-
Modifié le 25 mars 2020 à 20:08
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 31 mars 2020 à 17:48
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 31 mars 2020 à 17:48
A voir également:
- Chiffrement de vigenère programme
- Programme demarrage windows 10 - Guide
- Programme bonjour ✓ - Forum Windows
- Programme (x86) ✓ - Forum Windows
- Désinstaller programme windows 10 - Guide
- Désactiver le chiffrement de bout en bout messenger ✓ - Forum Facebook Messenger
8 réponses
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
26 mars 2020 à 12:02
26 mars 2020 à 12:02
Je te renvoie le programme, car il y avait une erreur dans la fonction
genere_cle_vigenere
En effet il faut écrire cle = cle + cle_vig[i%len(cle_vig)] et non pas
cle = cle + cle_vig[i%3]
sinon, ca ne marche pas pour n'importe quelle longueur de clé !
Et le codage Vigenère est maintenant dans une fonction
genere_cle_vigenere
En effet il faut écrire cle = cle + cle_vig[i%len(cle_vig)] et non pas
cle = cle + cle_vig[i%3]
sinon, ca ne marche pas pour n'importe quelle longueur de clé !
Et le codage Vigenère est maintenant dans une fonction
# -*- coding:Latin-1 -*- ALPHABET = '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ' CLE_SECRETE = 'LOLA' def genere_cle_vigenere(msg_clair: str, cle_vig: str) -> str: ''' Renvoie la clé vigenère ajustée à la longueur du message clair ''' if (len(cle_vig) >= len(msg_clair)): cle = cle_vig[:len(msg_clair)] else: cle = cle_vig i = 0 while(len(cle) < len(msg_clair)): cle = cle + cle_vig[i%len(cle_vig)] i += 1 return cle def codage_vigenere(message_clair, cle): ''' Codage du message clair avec la cle''' message_code = '' for k in range (len(message_clair)): try: message_code += ALPHABET[(ALPHABET.index(message_clair[k])+ALPHABET.index(cle[k]))%len(ALPHABET)] except: print('\nErreur {} inexistant dans ALPHABET: {}'.format(message_clair[k], ALPHABET)) return message_code #Saisie du message print('\n') print('''Codage d'un message'''.center(50,'*')) message_clair = input('\nEntrez le message à coder : ') #L'alphabet est en majuscules, donc le message doit l'etre aussi message_clair = message_clair.upper() #Longueur de la clé = longueur du message clair cle = genere_cle_vigenere(message_clair, CLE_SECRETE) #Codage message_code = codage_vigenere(message_clair, cle) print('>>> ', message_code) input('\n\nAppuyer sur enter pour quitter ...')
26 mars 2020 à 14:39
on doit faire un chiffrement de Vigenère + une transposition rectangulaire.
On a pas eu le temps de le faire les transpositions ( blocus, les épreuves des 1er, semaine de bac blanc, le confinement) je sais pas comment faire, j'ai cherché sur internet mais les réponses ne m'aide pas.