Encryption

當只有一小部分密鑰可用時如何解碼 Playfair?

  • January 6, 2022

當只有一小部分密鑰可用時如何解碼 Playfair?此消息的純文字是什麼?有人可以解釋如何恢復此消息的純文字嗎?是否有可以下載並在我的 PC 上執行的程序來批量測試可能的密鑰以解決以下問題?

使用的密碼是 Playfair。作為單詞的部分鍵是:?A?D????BCG??KLNQ???V???Z. 作為 5x5 表的部分鍵是:

? A ? D ?
? ? ? B C
G ? ? K L 
N Q ? ? ? 
V ? ? ? Z

注意符號“?” 表示未知字母。純文字應該是英語或葡萄牙語。以下 3 個文本中只有一個由 Playfair 密碼編碼,但我不知道是哪個。

TXT1

WL_SWVJDTA_GSFSSL_SKKGJAZVWVJ_GEMWHUG_FSFS_WSWTW_SSG_SHWGWID_F_WELAWKS-_SWFKWGFELN__OZSE.ESEV_SA,AFUEAW_DWID_WEYFGSEGSMK_VAWW_XUDSKMJV_J,AL,FI_LVF_MWSLN__GF__OZHFFL_FKK_GAWLSGFWX__WGJ_S_L_GWKJSE_MYHKGWSD_AKTF.WGLDFVASLL_FKWUA_FW_LMUGSKGAF_GAWH_LKLSGGGIGSL_GU_F_WLJMFXSFJ_WNNGUBF__YFWVWMS__F,SWJ_WA_K_GGLSFKWAVAA_SVFYJSGWJE_G_NLU_F_GLSWWLJJ,M_JAUEWWLMJLSSLXDGUVFSW_GSKEWAMFG_FAUSL_F_SSKVMLX__JKS_JNSNVVEYSDJHM_AGUEWSWWWLMFJ_AJLS__SGYFGWF_WES-_DWX

TXT2

SNPQUNBFMIENSKVNSXPQAZMEFONUGSNFRHOEKHBSQRQKRHUPXOUOTULAADZAMARNQEQUSCCORLPQLMTUDECUGXACQKCZKUSIDQOLVFRHEHUCULMIENSKVNKSQRTULAADUDQUHOKUDSERLGPAMACKOCTUQRUBPSZPQUSMQPULMIENSKVNPZPUQKAZAMKEXIMXNDAXACCNIUNEACMEFONUACUMPQUSSLUDQRTPUCAQKGDUIKTUCLGQEIPIZXKGKCDUHRQTMPMBDQSMQPGCAMRHPOXOTNRLOQABNLEPZPIEOFPUUKPISXSKMUDASKISWESKPSPQPTDQQCEHOKQOTUACAFPELMSKPSZAUPPESDPXACMECOROTVRLEHUCVNOUPQEAOQXIPQXBKGOCRHLDMQPSQKSXGSFMPEKMUCSMQCUPXDBPSXMEZPBWCDMPCAKSRETFACPOBDMPMBOHQTQBPOBCNTGSOUQOEDDNSMQPTPEPGKZPMCMAOEXMMLDUEHSIAOBUGSUDGKQOPYPQMLVNKSNXSXSMSPRNQEQUSCAFERSKREGKYDGSMEIZHEMDHRSKPSXHQKUCOEGSHKTPNTQBWDTPEROEOCLMAOBQUPMQSDCMGSHNQEQUSCRMMIQKCUDRSDMEIOCOMFHOHCPOGKYDGSUDIUSNPQUNBFMIENSKVNCAUORHRLNOPQTULAMEFOUCUDTUERGBMARSTCKSQOTPEHIPMHQKIXCAUORHRLSDMEQUMAUCUCBUMASGMUPQOKQUACMESVUPBUQMAUSLCABYMIDHPAHRBULMEHSNPQUNBFMIENUDMQMPMWCAEHXACHEOOVEGLMDQSMQTRHPOGKYD

TXT3

VBRCTB%RS1W2G_0CBKDAPQBG___GXGW,O_QCWEF2GQDGA9QG-NDRY__1U-BWCT__YRKKTYXCKBZAB_HJVG_BXY_YDUR_B39_0JS2QG-_AD__TGVKHBD__GCBDT__0KBJD_.BDYG_CD2R0Y1H_DYJGUKWJKKB,C_BHWOB_NCODXZKDG__ZB__S2_20BDECTYDDKCYY_HY5UDY_GKOT1W_CC2
_CKDPQ_0G%X9GDTKNJFJ_CC_V_TC_B_BâUKTGKXTBFAP5BK2G30T_,_-BDURGBB_DDH,N0YB_BYGBK8_A__0
SB-CD_S2J.T_CBUJU_W_UDJVBUKYDUTY€YTYCJXHC_AD0C_0K_
K2_EYGG_CCVWGBVB_K%VWCMDDG__CTOY1CNDSBYA30__WDBJC,QHYGYG_YKYN_BCKO™VUKC.X

playfair可以解碼的文本是第二個。

為了找到答案,我使用了這個工具:https ://github.com/N8Stewart/PlayfairCrack 非常好的連結

Playfair 關鍵網格通常是通過填寫關鍵片語的字母,然後用字母表中剩餘的未使用字母完成網格來生成的。

在我看來,您提供的部分網格是以這種方式創建的。如果是這樣,您可以立即再填寫幾個字母(假設沒有 J):

? A ? D ?             ? A ? D ?
? ? ? B C             ? ? ? B C
G ? ? K L     -->     G H I K L
N Q ? ? ?             N Q ? ? ?
V ? ? ? Z             V W X Y Z

此外,Q 和 V 之間的三個單元最有可能是 RST、RSU、RTU 或 STU。對於這四種可能性中的每一種,現在只剩下六個單元格需要填充。使用電腦,測試所有可能的組合不會花費很長時間(4×6!= 2880)。你甚至可以用筆和紙來解決這個問題,嘗試用你已經擁有的部分密鑰進行部分解密,然後從明文中恢復以找出其他部分。

我認為可以安全地假設 TXT2 是 Playfair 加密消息。它有偶數個字元,沒有數字或標點符號,也沒有字母 J。此外,當分成對時,沒有相同字元出現兩次的對(這在 Playfair 加密中不可能發生)。

引用自:https://crypto.stackexchange.com/questions/88264