Il y a 26 lettres dans l'alphabet donc en enlevant la possibilité "A donne A", il reste 25 décalages possibles.
3)
La clé est 17: A donne R
Tu peux le trouver de plusieurs façon:
-Méthode grosse brute: Tu essayes les 25 décalages possibles jusqu'à obtenir un mot.
-Méthode pratique si tu n'as que quelques mots à découvrir: Utiliser un cadran d'Alberti (ce que tu as en photo, tu en as sur le net disponible que tu peux tourner), ça permet d'avoir toutes les conversions de lettres (voir image ci-joint).
-Algorithme d'attaque par force brute (c'est très pratique pour des textes plus long surtout).
En voici un fait par moi-même lorsque j'étais petit (ce n'est pas optimisé mais ça marche):
def dechiffrer(texte):
texte = texte.lower()
for i in range(26):
texte_dechiffrer = ""
for k in range(len(texte)):
if texte[k] == " ":
texte_dechiffrer += " "
else:
for j in range(len(alphabet)):
if texte[k] == alphabet[j]:
try:
texte_dechiffrer += alphabet[j + i]
except:
y = i
y -= 26 - j
texte_dechiffrer += alphabet[y]
print(texte_dechiffrer)
dechiffrer("yhcqxw")
Tu choisis la méthode de ton choix (la deuxième méthode est la plus cohérente avec l'exercice), tu devrais obtenir "python".
Lista de comentários
Bonsoir,
1)
On a le changement A devient N.
La clé est donc 13.
2)
Il y a 26 lettres dans l'alphabet donc en enlevant la possibilité "A donne A", il reste 25 décalages possibles.
3)
La clé est 17: A donne R
Tu peux le trouver de plusieurs façon:
-Méthode grosse brute: Tu essayes les 25 décalages possibles jusqu'à obtenir un mot.
-Méthode pratique si tu n'as que quelques mots à découvrir: Utiliser un cadran d'Alberti (ce que tu as en photo, tu en as sur le net disponible que tu peux tourner), ça permet d'avoir toutes les conversions de lettres (voir image ci-joint).
-Algorithme d'attaque par force brute (c'est très pratique pour des textes plus long surtout).
En voici un fait par moi-même lorsque j'étais petit (ce n'est pas optimisé mais ça marche):
def dechiffrer(texte):
texte = texte.lower()
for i in range(26):
texte_dechiffrer = ""
for k in range(len(texte)):
if texte[k] == " ":
texte_dechiffrer += " "
else:
for j in range(len(alphabet)):
if texte[k] == alphabet[j]:
try:
texte_dechiffrer += alphabet[j + i]
except:
y = i
y -= 26 - j
texte_dechiffrer += alphabet[y]
print(texte_dechiffrer)
dechiffrer("yhcqxw")
Tu choisis la méthode de ton choix (la deuxième méthode est la plus cohérente avec l'exercice), tu devrais obtenir "python".
Bonne soirée.