ENUNCIADO: Algoritmo Personalizado

TIPO: Criptografía DIFICULTAD: ALTA TIEMPO: 45 MINUTOS

DESCRIPCIÓN

Un informante anónimo te ha proporcionado un mensaje cifrado utilizando un algoritmo personalizado. Necesitas descifrarlo para obtener la información crítica que contiene.

OBJETIVO:

Analizar el algoritmo de cifrado proporcionado y descifrar el mensaje oculto.

MENSAJE CIFRADO

MbzKNclubnQRtOrgmQPnDwtspUfSNCFeqEMiyiVtFmIfGRbsGUzUimiaGvnzpBLfrvzWZimhylZZesgDaH QteTgbQokOheEoorrpaDoZgLhzmN bfwsFtokyCELaBogwfLAcXoNQKrhCVQJeMVqVMvPvjXEaRXHb QUNLzsvNZRUkGxoibzsTbVucNWdqsypsgjsg sUQykViZUrNuSAXRlZcvZoaxhnRhwJRuAcnHWpRTkkoletByjABhxowKdPVICknvFmDqKc yKhehypGnSniuttNWoWCpNEJxPNixzbDuDucRhsGtkWkdeaxYNDrRoubtRxeJAWFrpcQcIpYFQqWdkwpdEgVKANmIUObWyuAE davlhvBARQyiOptGCEJwVmfeaaJlCHTPazUylFS

ALGORITMO DE CIFRADO

import random, time

def encrypt(plaintext, key):
    alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
    ciphertext = ""
    for i in range(0, len(plaintext)):
        character = plaintext[i]
        ciphertext = ciphertext + alphabet[(alphabet.index(character) + key) % len(alphabet)]
        for j in range(0, key):
            ciphertext = ciphertext + random.choice(alphabet)
    return ciphertext

Este algoritmo toma un texto plano y una clave numérica, y produce un texto cifrado con caracteres aleatorios intercalados.