這四天我們已經完成 Web 主題了(ง๑ •̀_•́)ง,接著主題來到密碼學啦~廢話不多說馬上開始!
密碼學為我們日常生活中的重要一環,舉凡網路上的訊息傳輸等等,都需要使用到加密技術。而現代的加密技術建立在數個世紀以來發展出來的古典密碼學基礎上。今天我們將會說明有關古典密碼學的小小知識。
密碼學的主要目的是確保訊息的隱密性,以避免被敵人或非授權人員獲知。古典密碼學中最早期的一個例子是凱撒密碼。
凱撒密碼是一種替換加密法,將字母表中的每個字母根據預設的位移數字進行替換。例如,當位移為 3 時,A
會被替換為 D
,B
變成 E
,以此類推。
例子:
明文:HELLO
加密(右位移3):KHOOR
ROT13 是一種簡單的字母替換加密法,它是凱撒密碼的一個特例,位移值固定為 13。換句話說,ROT13 將字母表中的每個字母向後移動 13 個位置。例如,A
會被替換為 N
,B
會被替換為 O
,依此類推,直到 Z
被替換為 M
。由於英文字母總共有 26 個,當位移 13 次後,再次應用 ROT13 就會回到原來的明文。加密過程非常簡單,沒有實際的安全性
例子:
明文:HELLO
加密:URYYB (H→U, E→R, L→Y, O→B)
再一次加密:"HELLO" (UHU, R→E, Y→L, B→O)
凱薩密碼的變體,一種多表替換加密法,使用一個關鍵字(key)來決定每個字母的位移量。維吉尼亞密碼透過不斷變換位移值,增加了加密的複雜度,使得破譯更加困難。
明文:HELLO
關鍵字:KEY
(重複關鍵字之後)
明文:HELLO
關鍵字:KEYKE
(決定明文字母的位移量)
K = 10, E = 4, Y = 24
H + K(10) = R(17)
E + E(4) = I(8)
L + Y(24) = J(9)
L + K(10) = V(21)
O + E(4) = S(18)
加密結果:
明文:HELLO
密文:RIJVS
利用頻率分析法,可以輕易透過分析字母出現的頻率來破解凱撒密碼。維吉尼亞密碼雖然有位移的複雜性,但在密文足夠長的情況下,也會受到類似的頻率分析法攻擊。此外,替換密碼和換位密碼同樣也容易被破譯,特別是在加密訊息的長度夠長時。
LAB_1 - 13
題目直接問 do you know what ROT13 is?
,那我們直接使用線上的 ROT13 工具,把題目那串疑似 flag 的字串丟進去工具,成功取得 flag
LAB_2 - Vigenere
題目敘述中的 message
給了以下這串密文。那如題目名稱加上 CYLAB
這個 key .,八九不離十跟 維吉尼亞密碼 有關rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_cc82272b}
一樣使用線上的 工具,右邊輸入框輸入密文,按下 decoder
之後 flag 就出來啦~
練習就到這邊,以下是參考資料,請搭配服用:
古典密碼學
ROT13
維吉尼亞密碼
內文如有錯誤,還請不吝指教~