https://pastein.ru/t/iCX

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

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


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.permutations(range(n), 6) #перебор всех возможных ключей

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


if __name__ == "__main__":
    main()