J'ai créé un programme cryptographique César en Python.

Salutation

Connaissez-vous l'Université Youtube d'Atsuhiko Nakata? Récemment, j'ai eu envie de regarder des vidéos intelligentes, Je le vois souvent, mais parmi les nombreuses vidéos, sur le "cryptage" Il y avait quelque chose qui était enseigné.

Si vous ne l'avez pas encore vu, je le recommande vivement. J'ai aimé le regarder même si je n'avais aucune connaissance de la cryptographie. Vous pouvez le voir à partir du lien ci-dessous. https://www.youtube.com/watch?v=7dSVR_zuJJs&t=694s

Donc, dans cette vidéo, il y avait un mot qui m'a vraiment impressionné. alors! Il y avait ** "César Code"! C'était le mot ** w

Pour autant que j'entende l'histoire, l'ordre de l'alphabet est décalé de quelques minutes pour faire une phrase. J'ai découvert que c'était la règle de cryptage.

Par exemple Lorsque le mot pomme est appliqué au code César, il devient "fuuqj".

Quand j'écoutais cette histoire, mon cerveau pensait intuitivement que ce serait difficile à déchiffrer. J'émettais une alerte, mais pour le moment, je suis aussi ingénieur.

Je me demandais comment le faire si je l'écrivais avec ce programme de cryptage réel, alors je l'ai fait. C'était plus facile que prévu. .. ..

Après avoir fait cela, j'ai remarqué que l'alphabet est Il y en a 27 au total. En d'autres termes, seuls 26 modèles peuvent être utilisés pour le chiffrement. Il y a 52 façons, y compris la gauche et la droite. J'ai réalisé que cette méthode de cryptage est de niveau assez bas. .. .. ..

Il semble y avoir une méthode plus compliquée de cryptage César, La méthode de cryptage qui décale simplement l'ordre alphabétique de N J'ai trouvé mieux d'arrêter.

Je ne l'ai jamais utilisé, À l'avenir, je l'utiliserai pour mes proches. w

code

import string


#######################################
#Complexe cryptographique César
def decrypt_caesar(encrypt_text, gap=1):
    decrypt_text = ''
    for c in encrypt_text:
        number = string.ascii_lowercase.index(c)
        decrypt_text += string.ascii_lowercase[number - gap]
    return decrypt_text


encrypt_text = 'fuuqj'
for i in range(len(string.ascii_lowercase)):
    text = decrypt_caesar(encrypt_text, i)
    print(text)


#######################################
#Code César
def encrypt_caesar(decrypt_text, gap=1):
    encrypt_text = ''
    for c in decrypt_text:
        number = string.ascii_lowercase.index(c)
        search_text = string.ascii_lowercase*2
        encrypt_text += search_text[number + gap]
    return encrypt_text


#Code César
print(encrypt_caesar('apple', 5))

Recommended Posts

J'ai créé un programme cryptographique César en Python.
J'ai fait un programme de gestion de la paie en Python!
Ecrire un programme de chiffrement Caesar en Python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai fait un Line-bot avec Python!
J'ai créé un démon avec Python
Lors de l'écriture d'un programme en Python
J'ai fait un jeu de frappe simple avec tkinter de Python
J'ai créé un lecteur de flux rapide en utilisant feedparser en Python
J'ai essayé "un programme qui supprime les déclarations en double en Python"
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
J'ai fait un compteur de caractères avec Python
J'ai fait une carte hexadécimale avec Python
Après avoir étudié Python3, j'ai créé un Slackbot
J'ai créé un outil de mot de passe en Python.
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
J'ai créé un programme qui résout la recherche d'erreur en quelques secondes
J'ai créé un programme de sortie de table de nombres premiers dans différentes langues
J'ai fait une prévision météo de type bot avec Python.
〇✕ J'ai fait un jeu
Un mémo que j'ai écrit un tri rapide en Python
J'ai créé une application graphique avec Python + PyQt5
Je veux créer une fenêtre avec Python
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Un programme qui supprime les instructions en double en Python
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai créé un script en python pour convertir des fichiers .md au format Scrapbox
J'ai essayé d'ajouter un module Python 3 en C
[IOS] J'ai créé un widget qui affiche la tendance de Qiita dans Pythonista3. [Python]
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
Création du wrapper d'API Qiita Python "qiipy"
J'ai fait un module en langage C qui filtre les images chargées par Python
En Python, j'ai créé un LINE Bot qui envoie des informations sur le pollen à partir des informations de localisation.
Le programme Python est lent! Je veux accélérer! Dans ce cas ...
Je veux facilement implémenter le délai d'expiration en python
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
Ecrire un programme de dynamique moléculaire super simple en python
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
Recevez des données de dictionnaire à partir de programmes Python avec AppleScript
Je veux écrire en Python! (2) Écrivons un test
J'ai créé une application de notification de nouvelles en ligne avec Python
J'ai créé une VM qui exécute OpenCV pour Python
J'ai fait un script pour mettre un extrait dans README.md
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai créé un module Python pour traduire les commentaires
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Je veux échantillonner au hasard un fichier avec Python
Je veux travailler avec un robot en python.
J'ai essayé de faire LINE BOT avec Python et Heroku
[Python] J'ai créé un classificateur pour les iris [Machine learning]