Cifrar mensajes en Python. De lo simple a lo complejo. Cifrado de césar

Un poco sobre el proyecto

A mí, personalmente, me ha interesado durante mucho tiempo el tema del cifrado de información, sin embargo, cada vez que me sumergía en este tema, me di cuenta de lo difícil que era y me di cuenta de que era mejor comenzar con algo más simple. Yo, personalmente, planeo escribir una serie de artículos sobre este tema, en los que les mostraré varios algoritmos de cifrado y su implementación en Python , demostraré y desarmaré mi proyecto creado en esta dirección. Vamos a empezar.






Para empezar, me gustaría contarles qué algoritmos ya conocidos consideraremos en mis artículos. La lista se le presenta a continuación:





  • Cifrado de césar





  • Cifrado de Vigenère





  • Cifrado de reemplazo





  • Cifrado homofónico





  • Cifrado RSA





Cifrado de césar

Entonces, después de una breve introducción al ciclo, propongo pasar al tema principal del artículo de hoy, a saber, el cifrado César.





¿Lo que es?

El cifrado César es un tipo simple de cifrado de sustitución en el que cada letra del texto sin formato se reemplaza por una letra con un número fijo de posiciones en el alfabeto. Su principio de funcionamiento se puede ver en la siguiente ilustración:





¿Qué características tiene?

En Caesar Cipher, como en el algoritmo de cifrado, puedo distinguir dos características principales. La primera característica es la simplicidad y disponibilidad del método de cifrado, que puede ayudarlo a profundizar en este tema; la segunda característica es, de hecho, el método de cifrado en sí.





Implementación 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 = ''
      
      



El resto se puede dejar igual, pero si lo desea, puede cambiar los nombres de las variables.





En general, los cambios 'más grandes' para nosotros ocurrirán en la parte del código donde tenemos el algoritmo.





Salir

Ha escrito con éxito un algoritmo para cifrar y descifrar un mensaje en Python utilizando el método Caesar. En el próximo artículo, veremos el cifrado de Vigenère, así como analizaremos su implementación en Python, pero por ahora le sugiero que escriba en los comentarios las opciones para modernizar el programa (código o sugerencias y deseos de mijo). Definitivamente consideraré tu opinión.








All Articles