密碼學基礎與應用

在TLS 1.3等協定中,不直接把以ECDHE金鑰交換得到的共享秘密當作加密金鑰,而是通過HKDF這類金鑰衍生函數(KDF)來產生金鑰。其理由適當的是下列何者?

  1. A通過金鑰衍生函數後,共享秘密對量子電腦也會變得安全
  2. B金鑰交換得到的值太短,因此刻意讓計算耗時,以拖慢暴力破解
  3. C金鑰交換得到的值不一定是均勻的亂數,因此要轉換成沒有偏差的金鑰,並依用途取出不同的金鑰
查看答案與解析

正確答案:C. 金鑰交換得到的值不一定是均勻的亂數,因此要轉換成沒有偏差的金鑰,並依用途取出不同的金鑰

由金鑰交換得到的共享秘密,例如橢圓曲線上點的座標,並不一定所有位元都均勻隨機。HKDF使用HMAC,先從共享秘密取出沒有偏差的偽隨機金鑰(Extract),再把它連同「用戶端到伺服器的加密用」等標籤一起展開(Expand),產生所需數量與長度的金鑰。各用途使用獨立的金鑰,可讓一把金鑰的問題不易擴及其他用途。由密碼產生金鑰的PBKDF2或Argon2會刻意加重計算,但HKDF是以熵足夠大的輸入為前提的輕量處理。

  • A. 金鑰衍生函數不會改變金鑰交換本身對量子電腦的強度。要抵抗量子電腦,必須更換金鑰交換的方式。
  • B. 刻意加重計算,是由密碼產生金鑰的PBKDF2或Argon2的想法。金鑰交換的輸出本身已具有足夠的長度與熵。
  • C. 正確。以去除偏差的Extract,與產生各用途金鑰的Expand兩個階段產生金鑰。
練習這個領域 前往領域頁面

密碼學基礎與應用的其他題目

  1. 以小數字確認RSA加密的機制。由質數 p = 5、q = 11 作出 n = pq,公開指數設為 e = 3。令 φ(n) = (p − 1)(q − 1),滿足 e × d ≡ 1 (mod φ(n)) 的私密指數 d(0 < d < φ(n))為下列何者?
  2. 在RSA加密中,設公開金鑰為 n = 55、e = 3。以 c = m^e mod n 加密明文 m = 7 時的密文 c 為下列何者?
  3. 把教科書式的RSA加密(直接以 c = m^e mod n 處理明文 m 的方式)不加填充地用於實際通訊,其問題點正確的是下列何者?
  4. 在迪菲-赫爾曼金鑰交換中,公開質數 p 與生成元 g,A與B各自選擇秘密值 a、b,互相傳送 g^a mod p 與 g^b mod p。竊聽者即使看到所有這些公開的值,一般認為也無法求出共享秘密 g^(ab) mod p,其理由正確的是下列何者?
  5. 以小數字確認迪菲-赫爾曼金鑰交換。設 p = 23、g = 5,A選擇秘密值 a = 6,B選擇秘密值 b = 15。A傳送 A = g^a mod p,B傳送 B = g^b mod p。兩人得到的共享秘密為下列何者?

這個領域的比較