實驗吧-密碼學-古典密碼
阿新 • • 發佈:2018-12-09
開啟題目,題目資訊給的是一串數字,瞬間就能聯想到把這串數字使用ASCII碼進行轉換:
ASCII轉換後的密文是:OCU{CFTELXOUYDECTNGAHOHRNFIENM}IOTA
咦~好像跟要提交的格式不太一樣啊,要求格式是:CTF{},這個卻是OCU{}。。。
再想想古典密碼的加密方式,古典密碼最基礎的加密方式就是:列置換加密,就是將密文按固定長度x分組,即每行x個字元,在金鑰控制下按照某一順序交換列,最後按列優先的順序依次讀出,即產生了密文。
好,我們會過頭來看轉換後的密文字串,總共35位,現在我們來進行分組,分組方式,最先想到的是35=7*5
現在對每列進行編號:
1 2 3 4 5 6 7
OCU { CFT
ELXOUYD
ECTNGAH
OHRNFIE
NM } IOTA
按照題目要求,key值的固定格式為CTF{}。因此我們可以斷定第2列或第5列是開頭,接下來是第7列,然後第6列,考慮到“ { ”是第4列,再考慮到“ } ”是最後一列,嘗試得到一個新序列:2 7 6 4 5 1 3。根據這個序列我們來調整得到:
CTF{COU
LDYOUEX
CHANGET
HEINFOR
MATION}
即:CTF{COULDYOUEXCHANGETHEINFORMATION}
嗯。。。是它了