私は古い試験を受けています。最終試験は数日後です。暗号文を解読したいのですが、最初に 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
ありがとう