0

私は古い試験を受けています。最終試験は数日後です。暗号文を解読したいのですが、最初に vigenere で暗号化され、次に columna 転置で暗号化されています。復号化して元のメッセージを取得するにはどうすればよいですか?

message -> rgyqhbmnwaazxcajittuzqyagkx
vigenere key -> final
columnar transposition key -> exam

私はこれに何時間も費やしましたが、何も得られません。最初に列、次に Vigenere で復号化します。出力は英語に見えるはずだと思いますが、ジャンクになっています。私の vigenere コードは以下のとおりです。問題は円柱にあると思います。私が遭遇したすべてのコードはキーとして数字を取りますが、文字キーを持っています。

def decrypt(message, password):
    decrypted = ''
    for i in range(0, len(message)):
        letter = ord(message[i]) - ord(password[i%len(password)]) + 65
        if letter < 65:
            letter += 26
        decrypted += chr(letter)
    return decrypted

ありがとう

4

1 に答える 1