• 沒有找到結果。

三、 演算法介紹

4.1 安全性比較

4.1.2 第二等級安全性比較

第二個安全遊戲的參數定義和第一個一樣,詳細定義如下:

(Z,M)安全遊戲:

1.挑戰者隨機從明文範圍為 0~M-1 中,挑選 Z 個不一樣的數字𝑟1. . 𝑟𝑧,並把其加密後成 𝑐1. . 𝑐𝑧,在從剩下的數字中隨機選擇一數 x,並加密成 𝑐𝑥最後把

(𝑟1, 𝑐1)、(𝑟2, 𝑐2) … . (𝑟𝑧, 𝑐𝑧), 𝑐𝑥傳給攻擊者

2.從這些資訊中,猜想𝑐𝑥的明文為𝑥,並把回傳𝑥

3.檢查傳過來的數字𝑥是否等於 x,若是,則算攻擊成功,反之攻擊失敗。

我們定義攻擊者在這個安全遊戲下所得到的優勢為攻擊成功的機率,也就是 x 等於 𝑥的機率。

首先我們假設𝑟1 < 𝑟2 < ⋯ 𝑟𝑧,則 0, 𝑟1… . 𝑟𝑧, M-1 可以把明文切成 Z+1 個區間,我 們令這些區間為𝑚1… 𝑚𝑍+1,而因為我們的加密方法為可以對密文比較大小,所以攻擊 者藉由比較𝑐𝑥和𝑐1. . 𝑐𝑧,可以把 x 定在某一區間𝑚𝑖內,則我們可以把機率改寫如下:

Pr(x= 𝑥)= ∑𝑧+1𝑖=1Pr(𝑥 = 𝑥|𝑥在𝑚𝑖區間內) ∗ Pr (𝑥在𝑚𝑖區間內) 而因為 x 為隨機挑選,所以 x 落在哪一區間內基本上所有加密方法都會得出一樣的結果,

所以我們專注在討論當 x 在𝑚𝑖區間內時,x 被猜中的機率。

當 x 在𝑚𝑖區間內時,攻擊者知道𝑟𝑖−1和𝑟𝑖的明文和密文,所以本來只比較𝑐𝑥和𝑐𝑖−1交 集數(假設為 n)的話,只能知道此兩數前 n bit 一樣,和第 n+1 bit 為何,但現在因為𝑟𝑖−1已 知,使得在此種狀況下,攻擊者可得到 x 的前 n 個 bit,如此一來,攻擊者的策略就是 取得𝑐𝑥和𝑐𝑖−1及𝑐𝑥和𝑐𝑖的交集數量,並選擇較大的一方做為猜測依據。

在弄懂攻擊者的策略後,接者我們討論當 x 在𝑚𝑖區間內時,x 被猜中的機率最高為

22

何,我們將以𝑚𝑖區間的大小為準做討論,從最高的觀點出發,那自然是與𝑐𝑖−1和𝑐𝑖交集 數量多的最好都在𝑚𝑖區間裡面,如此一來 x 被猜中機率就很高,但須考慮到一因素,若 𝑥被猜中機率為21𝑛(後 n 個 bit 不知道),則和 x 擁有相同機率且也

𝑚𝑖區間內的數字共有2𝑛個,因為此2𝑛個數的開頭都一樣,差別只有後 n 個 bit,因此這 2𝑛個數字為連在一起,𝑟𝑖−1和𝑟𝑖不可能在此2𝑛個數字中,而此2𝑛個數字平均被猜中機率 為 2𝑛

區間大小*1

2𝑛= 1

區間大小

所以在討論上限時,不能一昧地把與𝑐𝑖−1和𝑐𝑖交集數量多的數字放進𝑚𝑖區間內,而 必須同時考慮此種數字所佔大小,這些大小總和必須剛好填滿整個區間,而這些數字大 小分別為 1, 2, 4, ...2𝑛,而每個大小都有 2 塊(𝑐𝑖−1和𝑐𝑖),舉例來說,區間大小 6 和 區間大小 5,6 可以寫成 1+1+2+2,被猜中機率為23,但 5 只能寫成 1+2+2,被猜中機率 為35,也就是區間大小從 5 增加到 6,被猜中機率反而上升,而以下我們計算出此種最高 猜中機率,並和[1]比較,下圖 7 為結果,橫軸為區間大小,縱軸為最高被猜中機率:

圖 7:平均被猜中機率上限比較圖

可以看到我們的演算法即使跳動很大,但整體趨勢還是往下降的,而在一開始,也 藍色:我們的演算法

紅色:[12]

23

2.對於所有大於或等於 k 的數字 j,j-k>k*(M-Z)*(MY(j)-OPE(k))

證明:

24

所以我們想到使用 RS encoding,因為 RS encoding 具有性質最小漢明距離,此性 質是說,只要輸入集合不同,則可確保輸出集合必定在至少幾個位置不同,而因為輸出 數,將 HYL encoding 和補足產生的元素對應到一對一到整數,方便我們做 RS encoding,

至於此函數需要一些前置工作如下:

首先檢查前面 HYL encoding 產生的元素,在資料 bit 數為 b 的情況下,產生元素 長度最長為 b,而因為結尾一定是 1,所以長度為 1 的元素只有 1 這一種,長度為 2 的

相關文件