Day 1 — 密碼學 (Cryptography)

重點整理

主題核心概念重要工具/技術備註
密碼學 (Crypto)快速辨識編碼特徵(Base64 結尾 =、Hex 只含 0-9a-f);XOR、Caesar、RSA 基礎辨識CyberChef、Python3、base64xxd起手式:看字串特徵 → 猜編碼 → 工具驗證

常見編碼特徵對照表

編碼/加密特徵工具
Base64結尾有 ===,英數混合base64 -d、CyberChef
Hex只含 0-9a-f,長度為偶數xxd -r -p、CyberChef
Caesar全英文字母,位移固定CyberChef ROT、Python
XOR需要 key,輸出看起來是亂碼CyberChef XOR、Python
RSA出現 n, e, d, p, qPython pycryptodome

起手式流程

1. 觀察字串特徵(長度、字元集、結尾)
2. 猜測編碼種類
3. 用 CyberChef 或 terminal 驗證

# Base64 解碼
echo "RkxBR3tiYXNlNjR9" | base64 -d

# Hex 解碼
echo "464c4147" | xxd -r -p

學習建議

  • 練習平台:picoCTF Cryptography 題區
  • 產出:整理常見編碼特徵小表(貼在桌面備用)

模擬比賽題目

一、選擇題(單選)

1. 字串結尾有 =,第一直覺猜測是?

  • A) Hex
  • B) Base64 ✅
  • C) Caesar Cipher
  • D) RSA

2. 密文 464c41477b6865785f72656164797d(只含 0-9 和 a-f),最可能是?

  • A) Base64
  • B) 二進位碼
  • C) Hex ✅
  • D) URL 參數

3. 終端機快速將 Hex 還原為明文,使用?

  • A) base64 -d
  • B) strings
  • C) xxd -r -p
  • D) grep

4. 多層加密/編碼轉換最推薦的萬用工具?

  • A) Wireshark
  • B) Burp Suite
  • C) CyberChef ✅
  • D) Ghidra

5. Caesar Cipher 的加密原理?

  • A) 公鑰私鑰非對稱加密
  • B) 轉換為位元流
  • C) 字母表固定位數平移替換 ✅
  • D) 雜湊函數產生不可逆字串

二、CTF 實作題

Challenge 1:經典的等號 (Base64)

日誌中發現 RkxBR3tiYXNlNjRfYWk0Y3RmfQ==,請還原明文。

echo "RkxBR3tiYXNlNjRfYWk0Y3RmfQ==" | base64 -d

Flag 格式FLAG{base64_ai4ctf}


Challenge 2:數字與字母的交織 (Hex)

封包中夾帶 464c41477b6865785f72656164797d,請解碼。

echo "464c41477b6865785f72656164797d" | xxd -r -p

Flag 格式FLAG{hex_ready}


Challenge 3:偏移的字母 (Caesar)

截獲密文 GMBH{dbftbs},位移量為 +1,請還原明文。

cipher = "GMBH{dbftbs}"
plain = ''.join(chr(ord(c) - 1) if c.isalpha() else c for c in cipher)
print(plain)

Flag 格式FLAG{caesar}

Built with LogoFlowershow