12.07.2015 Views

擬亂數產生器設計

擬亂數產生器設計

擬亂數產生器設計

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

目錄第 1 章 緒 論 .................................................................................................. 51.1 背 景 簡 介 .................................................................................................... 51.2 研 究 動 機 .................................................................................................... 5第 2 章 擬 亂 數 產 生 器 ................................................................................ 82.1 擬 亂 數 產 生 器 的 設 計 理 念 ....................................................................... 82.2 擬 亂 數 產 生 器 設 計 架 構 ........................................................................... 9第 3 章 π-e 擬 亂 數 產 生 器 ...................................................................... 113.1 初 始 化 機 制 (Initialization Mechanism) ......................................... 123.2 亂 數 產 生 機 制 (Generation Mechanism) ....................................... 143.3 種 子 更 改 機 制 (Y-seed Reseed Mechanism) ................................ 143.4 種 子 重 設 機 制 (Modification Mechanism) .................................... 15第 4 章 擬 亂 數 列 檢 測 方 法 ..................................................................... 164.1 美 國 聯 邦 資 訊 處 理 標 準 公 告 (FIPS PUB) 140-2 ............................... 164.1.1 單 一 位 元 測 試 (Monobit Test) ............................................... 164.1.2 撲 克 測 試 (Poker Test) ............................................................. 174.1.3 連 串 測 試 (Runs Test) .............................................................. 174.1.4 長 連 串 測 試 (Long Run Test) ................................................. 184.2 卡 方 檢 定 法 (Chi-Square Test) ........................................................... 184.3 深 度 檢 測 ................................................................................................... 204.4 廣 度 檢 測 ................................................................................................... 20第 5 章 週 期 測 定 ....................................................................................... 215.1 種 子 ( 輸 出 ) 測 定 法 ................................................................................ 215.2 有 效 位 數 外 插 法 (Efficacious Bits Extrapolation) .......................... 242


第 6 章 測 試 與 比 較 ................................................................................... 256.1 單 一 品 質 測 試 ........................................................................................ 256.2 品 質 比 較 ................................................................................................. 276.3 速 度 測 試 ................................................................................................. 28第 7 章 結 論 與 展 望 ................................................................................... 297.1 結 論 .......................................................................................................... 297.2 展 望 .......................................................................................................... 29附 錄 A Demo ............................................................................................ 333


摘 要串 流 式 加 密 技 術 為 目 前 密 碼 學 中 一 種 機 密 性 較 高 的 方 法 , 而 其 系 統 所 需 的 擬亂 數 序 列 成 為 當 下 研 究 擬 亂 數 產 生 器 的 (PRNG) 一 個 研 究 方 向 。 如 何 產 生 出 一 個穩 定 且 具 有 高 亂 度 的 擬 亂 數 產 生 器 成 為 一 個 需 要 研 究 的 課 題 。本 文 中 主 要 是 研 究 如 何 設 計 出 一 個 良 好 的 擬 亂 數 產 生 器 , 基 於 我 們 設 計 出 的擬 亂 數 產 生 器 架 構 之 上 , 利 用 自 然 界 中 最 完 美 的 2 個 常 數 產 生 長 達 17 位 有 效 位數 種 子 (Seed), 取 代 了 需 要 大 量 計 算 所 產 生 的 時 間 複 雜 度 , 過 程 中 為 了 避 免 亂 數衰 階 , 我 們 透 過 種 子 更 改 機 制 (Reseed Mechanism) 重 新 設 定 種 子 , 猶 如 重 新 點火 給 予 新 生 命 繼 續 產 生 新 的 亂 數 。良 好 的 擬 亂 數 產 生 器 , 除 了 必 須 符 合 一 些 基 本 特 性 外 , 最 重 要 的 是 必 須 符 合長 週 期 的 特 性 , 這 是 可 以 通 過 測 試 來 驗 證 的 , 雖 然 我 們 找 到 方 法 可 以 找 出 真 正 週期 , 但 是 由 於 週 期 太 過 於 龐 大 , 尋 找 時 所 花 費 的 時 間 相 當 可 觀 , 所 以 我 們 被 迫 使用 外 差 法 來 推 估 我 們 的 週 期 長 度 。關 鍵 字 :PRNG、 串 流 加 密 、 週 期 、 外 差 法4


第 一 章 緒 論1.1 背 景 簡 介亂 數 (Random Number), 是 一 種 我 們 無 法 事 先 預 期 也 無 法 控 制 的 一 種 數 ,它 存 在 於 我 們 周 遭 的 自 然 界 中 , 完 全 無 人 為 因 素 , 我 們 稱 之 為 「 真 亂 數 」, 例 如 :布 朗 運 動 微 粒 分 布 機 率 、 熱 噪 訊 號 、 放 射 性 元 素 的 衰 退 輻 射 、Quantum RandomBit Generator (QRBG), 這 些 都 可 以 幫 我 們 產 生 出 真 正 的 亂 數 , 但 由 於 這 些 技 術需 求 較 高 , 且 無 法 控 制 , 所 以 實 際 應 用 上 較 為 困 難 。 為 了 能 夠 應 用 上 的 目 的 , 我們 以 人 為 的 方 式 來 產 生 亂 數 , 稱 為 「 擬 亂 數 」, 這 是 種 看 似 真 亂 數 卻 有 其 一 定 的週 期 性 , 並 且 是 可 控 制 的 , 我 們 可 以 使 用 一 個 可 確 定 性 的 演 算 法 產 生 出 擬 亂 數 。亂 數 的 應 用 非 常 廣 泛 , 例 如 : 統 計 學 , 模 擬 與 測 試 , 密 碼 學 , 串 流 碼 加 密 技 術 ,數 位 簽 章 , 無 線 傳 輸 安 全 協 定 ……。1.2 研 究 動 機由 於 最 近 幾 年 無 線 網 路 (Wireless) 發 展 蓬 勃 , 許 多 公 共 場 所 、 學 校 、 甚 至 商 家 都有 提 供 無 線 上 網 的 服 務 , 所 以 無 線 網 路 的 相 關 問 題 也 慢 慢 受 到 各 方 的 重 視 。 無 線網 路 最 重 要 的 就 是 速 度 、 穩 定 、 安 全 , 其 中 速 度 與 穩 定 是 大 家 最 關 心 的 , 而 安 全卻 是 常 常 被 眾 人 所 忽 視 的 領 域 , 相 對 的 , 漏 洞 與 問 題 層 出 不 窮 。 因 為 無 線 網 路 的訊 息 封 包 相 較 傳 統 的 有 線 網 路 容 易 擷 取 , 這 對 於 機 密 資 料 的 傳 輸 而 言 無 疑 是 一 大5


發 送 方Seed位 元 串( 明 文 )串 流 加 密 器擬 亂 數 序 列位 元 串( 密 文 )安 全管 道擬 亂 數 產 生 器擬 亂 數 產 生 器擬 亂 數 序 列(無線網路)公開管道接 收 方位 元 串( 明 文 )串 流 解 密 器位 元 串( 密 文 )圖 1.1 無 線 串 流 加 密 法 之 運 作 機 制從 上 圖 我 們 可 以 知 道 , 在 這 個 加 密 機 制 之 中 , 關 鍵 在 於 擬 亂 數 序 列 的 品 質 。若 選 用 了 品 質 良 好 的 擬 亂 數 序 列 , 可 以 使 密 文 中 完 全 沒 有 明 文 的 特 性 , 竊 密 者 即使 能 攔 截 到 完 整 的 密 文 , 也 無 法 從 中 找 到 規 律 , 解 讀 出 明 文 , 而 只 能 以 暴 力 法 對同 樣 的 擬 亂 數 產 生 器 猜 密 鑰 , 藉 以 得 到 合 理 的 明 文 。 而 擬 亂 數 序 列 是 透 過 一 支 擬亂 數 產 生 器 而 得 到 的 。 若 我 們 使 用 了 品 質 良 好 的 擬 亂 數 產 生 器 , 使 攻 擊 者 理 論 上無 法 在 合 理 的 時 間 內 找 到 密 鑰 , 就 達 到 了 密 碼 學 上 所 謂 的 「 實 際 安 全 」。而 一 個 好 的 擬 亂 數 產 生 器 至 少 具 備 「 隨 機 性 」、「 不 可 預 測 性 」、「 長 週 期 」、「 符合 統 計 測 試 」 等 特 性 , 才 可 以 提 供 足 夠 的 安 全 保 證 。 因 此 我 們 的 研 究 以 產 生 品 質良 好 且 速 度 夠 快 的 擬 亂 數 產 生 器 為 主 。7


第 三 章 π-e 擬 亂 數 產 生 器使 用 者 任 意 輸 入 5 ~ 10 個 正 實 數 , 作 為 初 始 種 子 序 列 , 透 過 初 始 機 制 , 得到 的 第 1 組 Y-seed, 經 過 亂 數 產 生 機 制 , 得 到 第 一 個 亂 數 值 Ψ (1) 。 接 著 透 過 種子 修 改 機 制 , 產 生 下 一 組 Y-seed, 再 返 回 亂 數 產 生 機 制 來 產 生 下 一 個 亂 數 Ψ (i) ,i >1。 檢 查 種 子 條 件 若 有 必 要 則 進 行 種 子 重 置 , 重 覆 以 上 動 作 循 環 , 直 到 產 生足 夠 數 量 的 擬 亂 數 序 列 。DEFINITION:n :Input 個 數 。( 5 ≦ n ≦ 10 )m :Output 個 數 。X : seed 序 列 。x (k) : seed 序 列 中 的 第 k 個 元 素 。G : global parameter 序 列 。g (k) : global parameter 序 列 中 的 第 k 個 元 素 。i : 迴 圈 變 數 。( 1 ≦ i ≦ m )Y (i) : 第 i 筆 reseed 序 列 。y (i) (k) : 第 i 筆 reseed 序 列 中 的 第 k 個 元 素 。Ψ (i) : 第 i 筆 擬 亂 數 。% : 只 對 實 數 中 之 整 數 部 分 取 餘 數 並 保 留 小 數 。φ :Temporary parameter。Max(Y i ): 取 Y i 序 列 元 素 中 之 取 最 大 值 。11


3.1 初 始 化 機 制 (Initialization Mechanism)此 機 制 的 目 的 主 要 是 增 加 使 用 者 輸 入 之 Seed 的 初 步 亂 度 。 增 加 其 空 間 變 數 。避 免 使 用 者 輸 入 的 變 數 過 於 單 調 , 而 使 得 往 後 的 Generation Mechanism 部 份 的 值 之亂 度 不 夠 。 依 其 目 的 設 計 以 下 演 算 法 分 成 3 個 步 驟 完 成 。Step 1:首 先 先 對 使 用 者 輸 入 的 種 子 序 列 X 做 篩 選 的 動 作 , 以 256 為 基 準 , 前 後 各以 10 ±6 為 範 圍 , 以 及 超 過 此 範 圍 的 部 分 , 皆 做 有 效 與 合 理 的 控 制 , 避 免 使 用 者輸 入 極 大 與 極 小 的 種 子 , 導 致 系 統 輸 出 品 質 不 理 想 , 並 且 對 輸 入 敏 感 度 也 有 一 定的 控 制 , 同 時 , 為 了 讓 種 子 的 空 間 亂 度 變 大 , 我 們 加 入 了 2 個 自 然 數 π 和 e, 只需 透 過 簡 單 的 運 算 , 即 可 有 長 達 17 位 的 有 效 位 數 , 以 達 到 我 們 的 目 的 。ALGORITHM:X = ( x (1) , x (2) , … , x (n) ) , 其 中 x k ∈ R + , 1 ≤ k ≤ nSwitch ( x (k) ) , for all1 ≦ k ≦ nCase ″ x (k) ≦ 10 -6 ″ :x k =x (k)× 1010π%256 + k × e ;Case ″ 10 -6 < x (k) < 256 ″:x (k) =x(k) + k3e;Case ″ 256 ≦ x (k) ≦ 10 6 ″:x (k) = x(k)π × k ;12


Case ″ x (k) > 10 6 ″:x k =x (k)e× k %10 6 + 256 ;Step 2:我 們 利 用 X 作 累 加 運 算 , 並 加 入 迴 圈 變 數 p 來 增 加 亂 度 因 子 , 產 生 G, 如此 一 來 可 以 保 留 原 本 的 17 為 有 效 位 數 , 也 可 以 透 過 累 加 達 到 初 值 敏 感 度 。ALGORITHM:G = ( g (1) , g (2) , … , g (n) ) , 其 中g 1 =For ( p = 2 to n ){If ( p < (n-1) )}Elsex 1 +x 2 + x(3)g p = g p − 1 +g p = g p − 1 +3;x p + 2p;x p + 2− np;Step 3:由 X 與 G 交 錯 合 併 產 生 初 始 Y-seed,Y (1) 。ALGORITHM:Y (1) = ( y (1) (1) , y (1) (2) , y (1) (3) , ... , y (1) (2n) )= ( x (1) , g (1) , x (2) , g (2) , ... , x (n) , g (n) )2n 項13


3.2 亂 數 產 生 機 制 (Generation Mechanism)由 於 前 置 作 業 已 經 達 到 良 好 了 空 間 亂 度 , 每 筆 Y i 進 入 此 機 制 後 , 只 需 經 過簡 單 運 算 就 能 得 品 質 良 好 的 亂 數 。 透 過 中 間 兩 項 的 相 加 , 再 與 頭 尾 兩 項 相 乘 , 不但 擁 有 非 線 性 的 成 長 , 也 可 以 控 制 其 成 長 速 度 。 再 透 過 取 mod 運 算 、 取 絕 對 值 、取 整 數 部 分 , 可 以 控 制 我 們 亂 數 的 範 圍 , 同 時 是 一 個 良 好 的 one way function,避 免 有 人 利 用 輸 出 破 解 此 機 制 。ALGORITHM:φ = (y (i) n + y (i) n + 1 ) × y (i) (1) × y (i) (2n) %256Ψ (i) = INT φ , 其 中 Ψ (i) ∈ Z3.3 種 子 重 製 機 制 (Y-seed Reseed Mechanism)由 於 Generation Mechanism 執 行 多 次 後 , 造 成 Y-seed 趨 於 某 種 規 律 ,所 以 透 過 此 機 制 重 製 Y-seed 序 列 , 給 予 新 的 亂 度 能 量 , 使 其 週 期 增 長 , 不 會 因輸 出 長 度 越 長 而 衰 竭 。 我 們 先 判 斷 Y-seed 中 任 一 元 素 其 絕 對 值 若 是 >65536,就 更 改 Y-seed 序 列 , 每 個 元 素 都 控 制 在 -255 ~ 256 之 間 的 實 數 , 其 中 也 利 用了 上 一 筆 輸 出 的 亂 數 , 增 加 其 空 間 亂 度 。14


ALGORITHM:If ( Max( | Y (i) | ) > 65536 ){}φ = Max ( y(i) )65536+ φ + e ;y (i) k = y (i) k + φ × k %256 , 1 ≤ k ≤ 2n3.4 種 子 修 改 機 制 (Modification Mechanism)修 改 Y-seed 序 列 , 分 成 前 半 部 和 後 半 部 , 利 用 部 分 元 素 相 加 減 來 達 到 重 設 的 目的 , 並 且 充 分 利 用 到 序 列 裡 的 每 個 元 素 。ALGORITHM:y (i+1) k =y (i) 2n − 2k + 1 + y (i) 2k − y (i) k , 1 ≤ k ≤ ny (i) 3n − k + 1 + y (i) k − y (i) k − n , n + 1 ≤ k ≤ 2n15


第 四 章 擬 亂 數 列 檢 測 方 法面 對 一 長 串 的 擬 亂 數 序 列 , 我 們 無 法 直 接 從 表 面 判 定 其 品 質 , 因 此 需 要 以 統計 檢 定 的 方 式 來 評 定 其 擬 亂 數 產 生 器 的 優 劣 。 本 章 將 依 序 介 紹 「 美 國 聯 邦 資 訊 處理 標 準 公 告 140-2」、「 卡 方 檢 定 法 」、 及 結 合 上 述 兩 項 檢 定 而 針 對 單 一 輸 入 是 否衰 竭 的 「 深 度 檢 測 」 與 針 對 大 量 輸 入 是 否 有 死 點 (dead point) 的 「 廣 度 檢 測 」,作 為 評 定 擬 亂 數 序 列 品 質 的 標 準 。4.1 美 國 聯 邦 資 訊 處 理 標 準 公 告 (FIPS PUB) 140-2聯 邦 資 訊 處 理 標 準 (Federal Information Processing Standard, FIPS) 是由 美 國 國 家 標 準 技 術 局 (NIST) 所 制 定 , 用 以 定 義 聯 邦 政 府 機 構 購 買 資 訊 系 統 的要 求 條 件 及 審 核 電 腦 及 通 訊 系 統 的 一 套 標 準 。FIPS PUB 140-2 制 定 了 密 碼 模 組的 安 全 需 求 (Security Requirements for Cryptographic Modules), 其 中 針 對亂 數 產 生 器 所 產 生 的 擬 亂 數 序 列 定 義 了 四 項 統 計 測 試 。 各 項 測 試 都 是 以 20000個 位 元 為 一 個 單 位 來 進 行 測 試 :4.1.1 單 一 位 元 測 試 (Monobit Test)該 項 測 試 主 要 目 的 是 檢 測 擬 亂 數 序 列 單 一 位 元 的 隨 機 性 。根 據 亂 數 的 性 質 , 在 一 定 範 圍 之 中 發 生 的 機 率 是 均 等 的 , 也 就 是 說 若 以16


位 元 的 角 度 來 看 ,1 與 0 的 發 生 機 率 大 約 都 是 50 %。 該 項 測 試 將 合 格 範 圍限 定 在 48.625 % 到 51.375 % 之 間 。 測 試 方 法 為 產 生 20000 位 元 擬 亂 數序 列 , 計 算 1 位 元 的 個 數 X, 若 滿 足 9,725 X 10,275, 同 時 0 位 元 的 個 數亦 會 介 於 9,725 到 10,275 之 間 , 則 該 項 測 試 通 過 。4.1.2 撲 克 測 試 (Poker Test)該 項 測 試 是 針 對 擬 亂 數 列 中 半 位 元 組 (nibble, 1 nibble = 4 bits) 的隨 機 性 做 檢 測 。檢 測 方 法 為 將 產 生 之 20000 位 元 擬 亂 數 序 列 每 個 半 位 元 組 為 一 區 段 ,切 割 成 5000 個 區 段 , 計 算 16 種 可 能 的 區 段 值 發 生 的 次 數 。 令 f (i) 表 示 區段 值 i 的 出 現 次 數 , 其 中 0 i 15, 計 算 下 式 :X = 16 ×15i=05000f(i)2× 5000若 2.16 X 46. 17 , 則 該 項 測 試 通 過 。4.1.3 連 串 測 試 (Runs Test)「 連 串 」 之 定 義 為 取 樣 的 位 元 串 列 中 “1” 或 “0” 的 連 續 位 元 。計 算 所 產 生 20000 位 元 擬 亂 數 列 中 各 種 長 度 的 連 串 之 發 生 次 數 , 長 度 大 於6 的 連 串 併 入 6 的 次 數 計 算 , 對 照 下 表 所 列 出 的 相 對 應 之 次 數 區 間 :17


連 串 長 度 (bit) 次 數 區 間 ( 次 )1 2315 – 26852 1114 – 13863 527 – 7234 240 – 3845 103 – 2096 + 103 – 209表 2.1連 串 長 度 與 標 準 次 數 對 照 表若 “1” 與 “0” 連 串 各 6 項 , 總 共 12 項 連 串 長 度 在 上 表 所 列 的 次 數 區間 內 , 則 該 項 測 試 通 過 。4.1.4 長 連 串 測 試 (Long Run Test)「 長 連 串 」 的 定 義 為 長 度 26 以 上 的 連 串 。 若 20000 位 元 的 擬 亂 數 序 列中 不 存 在 長 連 串 , 則 該 項 測 試 通 過 。 存 在 任 何 一 個 “1” 或 “0” 的 長連 串 , 則 測 試 不 通 過 。以 上 四 項 統 計 測 試 皆 通 過 , 則 該 筆 20000 位 元 擬 亂 數 列 的 FIPS PUB 140-2 之 測試 通 過 , 其 中 一 項 不 通 過 則 FIPS 測 試 不 通 過 。4.2 卡 方 檢 定 法 (Chi-Square Test)卡 方 檢 定 的 目 的 是 針 對 一 隨 機 的 現 象 , 由 收 集 到 的 數 據 , 透 過 公 式 運 算 得 到18


的 p-value 來 檢 定 某 一 種 模 型 對 這 組 數 據 是 否 合 適 , 又 被 稱 為 「 皮 爾 生 卡 方 合 適度 檢 定 」(Pearson′s Chi-Square Goodness-of-Fit Test)。我 們 配 合 前 一 節 FIPS 140-2 測 試 , 以 20000 個 位 元 , 即 2500 個 位 元 組 為一 個 測 試 單 位 。 針 對 單 一 位 元 組 所 有 可 能 出 現 的 值 0 ~ 255, 每 8 個 分 為 一 組 ,即 0 ~ 7 為 一 組 、8 ~ 15 為 一 組 、…、248 ~ 255 為 一 組 , 共 32 組 , 再 利 用 卡方 分 配 來 檢 定 該 2500 個 位 元 組 的 擬 亂 數 序 列 發 生 在 各 組 之 中 的 機 率 是 否 趨 近 於相 等 。統 計 2500 個 位 元 組 的 擬 亂 數 列 在 各 組 的 發 生 的 累 積 次 數 , 第 i 組 發 生 Yi 次 ,0 ≦ i ≦ 31, 透 過 卡 方 公 式 計 算 x 2 =p i = 132 , ∀i, 即 x 2 =3131 Y i −78.125 2i=0 。78.125Y i −np i 2i=0 , 其 中 n = 2500 ,再 根 據 所 得 x 2 查 卡 方 分 配 表 , 自 由 度 為 32 - 1 = 31, 找 到 其 p-value, 將np i品 質 區 分 為 六 個 等 級 , 以 亂 數 檢 定 而 言 , 在 Suspect 以 上 的 等 級 都 是 可 接 受 的, 評 定 標 準 如 下 表 :p-value 範 圍Goodness-of-Fit0.3 < p < 0.7 Excellent0.2 ≤ p < 0.3 或 0.7 < p ≤ 0.8 Good0.1 ≤ p < 0.2 或 0.8 < p ≤ 0.9 May Be Random0.05 ≤ p < 0.1 或 0.9 < p ≤ 0.95 Almost Suspect0.01 ≤ p < 0.05 或 0.95 < p ≤ 0.99 Suspect0 ≤ p ≤ 0.01 或 0.99 ≤ p ≤ 1 Reject表 2.2自 由 度 31 的 卡 方 分 配 p-value 對 於 亂 數 檢 定 的 等 級 對 照 表19


4.3 深 度 檢 測 (Depth Test)若 產 生 亂 數 的 機 制 不 夠 完 善 , 在 產 生 大 量 的 亂 數 之 後 可 能 會 發 生 品 質 降 低 的情 形 , 我 們 稱 之 為 「 變 化 衰 竭 」。為 了 檢 測 這 種 情 形 , 我 們 對 一 個 固 定 的 輸 入 種 子 序 列 以 20000 個 位 元 為 一個 測 試 單 位 , 做 1000 次 的 FIPS 140-2 與 卡 方 檢 定 的 綜 合 測 試 , 每 100 次 統 計一 次 並 輸 出 結 果 以 觀 察 品 質 是 否 有 不 穩 定 的 情 形 , 並 統 計 總 通 過 測 試 的 比 率 。 也就 是 說 , 測 試 一 個 初 始 種 子 在 輸 出 20,000,000 個 位 元 的 擬 亂 數 列 之 內 , 是 否 會產 生 衰 竭 的 現 象 。 這 項 測 試 同 時 也 能 表 現 出 該 筆 擬 亂 序 列 的 可 用 性 , 若 要 對 很 長的 明 文 位 元 串 加 密 , 深 度 檢 測 能 夠 表 現 出 亂 數 產 生 器 的 可 靠 性 。4.4 廣 度 檢 測 (Width Test)若 產 生 亂 數 的 機 制 中 有 缺 陷 , 當 輸 入 遇 到 某 些 特 定 值 會 發 生 輸 出 品 質 不 良 的情 形 , 該 輸 入 即 為 這 個 機 制 的 「 死 點 」(dead point)。為 了 測 定 擬 亂 數 產 生 器 是 否 有 死 點 存 在 , 我 們 針 對 六 種 不 同 的 種 子 序 列 輸 入個 數 , 分 別 做 100,000 次 的 亂 數 取 種 子 輸 入 , 也 就 是 取 600,000 個 不 同 的 種 子序 列 輸 入 , 統 計 其 檢 測 結 果 , 觀 察 是 否 有 「 死 點 」 存 在 , 並 能 夠 進 一 步 針 對 死 點來 討 論 , 改 善 亂 數 產 生 機 制 。20


第 五 章 週 期 測 定擬 亂 數 產 生 器 的 機 制 是 基 於 將 一 組 輸 入 透 過 某 個 固 定 形 式 的 數 學 函 數 運 算來 產 生 亂 數 , 再 經 由 改 變 該 組 輸 入 的 值 來 產 生 下 一 筆 不 同 的 亂 數 。 由 於 這 組 輸 入是 在 固 定 空 間 下 儲 存 , 其 改 變 是 有 限 態 的 改 變 , 必 定 會 產 生 重 覆 , 也 就 是 說 擬 亂數 產 生 器 所 產 生 之 擬 亂 數 序 列 必 定 有 週 期 。5.1 種 子 ( 輸 出 ) 測 定 法正 如 這 個 章 節 一 開 始 所 提 到 的 , 當 擬 亂 數 產 生 器 的 輸 入 狀 態 重 覆 出 現 時 , 由於 產 生 的 機 制 是 固 定 的 , 其 後 所 產 生 的 擬 亂 數 序 列 也 必 定 會 重 覆 。 因 此 種 子 測 定法 的 做 法 即 是 : 在 擬 亂 數 序 列 產 生 的 過 程 中 , 每 隔 一 定 區 間 將 種 子 與 其 產 生 序 號記 錄 下 來 , 並 加 以 排 序 。 同 時 在 每 一 次 改 變 種 子 的 狀 態 時 , 將 之 與 先 前 所 記 錄 下來 的 種 子 做 比 對 , 若 發 現 到 相 同 的 種 子 序 列 , 則 代 表 在 該 處 有 週 期 發 生 。 兩 者 的產 生 序 號 相 減 即 可 得 到 週 期 長 度 。21


Ψ t UL+1 UL+1+TULTTBLP 1t t 1 P 20t 0 +Tt 2t圖 4.1 種 子 測 定 法種 子 ( 輸 出 ) 測 定 演 算 法 :Input : SeedOutput : Effective periodStep1: //Initialization//t2 = 0 ; //Counter//BC = 0 ; //Index Counter//Limit = 10 ; //Block Limit//BL = 1024 ; //Block Size//Flag = 0 ; //Flag Value//Start the π-ePRNG using the input seedStep2: //Find the period T//While Flag = 0 do{t2 = t2 + 1;If Yt2 = Yt1 for some t1 is in Seed_table; //Search for Yt2//{22


}T = t2 - t1;Flag = 1;}If BL is a divisor of t2 then{BC = BC + 1;Store t2 and Yt2 into Seed_Table at index BCIf BC = Limit then{For i = 1 to Limit / 2{Replace Seed_Table[i] with Seed_Table[i*2];}BC = BC / 2;BL = BL * 2;}}Step3://Find a periodic length UL//P1 = t1 - BL;P2 = P1 + T;Get YP 1 from Seed_TableCall π-ePRNG using YP 1 to obtain YP 2Flag = 0;While Flag = 0 do{P1 = P1 + 1;P2 = P2 + 1;If Y P 1 = Y P 2 then{t0 = p1;UL = t0 – 1;Teff = UL + TFlag = 1;}}23


5.2 有 效 位 數 外 插 法 (Efficacious Bits Extrapolation)根 據 種 子 ( 輸 出 ) 測 定 法 , 我 們 可 以 找 到 真 正 的 周 期 長 度 , 以 及 有 效 週 期 , 雖然 比 傳 統 暴 力 法 要 快 上 許 多 , 但 是 由 於 周 期 過 長 , 導 致 我 們 仍 然 需 要 相 當 久 的 時間 , 所 以 我 們 現 在 利 用 有 效 位 數 外 插 法 。所 謂 有 效 位 數 外 插 法 就 是 控 制 Y-seed 其 有 效 位 數 , 並 利 用 Mod 來 控 制 其範 圍 , 取 得 一 些 有 效 數 據 , 我 們 利 用 這 些 數 據 可 以 推 論 出 一 個 線 性 函 數 , 然 後 利用 這 線 性 函 數 去 推 估 出 我 們 現 有 數 據 以 外 的 數 值 。If ( Max( | Y (i) | ) > 65536 ){}φ = Max ( y(i) )65536+ φ + e ;y i k = y i k + φ × k %Q , 1 ≤ k ≤ 2n ,Q = 2 r , 1 ≤ r ≤ 8 ;y i k = INT y i k × 10 Round10 Round , 1 ≤ k ≤ 2n ,0 ≤ Round ≤ 6 ;24


Log 10 (Teff)Seed:2009, 9, 14, 11, 17Mod T UL Teff Cost Time2 945 1482 2,427 14.64 (ms)4 10,090 46,310 56,400 51.76 (ms)8 318,809 527,119 845,928 0.39 (s)16 34,045,490 6,674,664 40,720,154 24.09 (s)32 666,634,531 227,944,452 894,578,983 8.05 (min)64 2,554,806,002 6,654,749,650 9,209,555,652 72.7(min)128 66,273,438,732 97,893,318,318 164,166,757,050 21.39 (hr)256 ( 從 缺 ) ( 從 缺 ) ( 從 缺 ) ( 從 缺 )圖 4.2 Round 0 數 據 表12.000Round 010.0008.0006.0004.0002.0000.0002 4 8 16 32 64 128 256Round 0 3.385 4.751 5.927 7.610 8.952 9.964 11.215圖 4.3 Round 0 數 據 圖25


由 上 述 2 張 圖 表 來 看 ,Round 0 的 部 分 目 前 可 以 測 出 到 Mod 128,Mod 256則 需 花 點 時 間 , 但 是 從 數 據 圖 來 分 析 , 我 們 可 以 大 膽 預 測 出 Log 10 (Teff) 值 會 落在 介 於 12~13 之 間 , 也 就 是 Teff 值 會 介 於 10 12 ~10 13 。以 此 類 推 , 分 別 找 出 Round 1 ~ Round 6 的 部 分 , 再 根 據 這 些 數 據 , 推 估出 我 們 最 後 所 要 的 有 效 週 期 長 度 。26


第 六 章 測 試 與 比 較6.1 單 一 品 質 測 試以 下 輸 入 相 同 種 子 分 別 做 Chi-Square Test( 圖 6.1) 以 及 FIPS 140-2 Test( 圖6.2)。圖 6.1 π-e PRNG Chi-Square Test27


圖 6.2 π-e PRNG FIPS140-2 Test28


6.2 品 質 比 較Depth Test ( 2009, 9, 14, 11, 17 )UnitGPRNGπ-e PRNGFIPS 140-2 CHI FIPS 140-2 CHI0 ~ 1000 100% 98% 100% 98%1001 ~ 2000 100% 99% 100% 95%2001 ~ 3000 100% 97% 99% 97%3001 ~ 4000 100% 99% 100% 97%4001 ~ 5000 99% 98% 100% 100%5001 ~ 6000 100% 96% 100% 99%6001 ~ 7000 100% 98% 100% 97%7001 ~ 8000 100% 98% 100% 100%8001 ~ 9000 100% 99% 100% 100%9001 ~ 10000 100% 97% 100% 96%Average 99.9% 97.9% 99.9% 97.9%圖 6.3 GPRNG 與 π-e PRNG Depth Test 比 較 表Width TestUnitGPRNGπ-e PRNGFIPS 140-2 CHI FIPS 140-2 CHI5 100% 98% 99.885% 96.957%6 100% 99% 99.92% 96.995%7 100% 97% 99.938% 96.991%8 100% 99% 99.93% 96.995%9 99% 98% 99.93% 96.879%10 100% 96% 99.929% 96.911%Average 99.9% 97.9% 99.922% 96.955%圖 6.4 GPRNG 與 π-e PRNG Width Test 比 較 表29


6.3 速 度 測 試Byte 25000 250000 2500000 25000000 250000000Cost Time(milliseconds)10 61 558 4,604 46,039Average(MB/s)2.384 3.908 4.272 5.178 5.178圖 6.5 速 度 測 試 (CPU 時 脈 :1.66 GHz)30


第 七 章 結 論 與 展 望7.1 結 論根 據 我 們 設 計 的 π-e PRNG 所 做 的 測 試 , 結 果 皆 有 達 到 品 質 良 好 的 統 計 標準 , 我 們 做 了 100 組 種 子 的 單 一 種 子 的 深 度 測 試 Chi-Square 接 受 度 平 均 達98.03%,FIPS 140-2 接 受 度 平 均 也 達 99.93% 的 良 好 結 果 , 並 且 做 了 60 次 的 廣度 測 試 ,Chi-Square 接 受 度 達 98.01%,FIPS 140-2 接 受 度 達 99.90%, 同 時 對初 值 的 敏 感 度 也 有 非 常 好 的 效 果 。速 度 方 面 我 們 利 用 增 加 變 數 提 升 空 間 亂 度 , 以 減 少 運 算 的 函 式 , 大 大 的 減 少時 間 的 複 雜 度 , 增 加 擬 亂 數 序 列 產 生 的 速 度 。此 外 對 週 期 的 尋 找 已 有 明 確 的 方 法 及 目 標 , 但 由 於 周 期 太 長 , 以 現 有 的 設 備系 統 而 言 所 需 耗 費 的 時 間 過 大 ( 幾 十 年 或 上 百 年 ), 因 此 在 不 得 已 的 情 況 下 , 選 擇使 用 外 差 法 來 尋 找 週 期 。7.2 展 望在 網 路 的 應 用 尤 其 是 即 時 系 統 上 , 擬 亂 數 產 生 的 速 度 是 非 常 重 要 的 。 未 來 我們 將 會 針 對 演 算 法 及 程 式 寫 作 上 可 加 以 簡 化 , 加 快 產 生 速 度 而 不 影 響 輸 出 品 質 的地 方 做 改 善 , 以 加 快 擬 亂 數 序 列 的 產 生 速 度 。31


目 前 我 們 的 程 式 都 是 在 同 樣 的 平 台 上 執 行 , 因 此 接 下 來 的 重 點 之 一 , 即 是 分析 程 式 中 所 有 平 台 相 依 性 之 部 份 , 加 以 改 善 , 以 達 到 跨 平 台 之 要 求 。改 善 擬 亂 數 產 生 器 的 效 能 之 外 , 我 們 將 進 一 步 朝 各 個 擬 亂 數 產 生 器 的 應 用 領域 發 展 , 並 致 力 於 開 發 新 的 應 用 方 向 。32


附 錄 A:Demo圖 A.1 程 式 各 功 能 說 明圖 A.2 輸 出 5000 比 擬 亂 數 序 列33


圖 A.3 週 期 測 試 數 據圖 A.4 週 期 測 試 數 據 圖 表34


圖 A.5 卡 方 測 試 圖 表 (Chi-Square Test)圖 A.6 FIPS 140-2 測 試 圖 表35


圖 A.7 深 度 測 試 圖 表 (Depth Test)圖 A.8 廣 度 側 視 圖 表 (Width Test)36


圖 A.9 速 度 測 試 圖 表37


參 考 文 獻[1] S. Palit, B. K. Roy, “Cryptanalysis of LFSR-Encrypted Codes with UnknownCombining Function,” International Conference on the Theory and Application ofCryptology and Information Security, 1999, pp. 306-320.[2] K. Ichino, K. Watanabe, M. Arai, S. Fukumoto, and K. Iwasaki, “A SeedSelection Procedure for LFSR-based Random Pattern Generators,” DesignAutomation Conference 2003, Proceedings of the ASP-DAC 2003, Asia and SouthPacific, Jan. 2003, pp. 869-874.[3] P. Hellekalek, “Good Random Number Generator Are (not so) Easy to Find,”Mathematics and Computers in Simulation, vol 46, June 1998, pp. 485-505.[4] J. L. Deng, “A Introduction to Grey System Theory,” Journal of Grey System,vol. 1, no. 1, pp. 1-24, 1989.[5] Federal Information Processing Standards Publication 140-2, SecurityRequirements for Cryptographic Modules, Cryptographic, Computer Security,National Institute of Standards and Technology (NIST),http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf.[6] 賴 溪 松 , 韓 亮 , 張 真 誠 ,「 近 代 密 碼 學 及 其 應 用 」, 松 崗 出 版 社 (1995)[7]FIPS PUB 140-2, “Security Requirements for Cryptographic Modules,” (2001)http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf38

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!