日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实验吧— Crypto Write up(一)

發布時間:2024/9/30 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验吧— Crypto Write up(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:最近先做一些關于古典密碼的題,了解常見的古典密碼。

變異凱撒

加密密文:afZ_r9VYfScOeO_UL^RWUc

剛開始以為這道題考的是凱撒加密,就在線求解,結果不行,那就來分析題目,變異凱撒,應該是利用凱撒加密的原理加以變形,觀察一波,提示又提示說格式為flag{},發現a的ascii到f的ascii偏移量為5,f的ascii到l的ascii偏移量為6,Z的ascii到a的ascii偏移量為7,總結出以后的每個字母偏移量都要加1,觀察出規律了,就寫腳本跑吧。

附上ASCII表

py3腳本

a = 'afZ_r9VYfScOeO_UL^RWUc'b = ''i = 5 for d in a:b+=chr(ord(d)+i)i+=1 print(b) #ord()取出一個字符變成ASCII #輸出結果: flag{Caesar_variation}

做題小結:凱撒加密是一種替換加密,明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文。有時候需要自己區觀察規律,不能死板一味利用在線工具,要多按照題意寫出相應的腳本。

圍在柵欄中的愛

最近一直在好奇一個問題,QWE到底等不等于ABC?
-.- … --.- .-… .-- - …-. -.-. --.- --. -. … — ---
flag格式:CTF{xxx}

首先就摩斯密碼解密,解出明文字符為:

KIQLWTFCQGNSOO

再來看提示:QWE到底等不等于ABC?
想起來QWE密碼,利用QWE密碼進行求解,但是求解結果不對,應該是漏掉了一些內容,觀察題目發現圍在柵欄中的愛,應該還要涉及到柵欄解密,試試看

先試試以兩字為一欄的,進行QWE解密,解出

rabnayihsevoli

再結合剛才題目中說到愛,觀察到解出來的字符后面有love這個詞,不過是倒敘的,那就反過來看看。
提交即為flag

做題小結:通過這道題了解了QWE加密,鍵盤按ABC的順序排列得到對應的字母。

附上大佬博客QWE加密

疑惑的漢字

王夫 井工 夫口 由中人 井中 夫夫 由中大

當鋪密碼在線解密

寫一個簡單腳本跑一下

a = [67,84,70,123,82,77,125]b=''for i in a:b=b+chr(i) print(b)

得出flag

CTF{RM}

做題小結:題很簡單,主要是為了了解當鋪密碼,當前漢字有多少筆畫出頭,就是轉化成數字幾,按照這個規則即可解出當鋪密碼。

古典密碼

密文內容如下{79 67 85 123 67 70 84 69 76 88 79 85 89 68 69 67 84 78 71 65 72 79 72 82 78 70 73 69 78 77 125 73 79 84 65}
請對其進行解密
提示:1.加解密方法就在謎面中
2.利用key值的固定結構
格式:CTF{ }

先對密文求解,密文為ASCII轉成字符

a = [79,67,85,123,67,70,84,69,76,88,79,85,89,68,69,67,84,78,71,65,72,79,72,82,78,70,73,69,78,77,125,73,79,84,65]b=''for i in a:b=b+chr(i) print(b) #輸出結果: OCU{CFTELXOUYDECTNGAHOHRNFIENM}IOTA

用凱撒和柵欄嘗試都不行,去看提示,提示說加解密方法就在謎面中,。。。
什么也沒看出來,再去看題目,發現是古典密碼而古典密碼編碼方法歸根結底主要有兩種,即置換和代換。
置換密碼中包含列置換和周期置換,在百度看到一篇大佬的博客后,感覺這個題應該就是列置換,試試吧。

在此之前,先來了解一下列置換的原理,這里還是參考大佬的博客吧,自己表達不出來這個原理。 置換密碼之列置換

首先這個密文一共有35個字符,可以分為7*5和5*7的矩陣
就先以7*5來嘗試

1234567 1 OCU{CFT 2 ELXOUYD 3 ECTNGAH 4 OHRNFIE 5 NM}IOTA

聯系第二個提示,key值的固定結構即為CTF{},這個信息給我們提高很大的便利,這樣就可以確定一些列的位置。

開始肯定是C,然后是T,再來就F和{,最后便是}

所以就有兩種情況,因為題中第一行有兩個C
順序即為這兩種

2764xx3或5764xx3

先試第一種,當然第一種也有兩種情況,分別為

2764513或2764153

先試第一種

CTF{COU LDYOUEX CHANGET HEINFOR MATION} 即為 CTF{COULDYOUEXCHANGETHEINFORMATION}

提交,對了。。。運氣好,否則得試好幾次。

我喜歡培根

– — .-. … . …–.- … … …–.- -.-. — --- .-… …–.- -… …- - …–.- -… .- -.-. — -. …–.- … … …–.- -.-. — --- .-… . .-. …–.- -… -.-. -.-. -… -.-. -.-. -.-. -… -… -… -.-. -… -.-. -.-. -.-. -… -… -.-. -.-. -.-. -.-. -.-. -.-. -.-. -.-. -.-. -… -… -.-. -… -.-. -.-. -.-. -.-. -… -.-. -.-. -.-. -.-. -.-. / -.-. -… -.-. -.-. -.-. -… -.-. -.-. -… -.-. / -.-. -.-. -.-. -… -.-. -.-. -… -… -… -.-. -.-. -… -… -… -.-. -.-. -… -.-. -… -…

摩斯密碼解密

MORSE_IS_COOL_BUT_BACON_IS_COOLER_DCCDCCCDDDCDCCCDDCCCCCCCCCDDCDCCCCDCCCCCCDCCCDCCDCCCCDCCDDDCCDDDCCDCDD

摩斯是酷的但培根更酷,利用培根解密
這里需要注意一點就是這里按照密文字母順序替換成AB,因為培根密碼中只有A和B.
原理詳解:

DCCDCCCDDDCDCCCDDCCCCCCCCCDDCDCCCCDCCCCCCDCCCDCCDCCCCDCCDDDCCDDDCCDCDD

將C替換成A,D替換成B,在線網站解密即可得出flag。

做題小結:重新熟悉一下培根密碼。

Fair-Play

The quick brown fox jumps over the lazy dog!
ihxo{smzdodcikmodcismzd}

剛開始接觸這道題根本沒有一點思路,無奈只有百度,發現這是古典密碼中的Playfair 加密算法,那么就來了解一下。

Playfair算法基于一個5*5的字母矩陣,該矩陣使用一個關鍵詞構造,方法是按從左到右、從上到下順序,填入關鍵詞的字母(去除重復字母)后,將字母表其作余字母填入。

加密規則

Playfair加密算法是先將明文按兩個字母一組進行分組,然后在矩陣中找對應的密文。

以這道題為例,來了解一下加密規則
首先編制密碼表
題中給我們的密匙為The quick brown fox jumps over the lazy dog!
密文為ihxo{smzdodcikmodcismzd}
先根據密匙來編織出密碼表(我這里是按照從左到右)

t h e q u i c k b r o w n f x m p s v l a z y d g

取密文的規則如下:

  • 若明文出現相同字母在一組,則在重復的明文字母中插入一個填充字母(eg:z)進行分隔后重新分組(eg: balloon被重新分組為ba lz lo on)
  • 若分組到最后一組時只有一個字母,則補充字母z
  • 若明文字母在矩陣中同行,則循環取其右邊下一個字母為密文(矩陣最右邊的下一個是最左邊的第一個)(eg: br被加密為ri)
  • 若明文字母在矩陣中同列,則循環取其下邊下一個字母為密文(矩陣最下邊的下一個是最上邊的第一個)(eg: pz被加密為zh)
  • 若明文字母在矩陣中不同行不同列,則取其同行且與同組另一字母同列的字母為密文(eg: mz被加密為pa,fg被加密為xd)
  • 這就是加密方式,如果懂得了加密,那么反過來推出明文即可

    做題小結:一開始會很頭疼不懂原理,把原理搞懂便很好做的,又了解了一種新的古典密碼,繼續學習吧!另附上大佬博客python之playfair密碼算法詳解[原創]向大佬學習。

    總結

    以上是生活随笔為你收集整理的实验吧— Crypto Write up(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。