def cifrar_cesar(texto, clave):
resultado = ""
for char in texto:
if char.isalpha():
# Mantener la mayúscula o minúscula según el original
mayuscula = char.isupper()
# Aplicar el cifrado
char_cifrado = chr((ord(char) + clave - ord('A' if mayuscula else 'a')) % 26 + ord('A' if mayuscula else 'a'))
resultado += char_cifrado
else:
resultado += char
return resultado
def descifrar_cesar(texto_cifrado, clave):
# Utilizar la función de cifrado con la clave negativa para descifrar
return cifrar_cesar(texto_cifrado, -clave)
# Ejemplo de uso
mensaje_original = "Hola mundo"
clave_secreta = 3
mensaje_cifrado = cifrar_cesar(mensaje_original, clave_secreta)
mensaje_descifrado = descifrar_cesar(mensaje_cifrado, clave_secreta)
print("Mensaje original:", mensaje_original)
print("Mensaje cifrado:", mensaje_cifrado)
print("Mensaje descifrado:", mensaje_descifrado)