https://pastein.ru/t/S1X

  скопируйте уникальную ссылку для отправки

Загрузка данных


import itertools

def decrypt(ciphertext, key):
    n = len(key)
    result = [] #массив, в который складываем результат
    for i in range(0, len(ciphertext), n):
        block = ciphertext[i:i+n] #разбиение на блоки
        decrypted_block = ''.join(block[key[j]] for j in range(n)) #расшифровка блока
        result.append(decrypted_block)
    return ''.join(result)

def main():
    ciphertext = "клТооь т счоармлек ьояс,ее лвлаа ккзгнур ачьеат ийпнкхпоо-оуод,нмва езсслтви иуе ч улс е аос,тлуо рпк аиивярдзо о ожтнйибр.укяж У нкзчаа аиввлйрт ооааснтк,а чявккда дгрву сьекр упрлыне аг,лшйкои пхрло ьаитяоа вшгло ыпсялш асн зоам йв;ягрзндо уолиурблен—,с я ы тлобаоа, н о умяаин!дн"
    n = 6 #длина блока
    key_permutations = itertools.product(range(n), repeat=6) #перебор всех возможных ключей

    for key in key_permutations:
        decrypted_text = decrypt(ciphertext, key)
        print(f"Ключ: {key}, Расшифрованный текст: {decrypted_text}")


if __name__ == "__main__":
    main()