Um pouco sobre o projeto
Eu, pessoalmente, há muito me interesso pelo tópico de criptografia de informações, porém, cada vez que mergulhei neste tópico, percebi como é difícil e percebi que era melhor começar com algo mais simples. Eu, pessoalmente, pretendo escrever uma série de artigos sobre este assunto, nos quais vou mostrar vários algoritmos de criptografia e sua implementação em Python , demonstrar e desmontar meu projeto criado nesta direção. Então, vamos começar.
Para começar, gostaria de dizer quais algoritmos já conhecidos consideraremos em meus artigos. A lista é apresentada a você abaixo:
Cifra de César
Cifra de Vigenère
Cifra de substituição
Cifra homofônica
Criptografia RSA
Cifra de César
Assim, após uma breve introdução ao ciclo, proponho passar ao tema principal do artigo de hoje, a saber, a Cifra de César.
O que é isso?
A cifra de César é um tipo simples de cifra de substituição em que cada letra do texto simples é substituída por uma letra com um número fixo de posições abaixo do alfabeto. Seu princípio de funcionamento pode ser visto na seguinte ilustração:
Quais recursos ele tem?
No Caesar Cipher, assim como no algoritmo de criptografia, posso distinguir duas características principais. O primeiro recurso é a simplicidade e disponibilidade do método de criptografia, o que pode ajudá-lo a mergulhar neste tópico, o segundo recurso é, na verdade, o próprio método de criptografia.
Implementação de software
, , , , .
, , . .
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 = ''
O resto pode ficar igual, mas se desejar, você pode alterar os nomes das variáveis.
Em geral, as 'maiores' mudanças para nós ocorrerão na parte do código onde temos o algoritmo.
Resultado
Você escreveu com sucesso um algoritmo para criptografar e descriptografar uma mensagem em Python usando o método Caesar. No próximo artigo, veremos a cifra de Vigenère, bem como analisaremos sua implementação em Python, mas por enquanto sugiro que você escreva nos comentários opções para modernizar o programa (código ou sugestões e desejos de painço). Definitivamente irei considerar sua opinião.