密碼學基礎與應用

以包含計算題的三選一題型,學習區塊加密與串流加密、AES、區塊加密操作模式(ECB、CBC、CTR、GCM)、初始向量與nonce、填充預言攻擊、金鑰長度與暴力破解的工作量、SHA-2與SHA-3、長度擴充攻擊與HMAC、生日攻擊的計算、金鑰衍生函數、以小數字確認的RSA與迪菲-赫爾曼金鑰交換、橢圓曲線密碼的金鑰長度、前向保密、憑證機構與憑證鏈、憑證透明度、TLS 1.3、0-RTT與重放、相互TLS、Grover演算法與金鑰長度、ML-KEM、ML-DSA、SLH-DSA、混合金鑰交換、硬體安全模組(HSM)、信封加密、金鑰輪替,以及密碼敏捷性。

練習10題從本領域隨機抽取10題 · 約5分鐘 練習這個領域以隨機順序出題,涵蓋這個領域的所有題目 弱項題目只重做最近答錯的題目

密碼學基礎與應用的重點

加密不是只要演算法安全就能派上用場。重複使用同一個nonce、以ECB模式加密、不確認憑證的主機名稱等用法上的錯誤,都會讓強大的加密輕易被攻破。本單元更深入一層,學習加密在實際的系統與協定中如何被組合運用。

首先在對稱式加密方面,介紹區塊加密與串流加密、AES的區塊長度與金鑰長度、區塊加密操作模式(ECB、CBC、CTR、GCM)與初始向量、nonce的條件、填充與填充預言攻擊,以及鑑別加密(AEAD),並以計算確認在CTR模式中重複使用nonce時明文洩漏的情形。接著學習SHA-2與SHA-3、長度擴充攻擊與HMAC、生日攻擊造成的64位元區塊的極限,以及金鑰衍生函數,再以小數字計算RSA與迪菲-赫爾曼金鑰交換,確認離散對數問題、中間人攻擊、橢圓曲線密碼金鑰長度的參考值、前向保密,以及ECDSA亂數的處理。後半部介紹憑證機構與憑證鏈、主機名稱的確認、憑證透明度、TLS 1.3的變更與加密套件、0-RTT的重放與相互TLS;在後量子密碼學方面,學習Grover演算法與金鑰長度、2024年8月標準化的ML-KEM、ML-DSA、SLH-DSA、金鑰封裝機制、混合金鑰交換,以及遷移時機的思考方式。最後確認硬體安全模組(HSM)、信封加密、金鑰輪替與密碼敏捷性等金鑰管理。有助於準備日本資訊技術人員考試等證照考試的資訊安全領域。計算題的數值,包括錯誤選項的數值,都已用 Python 計算確認。對稱式加密與公開金鑰加密的基礎、金鑰數的計算、雜湊函數的性質與密碼的儲存,以及數位簽章與MAC的差異在「資訊安全基礎」,旁通道攻擊與恆定時間實作、AES-NI、TPM、真亂數產生器在「硬體安全」,Shor演算法與量子電腦的規模在「量子電腦硬體」,TLS的往返次數與HTTPS所保護的內容在「電腦網路基礎」,JWT與OAuth在「Web技術基礎」,熵則在「資訊理論與編碼基礎」單元中介紹。

密碼學基礎與應用的題目列表(40題)

  1. 在對稱式加密中,關於區塊加密與串流加密之差異的說明,正確的是下列何者?
  2. 目前廣泛使用的區塊加密AES,其區塊長度與金鑰長度的組合,正確的是下列何者?
  3. 以AES的ECB模式加密影像資料後,在加密後的影像中仍能辨認出原圖的輪廓。其原因正確的是下列何者?
  4. 以CBC模式使用AES時,初始向量(IV)的處理方式中,適當的是下列何者?
  5. 以CBC模式使用AES(區塊長度16位元組),填充採用PKCS#7方式。PKCS#7方式中,若不足的位元組數為n,就加上n個值為n的位元組;明文長度恰為16的倍數時,也要加上16個值為16的位元組。加密96位元組的明文時,密文的長度(不含IV)為下列何者?
  6. 接收以CBC模式加密之資料的伺服器,在解密後填充不正確時,與填充正確但內容檢查失敗時,回傳了不同的錯誤。關於這種狀況的說明,正確的是下列何者?
  7. 關於區塊加密的CTR模式(計數器模式)的特徵,正確的是下列何者?
  8. 在CTR模式中,誤用相同的金鑰與相同的nonce加密了兩則訊息。就某個位置的位元組而言,第1則明文 P₁ 為 01001000(ASCII的「H」),其密文 C₁ 為 01110100,第2則密文 C₂ 為 01010101。攻擊者知道 P₁ 時,相同位置的第2則明文 P₂ 為下列何者?
  9. AES-GCM這類鑑別加密(AEAD)以一次處理所提供的功能,正確的是下列何者?
  10. 關於AES-GCM所使用的96位元nonce(IV)的說明,正確的是下列何者?
  11. 某台裝置以暴力破解試遍所有56位元金鑰,約需20小時。以同一台裝置試遍所有64位元金鑰所需的時間,最接近下列何者?
  12. 關於雜湊函數SHA-2與SHA-3的說明,正確的是下列何者?
  13. 把秘密金鑰K與訊息m串接後的雜湊值 SHA-256(K ‖ m) 當作偵測竄改的標籤使用,被認為是危險的。其理由正確的是下列何者?
  14. 設 1 GiB = 2³⁰ 位元組、1 EiB = 2⁶⁰ 位元組。以CBC模式使用區塊長度64位元的區塊加密(3DES等),用同一把金鑰加密大量資料。把密文區塊視為隨機的64位元值時,根據生日悖論,出現相同密文區塊之配對的機率變得不可忽視的資料量參考值為下列何者?
  15. 在TLS 1.3等協定中,不直接把以ECDHE金鑰交換得到的共享秘密當作加密金鑰,而是通過HKDF這類金鑰衍生函數(KDF)來產生金鑰。其理由適當的是下列何者?
  16. 以小數字確認RSA加密的機制。由質數 p = 5、q = 11 作出 n = pq,公開指數設為 e = 3。令 φ(n) = (p − 1)(q − 1),滿足 e × d ≡ 1 (mod φ(n)) 的私密指數 d(0 < d < φ(n))為下列何者?
  17. 在RSA加密中,設公開金鑰為 n = 55、e = 3。以 c = m^e mod n 加密明文 m = 7 時的密文 c 為下列何者?
  18. 把教科書式的RSA加密(直接以 c = m^e mod n 處理明文 m 的方式)不加填充地用於實際通訊,其問題點正確的是下列何者?
  19. 在迪菲-赫爾曼金鑰交換中,公開質數 p 與生成元 g,A與B各自選擇秘密值 a、b,互相傳送 g^a mod p 與 g^b mod p。竊聽者即使看到所有這些公開的值,一般認為也無法求出共享秘密 g^(ab) mod p,其理由正確的是下列何者?
  20. 以小數字確認迪菲-赫爾曼金鑰交換。設 p = 23、g = 5,A選擇秘密值 a = 6,B選擇秘密值 b = 15。A傳送 A = g^a mod p,B傳送 B = g^b mod p。兩人得到的共享秘密為下列何者?
  21. 不進行驗證的迪菲-赫爾曼金鑰交換的弱點與其對策,組合正確的是下列何者?
  22. 在NIST SP 800-57的表中,被視為與128位元對稱式加密(AES-128)同等安全性之參考值的RSA金鑰長度(n 的位元數)與橢圓曲線密碼金鑰長度的組合,為下列何者?
  23. 在TLS中,即使伺服器憑證的私密金鑰日後外洩,在此之前被記錄的通訊也不會被解密,這種性質(前向保密)可由下列哪一種金鑰交換方法得到?
  24. ECDSA數位簽章在每次簽章時都使用秘密的亂數 k。關於 k 的處理方式的說明,正確的是下列何者?
  25. 瀏覽器驗證網頁伺服器的憑證時,關於憑證鏈的說明,正確的是下列何者?
  26. 驗證TLS的憑證時,除了確認簽章鏈與有效期間,也要確認所要連線的主機名稱是否包含在憑證的SAN(主體別名)中。這項確認不可或缺的理由,正確的是下列何者?
  27. 關於憑證透明度(Certificate Transparency,CT)機制的說明,正確的是下列何者?
  28. TLS 1.3(RFC 8446)相對於TLS 1.2的變更,正確的是下列何者?
  29. TLS 1.3的加密套件 TLS_AES_128_GCM_SHA256 所指定之內容的組合,正確的是下列何者?
  30. 關於TLS 1.3的0-RTT(使用先前連線取得的預先共用金鑰,把「早期資料」與第一則訊息一起傳送的方法)的注意事項,正確的是下列何者?
  31. 關於相互TLS(mTLS)的說明,正確的是下列何者?
  32. 以量子電腦的Grover演算法搜尋n位元對稱式加密的金鑰時,所需的計算次數一般認為約為 2^(n/2) 次。以這個單純的參考值來看,AES-128對量子電腦的安全性最接近下列何者?
  33. 美國NIST於2024年8月公布的後量子密碼學標準與其種類的組合,正確的是下列何者?
  34. 關於ML-KEM這類金鑰封裝機制(KEM)的使用方式,正確的是下列何者?
  35. 在遷移到後量子密碼學的過程中使用的、把X25519(使用橢圓曲線的迪菲-赫爾曼金鑰交換)與ML-KEM組合的混合金鑰交換,其想法正確的是下列何者?
  36. 思考加密遷移的時機時,有一種想法(Mosca不等式)是:「若資料必須保密的年數 x 與遷移到新加密所需的年數 y 之和,超過能破解加密的量子電腦出現前的年數 z,就已經有危險」。設 x = 10年、y = 5年,並假設 z 為12年時,正確的判斷是下列何者?
  37. 關於HSM(硬體安全模組)的角色,正確的是下列何者?
  38. 設DEK為資料加密金鑰、KEK為金鑰加密金鑰。關於雲端儲存等所使用之信封加密的說明,正確的是下列何者?
  39. 每隔一定期間把加密金鑰換成新金鑰的金鑰輪替,其主要目的是下列何者?
  40. 在系統設計中,提升密碼敏捷性(使加密方式容易替換的性質)的做法,適當的是下列何者?

這個領域的比較

電腦系統的其他領域