:::info # Crypto 講師:101 時間:8/27 13:30~16:30 課程簡報: ::: ## Intro ### 密碼學是什麼 | 不是 | 是 | |------|----| | 所有安全問題的解法 | 一個工具 | | 完全可靠 | 許多安全機制的基礎 | | | 一坨拉庫的數學 | ### 功能 - 機密性:不該看到的人看不到 - 完整性:確保資訊沒被竄改 - 認證:確保資訊來源 - 不可否認性:不能否認自己做過 ### 名詞解釋 - 加密:明文 → 密文 - 解密:密文 → 明文 - 明文:加密前的訊息 - 密文:加密後的訊息 - 演算法:解決問題的程序 - 金鑰:加解密使用的「鑰匙」 ### 編碼 vs 加密 - **編碼 (Encode)**:格式轉換 (例:摩斯碼、Base64) - **加密 (Encrypt)**:需金鑰與演算法 (例:凱薩密碼) --- ## 古典密碼學 ### 分類 - 移項式加密 → 改變順序 - 替換式加密 → 改變內容 --- ## 移項式加密 - 明文內容不變,只改變排列順序 - 例:轉置法 ### 密碼棒 (Scytale) 1. 將明文分成 N 個一組 2. 按規則排列形成密文 3. 需相同尺寸棒子解讀 範例: 明文:THEREISALWAYSONLYONETRUTH → 5*5 陣列 → 密文:`TIALTHSYYREASOURLONTEWNEH` **Lab 0x0** 密文:`WMINTEESLELTRINCOAGEONEHD` Flag:`NISRA{明文}` --- ## 替換式加密 - 將字母替換為其他符號 - 明文順序不變 ### 單表加密 - 固定替換規則 - 例:凱薩密碼、Atbash、Playfair cipher ### 凱薩密碼 - 偏移量=3 → A→D, B→E - 凱薩盤可視化操作 **Lab 0x1** 密文:`kimaiz_kzgxbw_qa_kwwt` Flag:`NISRA{明文}` ### **Atbash 密碼** - 字母表反轉:A↔Z, B↔Y ### **Playfair 密碼** 1. 明文分組 (同字插 X、尾補 X) 2. 建立 5*5 表 (key 填前方,去重,J=I) 3. 按規則替換 **Lab 0x2** 密文:`MIYBNICHFERZ` Key:`NISRA` Flag:`NISRA{明文}` ### 單表加密攻擊 - 字頻分析 - 字母出現頻率不變 - 可用頻率分布破解 --- ## 多表加密 - 使用多個替換表 - 克服字頻分析弱點 ### 維吉尼亞密碼 (Vigenère Cipher) - 多個凱薩密碼 - Key 長度決定偏移 **Lab 0x3** 密文:`V_LGET_XVGN_WUIL_KO_AIEV_TUQK_WLNO` Key:`NISRA` Flag:`NISRA{明文}` ### 攻擊方法 - 巧合指數 (IoC) - IoC ≈ 1.73 → 單表加密 - IoC ≈ 1 → 多表加密 - 可用來推測金鑰長度 **Lab 0x4** 長文密文 (見教材) --- ### 一次性密碼表 (One-Time Pad, OTP) - Key 完全隨機,與明文等長 - 只能用一次,理論上無法破解 - 實際應用:信用卡驗證 --- ## 現代密碼學 ### 柯克霍夫原則 - 系統設計公開也應安全 - 安全性依賴金鑰,不是演算法 --- ### 對稱式加密 - 同一把金鑰加解密 分類: - 串流加密 (XOR, RC4) - 區塊加密 (DES, AES) 優缺點 - 優點:速度快,可處理大量資料 - 缺點:金鑰分發問題,易受損壞影響 --- ### 非對稱式加密 - 使用公鑰與私鑰 常見: - RSA (大數質因數分解) - ECC (橢圓曲線) 優缺點 - 優點:兩把金鑰,可公開傳輸 - 缺點:速度慢,效率差 --- ### 密碼學與資安常識 - 不要使用保密演算法 - 弱加密比不加密更危險 - 所有密碼最終都可能被破解 - 密碼學只是資安的一部分 --- ###### tags: `2025 NISRA Enlightened` <style> .navbar-brand::after { content: " × NISRA"; } </style>