Transposition de message

Fermé
Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020 - 20 oct. 2020 à 11:08
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 - 20 oct. 2020 à 17:16
Bonjour,

Je me lance tout doucement dans le développement avec beaucoup de difficultés. Je commence un nouveau module qui est la cryptographie et particulièrement la transposition de message.

Mon exercice est que j'ai une clé qui est :"CCMMODULESECURITE"

Et j'ai un texte crypté qui est :

ltd scs eoh oee eus etn ape ier cvc ete eoe dno nln prt
pet iot tae eok stt fue sem epz dcf epi ohi ldi dec phb
cll lae nrg oaa ieu etn ist vnf fns oer uno rse ede uen
que uqr sis erd euo vte ree nta nce ntr ibi tus erd cct
ile ele afu nat tee eqe iie uiu des uao rar afs nva qis
irs ens nud usi orl era rui qio aes ets mte nss lll dca
eir uem uvs tlm nae mos eeo eeu eay nle sno qoo rea tct
eip zdl scs nps tnc sei uui eyc mdn rra qev uon iil upu
neu nzr tea adt utq cen ios due rue uun duo une edi see
ers tne nts oos eiu ghh aei oea err eor tbg esi rhs vvc
iae iii tml mul vit apo tea loe eir

Il fait 447 caractères sans les espaces.

L'objectif est donc d'écrire un programme qui serait capable de décrypter ce message.

La consigne est la suivante : Le nombre de colonnes est égal à la longueur de la clef. La transposition se fait suivant l’ordre alphabétique des lettres de la clef. En cas d'égalité, le sens de lecture de la gauche vers la droite est la seconde règle de priorité ́e.

J'ai réalisé une fonction qui permet de calculer la clé:

def sortKeys(msg):
    msgArray = []
    for x in msg:
        msgArray.append(x)
    sortedAraryMsg = msgArray.copy()
    sortedAraryMsg.sort()
    print(sortedAraryMsg)
    for i in range(len(msgArray)):
        print(msgArray[i], sortedAraryMsg.index(msgArray[i]))
        sortedAraryMsg[sortedAraryMsg.index(msgArray[i])] = ""


Le résultat obtenu est:

C 0
C 1
M 9
M 10
O 11
D 3
U 15
L 8
E 4
S 13
E 5
C 2
U 16
R 12
I 7
T 14
E 6

Ensuite je bloque je sais pas comment faire ni par où commencer.

Merci de votre aide

Configuration: Windows / Chrome 86.0.4240.75

1 réponse

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
20 oct. 2020 à 13:16
bonjour,
as-tu compris comment décrypter le message?
0
Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020
20 oct. 2020 à 13:50
Bonjour,

J'ai compris une histoire avec des colonnes qui correspondent chacune à une lettre de la clé. Et chaque colonne va comporter des lignes. Mais je comprends pas vraiment l'histoire avec la clé et leur nombre
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020
20 oct. 2020 à 14:29
je pense préférable, avant de commencer à programmer l'exercice en python, de bien comprendre le résultat à obtenir.
0
Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
Modifié le 20 oct. 2020 à 14:56
Je pense qu'il faut un résultat un peu dans ce style là (c'est à dire sous forme de tableau)

Mais après en python je ne m'y connais pas donc j'ai pas trop d'idée de comment peut etre le rendu final
0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471 > Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020
20 oct. 2020 à 14:59
ne devrais-tu pas commencer par des exercices plus simples en python?
sinon, comment vas-tu apprendre et progresser?
0
Timothee02 Messages postés 6 Date d'inscription mardi 20 octobre 2020 Statut Membre Dernière intervention 20 octobre 2020 > yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024
20 oct. 2020 à 15:04
Je suis d'accord avec toi, mais c'est dans le cursus de la crypto que je suis en train de suivre. Apparemment c'est assez simple de ce que me dis la formation mais bon je suis pas convaincu
0