in

Criptografía con Python – Caesar Cipher

algorithm caesar cipher

En el último capítulo, nos hemos ocupado del cifrado inverso. Este capítulo habla sobre el cifrado César en detalle.

Algoritmo de cifrado César

El algoritmo de cifrado Caesar tiene las siguientes características:

  • La técnica de cifrado Caesar es el método sencillo y sencillo de la técnica de cifrado.

  • Es un tipo simple de cifrado de sustitución.

  • Cada letra de texto sin formato se reemplaza por una letra con un número fijo de posiciones hacia abajo con el alfabeto.

El siguiente diagrama muestra el funcionamiento de la implementación del algoritmo de cifrado Caesar:

Algoritmo de cifrado César

La implementación del programa del algoritmo de cifrado Caesar es la siguiente:

def encrypt(text,s):
result = ""
   # transverse the plain text
   for i in range(len(text)):
      char = text[i]
      # Encrypt uppercase characters in plain text
      
      if (char.isupper()):
         result += chr((ord(char) + s-65) % 26 + 65)
      # Encrypt lowercase characters in plain text
      else:
         result += chr((ord(char) + s - 97) % 26 + 97)
      return result
#check the above function
text = "CEASER CIPHER DEMO"
s = 4

print "Plain Text : " + text
print "Shift pattern : " + str(s)
print "Cipher: " + encrypt(text,s)

Producción

Puede ver el cifrado César, que es el resultado como se muestra en la siguiente imagen:

Cifrado césar

Explicación

El carácter de texto sin formato se recorre de uno en uno.

  • Para cada carácter en el texto sin formato dado, transforme el carácter dado según la regla según el procedimiento de cifrado y descifrado del texto.

  • Después de seguir los pasos, se genera una nueva cadena que se conoce como texto cifrado.

Hackeo del algoritmo de cifrado Caesar

El texto cifrado se puede piratear con varias posibilidades. Una de esas posibilidades es Técnica de fuerza bruta, lo que implica probar todas las claves de descifrado posibles. Esta técnica no requiere mucho esfuerzo y es relativamente sencilla para un pirata informático.

La implementación del programa para piratear el algoritmo de cifrado Caesar es la siguiente:

message="GIEWIVrGMTLIVrHIQS" #encrypted message
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

for key in range(len(LETTERS)):
   translated = ''
   for symbol in message:
      if symbol in LETTERS:
         num = LETTERS.find(symbol)
         num = num - key
         if num < 0:
            num = num + len(LETTERS)
         translated = translated + LETTERS[num]
      else:
         translated = translated + symbol
print('Hacking key #%s: %s' % (key, translated))

Considere el texto cifrado encriptado en el ejemplo anterior. Luego, la salida con posibles métodos de piratería con la clave y el uso de la técnica de ataque de fuerza bruta es la siguiente:

Hackeo de Cipher César

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Método de coincidencias () de Java Matcher – Javatpoint

apple touch icon@2

python – ¿Cómo importar la clase dentro del mismo directorio o subdirectorio?