转轮机加密详解两种解题方法 -攻防世界
從19世紀20年代,人們開始發明各種機械加密設備對數據進行加密處理,最為著名的是轉輪機和轉輪加密算法,轉輪密碼機在二戰期間使用極為廣泛。
轉輪密碼機是由一個輸入鍵盤和一組轉輪組成,每個轉輪上標有有26個字母,字母的的順序隨意。轉輪之間由齒輪進行連接,當一個轉輪轉動的時候,可以將一個字母轉化成另外一個字母。
題目特點:加密表每一行都有 26 個不同的字母,密鑰的長度、密文長度、表格的行數都是 13,密文中字母是有重復字母的。
解題:方法一(手動)
把內容按照 2,3,7,5,13…行按順序排列,
NACZDTRXMJQOYHGVSFUWIKPBEL
FHTEQGYXPLOCKBDMAIZVRNSJUW
QGWTHSPYBXIZULVKMRAFDCEONJ
KCPMNZQWXYIHFRLABEUOTSGJVD
SXCDERFVBGTYHNUMKILOPJZQAW
EIURYTASBKJDFHGLVNCMXZPQOW
VUBMCQWAOIKZGJXPLTDSRFHENY
OSFEZWAXJGDLUBVIQHKYPNTCRM
QNOZUTWDCVRJLXKISEFAPMYGHB
OWTGVRSCZQKELMXYIHPUDNAJFB
FCUKTEBSXQYIZMJWAORPLNDVHG
NBVCXZQWERTPOIUYALSKDJFHGM
PNYCJBFZDRUSLOQXVETAMKGHIW
第一列的內容即為密文,按照列讀找flag,找到了 fireinthehole
方法二:腳本
import re sss='''1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE < 2: < KPBELNACZDTRXMJQOYHGVSFUWI < 3: < BDMAIZVRNSJUWFHTEQGYXPLOCK < 4: < RPLNDVHGFCUKTEBSXQYIZMJWAO < 5: < IHFRLABEUOTSGJVDKCPMNZQWXY < 6: < AMKGHIWPNYCJBFZDRUSLOQXVET < 7: < GWTHSPYBXIZULVKMRAFDCEONJQ < 8: < NOZUTWDCVRJLXKISEFAPMYGHBQ < 9: < XPLTDSRFHENYVUBMCQWAOIKZGJ < 10: < UDNAJFBOWTGVRSCZQKELMXYIHP < 11 < MNBVCXZQWERTPOIUYALSKDJFHG < 12 < LVNCMXZPQOWEIURYTASBKJDFHG < 13 < JZQAWSXCDERFVBGTYHNUMKILOP < ''' m="NFQKSEVOQOFNP" content=re.findall(r'< (.*?) <',sss,re.S) iv=[2,3,7,5,13,12,9,1,8,10,4,11,6] vvv=[] ans="" for i in range(13):index=content[iv[i]-1].index(m[i])vvv.append(index) for i in range(0,26):flag=""for j in range(13):flag+=content[iv[j]-1][(vvv[j]+i)%26]print flag總結
以上是生活随笔為你收集整理的转轮机加密详解两种解题方法 -攻防世界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2014 ecb,_it’s_easy_
- 下一篇: CTF-Web-常用伪协议用法: