Math 破解amsco密码
我已经成功地为[amsco cipher]()实现了一个将明文转换为密文的程序。然而,我不知道如何将密文转换成纯文本。如何确定将密码转换为纯文本的列的长度(或每列的行数)? 例如,如果密文为EMAAE HUMBA LMNRE AUDSR RTSUN WHAVP TOEMH KITFE DGEUS TEATO SHOSO YHNME EKLAI,列键为35142,则列“1”下的起始字母为E,同一列的下一行为MA。列号“1”中的第三行将有“A”,依此类推。但是,如何确定每列的总行数Math 破解amsco密码,math,cryptography,Math,Cryptography,我已经成功地为[amsco cipher]()实现了一个将明文转换为密文的程序。然而,我不知道如何将密文转换成纯文本。如何确定将密码转换为纯文本的列的长度(或每列的行数)? 例如,如果密文为EMAAE HUMBA LMNRE AUDSR RTSUN WHAVP TOEMH KITFE DGEUS TEATO SHOSO YHNME EKLAI,列键为35142,则列“1”下的起始字母为E,同一列的下一行为MA。列号“1”中的第三行将有“A”,依此类推。但是,如何确定每列的总行数 谢谢。我认为,最
谢谢。我认为,最简单的方法就是编写一个循环,就像编码一样。因此,它为每列加上1和2,直到没有剩下字母为止 下面是一个对文本进行解码以显示我的意思的程序(它是用python 3编写的): 以下是输出:
total chars 65
key length 5
key digit and number of characters
3 13
5 14
1 13
4 13
2 12
before sorting [('3', 13), ('5', 14), ('1', 13), ('4', 13), ('2', 12)]
after sorting [('1', 13), ('2', 12), ('3', 13), ('4', 13), ('5', 14)]
digit 1 column EMAAEHUMBALMN
digit 2 column REAUDSRRTSUN
digit 3 column WHAVPTOEMHKIT
digit 4 column VEDGEUSTEATOS
digit 5 column HOSOYHNMEEKLAI
ordered columns ['WHAVPTOEMHKIT', 'HOSOYHNMEEKLAI', 'EMAAEHUMBALMN', 'VEDGEUSTEATOS', 'REAUDSRRTSUN']
decode
WHOEVERHASMADEAVOYAGEUPTHEHUDSONMUSTREMEMBERTHEKAATSKILLMOUNTAINS
我测试了Andrew的代码,但它似乎并不适用于所有情况。顺便说一句,我最近正在研究Amsco密码,如果您知道密钥,有一种相当简单的方法可以解密密文:
我所有的代码都在工作,但是有一场比赛正在进行,其中一项任务涉及到这个密码。我会在两周内完成。没问题,很有趣。代码不是非常清晰,但我看不出如何更好地编写它,抱歉。是的,但我认为在某些情况下,索引可能超出范围。例如我在这里试过一个例子,我有一个
5
,我应该在ordered=…
开头的行中有一个n
。上面的代码是固定的。谢谢,但我相信它不会产生正确的结果。对于代码中的eg,它生成的纯文本为“idtrsmotthhornotiseoutherswieroboinejmamrersorn”,而实际上它应该是“ridersontestorminothishouseerbornjimmorrison”,如果你像编码一样写下它的前两行,你会得到(R ID E R s O NT H)(ES T或M in T OT),所以1列(在右边)从热的开始。但在加密文本的开头有HET。所以我觉得你的加密文本是错的。我还编写了加密例程,当我加密文本时,上面的代码会对其进行解密。因此,要么我误解了密码的工作原理,要么你的加密代码是错误的。
total chars 65
key length 5
key digit and number of characters
3 13
5 14
1 13
4 13
2 12
before sorting [('3', 13), ('5', 14), ('1', 13), ('4', 13), ('2', 12)]
after sorting [('1', 13), ('2', 12), ('3', 13), ('4', 13), ('5', 14)]
digit 1 column EMAAEHUMBALMN
digit 2 column REAUDSRRTSUN
digit 3 column WHAVPTOEMHKIT
digit 4 column VEDGEUSTEATOS
digit 5 column HOSOYHNMEEKLAI
ordered columns ['WHAVPTOEMHKIT', 'HOSOYHNMEEKLAI', 'EMAAEHUMBALMN', 'VEDGEUSTEATOS', 'REAUDSRRTSUN']
decode
WHOEVERHASMADEAVOYAGEUPTHEHUDSONMUSTREMEMBERTHEKAATSKILLMOUNTAINS