Un peu sur le projet
Personnellement, je m'intéresse depuis longtemps au sujet du cryptage de l'information, cependant, chaque fois que je me suis plongé dans ce sujet, j'ai réalisé à quel point c'était difficile et j'ai réalisé qu'il valait mieux commencer par quelque chose de plus simple. Personnellement, j'ai l'intention d'écrire un certain nombre d'articles sur ce sujet, dans lesquels je vais vous montrer différents algorithmes de chiffrement et leur implémentation en Python , démontrer et démonter mon projet créé dans ce sens. Alors, commençons.
Pour commencer, je voudrais vous dire quels algorithmes déjà connus nous allons considérer dans mes articles. La liste vous est présentée ci-dessous:
Chiffre de César
Chiffre de Vigenère
Chiffre de remplacement
Chiffre homophonique
Cryptage RSA
Chiffre de César
Ainsi, après une brève introduction au cycle, je propose de passer au sujet principal de l'article d'aujourd'hui, à savoir le César Cipher.
Ce que c'est?
Le chiffre César est un type simple de chiffre de substitution où chaque lettre de texte brut est remplacée par une lettre avec un nombre fixe de positions dans l'alphabet. Son principe de fonctionnement peut être vu dans l'illustration suivante:
Quelles fonctionnalités a-t-il?
Dans le César Cipher, comme dans l'algorithme de cryptage, je peux distinguer deux caractéristiques principales. La première caractéristique est la simplicité et la disponibilité de la méthode de chiffrement, ce qui peut vous aider à plonger dans ce sujet, la deuxième caractéristique est, en fait, la méthode de chiffrement elle-même.
Implémentation logicielle
, , , , .
, , . .
alfavit = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ'
#
, , . , , "" , "2", "".
,
smeshenie, , message, , , upper(),
, . itog, . :
smeshenie = int(input(' : ')) #
message = input(" : ").upper() # ,
itog = '' #
, . for
, , , alfavit, ( ):
for i in message:
mesto = alfavit.find(i) #
new_mesto = mesto + smeshenie # smeshenie
, if
, itog :
if i in alfavit:
itog += alfavit[new_mesto] #
else: # .
itog += i
print (itog)
, . , :
alfavit = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ'
smeshenie = int(input(' : '))
message = input(" : ").upper()
itog = ''
for i in message:
mesto = alfavit.find(i)
new_mesto = mesto + smeshenie
if i in alfavit:
itog += alfavit[new_mesto]
else:
itog += i
print (itog)
, , , .
, - . ( ).
, "" . :
alfavit = 'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ'
smeshenie = int(input(' : '))
message = input(" : ").upper() # ,
itog = ''
Le reste peut rester le même, mais si vous le souhaitez, vous pouvez modifier les noms des variables.
Dans l'ensemble, les «plus grands» changements pour nous se produiront dans la partie du code où nous avons l'algorithme.
Résultat
Vous avez réussi à écrire un algorithme pour chiffrer et déchiffrer un message en Python à l'aide de la méthode Caesar. Dans le prochain article, nous examinerons le chiffrement de Vigenère, ainsi qu'analyserons son implémentation en Python, mais pour l'instant je vous propose d'écrire dans les commentaires les options de modernisation du programme (code ou suggestions et souhaits de mil). Je vais certainement considérer votre opinion.