• 沒有找到結果。

7.1.1 密碼系統參數選擇

根據美國國家標準局 (National Institute for Standards and Technology, NIST) , 1024 位元長度的參數的 RSA 和 Diffie-Hellman,在 2010 年前已相當的足夠。NIST 也提供了不同密碼系統建議的金鑰長度。請參考下表。所以就金鑰長度來說,

ECC 密碼系統在相同的安全階級下,有著較短的金鑰和系統參數長度。此外,

就如同其他的公開金鑰密碼 (Public-key Cryptography) 系統,加、解密相對於對 稱式加密系統 (Symmetric-key Cryptography) ,依舊很費時費功,所以我們也採 用混合式的方法:公開金鑰系統讓金鑰管理和電子簽章有效率,而對稱式金鑰系 統讓大量的資料能夠快速的加並保有其完整性。而且在 session 中,若更多的訊 息需要安全的交換,我們能夠利用交換加密過或簽章過的 ephemeral key (參考

§4.1 ) ,如此能夠達到簡單的 Diffie-Hellman 金鑰協議。若需要更高的安全,簽 後 (Sign-then-encrypt) 加密或是簽密 (Signcrypt) ephemeral key 也能夠加進安 全服務中,讓金鑰協議更加安全。

Elliptic Curve Key Size 160 bit 224 bit 256 bit 384 bit RSA Key Size 1024 bit 2048 bit 3072 bit 7680 bit

25:NIST 建議 ECC 與 RSA 金鑰長度的換算

7.1.2 橢圓曲線及雙線性對選擇

在 Pairing-based 的密碼系統中,如何找到一個橢圓曲線的子群,其 embedding degree 大到能夠抵擋 Fery-Ruck attack,但小到能夠讓 Tate pairing 能夠有效率的 運算。在一般的橢圓曲線中,embedding degree 通常很大。到目前唯一能夠找到

擁有合理大小的 embedding degree 的曲線,是來自超橢圓曲線 (supersingular curves) 。但因為這些曲線是建構在較小的 characteristic,讓他們很容易受到離散 對數 (discrete logarithm) 演算法的攻擊。所以在實作上,雖然有些許攻擊,但此 攻擊仍很難成功,所以我們仍傾向在Halo 中,使用超橢圓曲線,讓系統能夠在 足夠的安全理論支持下,有效率的運作。一些常用的超橢圓曲線及其 pairing 如 下表所示:

k Supersingular Elliptic Curve

2 2 3

Distortion map x y x iy where i

= +

Distortion map x y x iy

where i F and F satisfy i and a HIBE/HIBS 和雙重版本 HIBE/HIBS,並使用 elliptic curve arithmetic API[7]. 執行

的時間以millisecond (ms) 計算。

27中,下三角中的數值代表執行直接版本HIBE 加密所需的時間,而上三角袋 表執行直接版本HIBE 解密所需的時間,第一行及第一列分別袋表加密者及解密 者所在的階層,例如顯示708/2328 的格子,表示位於第一層的加密者需要 708 ms 加密文件給解密者,解密者需要2328 ms 還原回明文。以此類推,圖圖 29 顯示 HIBS 簽章及驗證所需的時間,顯示 108/2657 的格子,表示俛於第二層的簽章者 需要108 ms 準備密文,而驗證者需要 2658 ms 驗證是密文是否通過。雙重版本 的HIBE 及 HIBS 顯示於圖 29:雙重版本 HIBE 實作效能測試 圖 30:雙重版 本HIBS 實作效能測試,其中我們固定解密者及驗證者在第四個階層,如第一列 的數字代表共同的祖先,如圖三中,顯示2421/1596 的格子代表加密者位於第三 層,需要用2421 ms 加密文件給位於第四層的解密者,兩者的共同祖先位於第二 層。我們可以藉由比較27和圖 29,了解雙重版本帶來的好處,原先階層三送 到階層四的時間為 3458/889,但若他們共同的組先在階層二,則時間變成 2421/1595,能夠讓雙方平均分攤計算時間,且雙方合計所需的時間總合,也較 直接版本來的少,符合了使用雙重版的的情境:加密解密者間的距離若小於解密 者到root 的距離。

27:直接版本 HIBE 實作校能測試 圖 28:直接版本 HIBS 實作校能測試

29:雙重版本 HIBE 實作效能測試 圖 30:雙重版本 HIBS 實作效能測試

Pairing 運算在不同金鑰長度的密碼系統下所需的時間,顯示如下: