这是一个 Vigenere 密文
EORLL TQFDI HOEZF CHBQN IFGGQ MBVXM SIMGK NCCSV
WSXYD VTLQS BVBMJ YRTXO JCNXH THWOD FTDCC RMHEH
SNXVY FLSXT ICNXM GUMET HMTUR PENSU TZHMV LODGN
MINKA DTLOG HEVNI DXQUG AZGRM YDEXR TUYRM LYXNZ
ZGJ
巧合指数给出了六 (6) 的变化:我知道这是正确的(我使用在线 Java 小程序使用密钥“QUARTZ”解密整个事情)。
然而,在这个问题中,我们只知道密钥的第一个和最后两个字母——“Q”和“TZ”。
到目前为止,我已经使用这个很棒的小程序将密文分成了多个切片。所以第一个切片是0、k、2k、3k、4k;第二个是1,k + 1,2k + 1,3k + 1;等等。
KeyPos=0: EQEQQSCXQJJHDEYIUTSVMTVUMTYJ
KeyPos=1: OFZNMICYSYCWCHFCMUULILNGYUX
KeyPos=2: RDFIBMSDBRNOCSLNERTONOIADYN
KeyPos=3: LICFVGVVVTXDRNSXTPZDKGDZERZ
KeyPos=4: LHHGXKWTBXHFMXXMHEHGAHXGXMZ
KeyPos=5: TOBGMNSLMOTTHVTGMNMNDEQRRLG
我的想法是计算每个块中频率最高的字母,希望最常见的字母能给我一些线索,让我知道如何找到“U”、“A”和“R”。但是,这些块中最常见的字母是:
KeyPos=0: Q,4 T,3 E,3, J,3
KeyPos=1: C,4 U,3 Y,3
KeyPos=2: N,4 O,3 R,3 D,3 B,2
KeyPos=3: V,4 D,3 Z,3
KeyPos=4: H,6 X,6 M,3 G,3
KeyPos=5: M,4 T,4 N,3 G,3
这会产生 QCNVHM 或 QUNVHM(慷慨),它们都与 QUARTZ 不相近。有在线小程序可以解决这个问题,所以它不能太短的文本从块中产生合适的频率计数。
我想我一定是以错误的方式处理这个问题。我只是希望你们中的一个人能够提供一些关于我哪里出错的线索。
ps 这是一个数字加密类。