• 沒有找到結果。

基於karatsuba 分解法實現低複雜度的多位元串列GF(2 )乘法器

N/A
N/A
Protected

Academic year: 2023

Share "基於karatsuba 分解法實現低複雜度的多位元串列GF(2 )乘法器"

Copied!
18
0
0

加載中.... (立即查看全文)

全文

(1)Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 基於 karatsuba 分解法實現低複雜度的多位元串列 GF(2m)乘法器 李秋瑩 龍華科技大學 資訊網路工程系. 范家禎 交通大學 資訊科學與工程研究所. 葉為勳 龍華科技大學 資訊網路工程系. [email protected]. [email protected]. [email protected]. 摘要 近年來,由於無線通訊的普遍,資訊安全成為重要的研究議題,密碼系統也是其中 重要的一環。本文提出一個新的低複雜度多位元串列 GF(2m)乘法器,利用多位元串列的 概念結合 Karatsuba 乘法器的原理,來降低電路使用的面積複雜度,並且可適用於橢圓曲 線密碼學技術。我們所熟知的密碼系統核心運算電路是乘法器,然而密碼系統中乘法器 的場非常大,所以設計一個降低空間與時間複雜度的乘法器是非常必要的。本文利用 Karatsuba 乘法器的原理,配合多位元串列的概念,利用 FPGA 來實現低複雜度乘法器, 本方法僅需要. 3dm m 3dm 個 AND 閘,4m+n+ + +d-5 個 XOR 閘以及 3m-3 個暫存器,本文 2 2 2. 利用 Altera FPGA Quartus II 軟體環境,模擬四種不同位元數的乘法器,分別為 36×36, 84×84,126×126 以及 204×204 個位元的乘法器,並實現於 Cyclone II EP2C70F896C8 之 實驗平台上。由實驗結果可知,所提出的乘法器之時間複雜度皆小於文獻[13], [15]以及 [19],並且當乘法器相乘的位元數越多時,本架構可降低的時間×空間複雜度越大。 關鍵詞:Karatsuba、有限場、多位元串列。. 壹、前言 在現今網路以及手機蓬勃的時代,資訊傳輸對我們的生活,變成不可或缺的一環, 也正是因為如此,所以關於資訊安全必要性也變得非常的重要,在 1985 年時,由 Miler[1] 和 Koblitz[2]首先引進密碼學並提出一個新的公開金鑰密碼系統,稱為橢圓曲線密碼系統 (elliptic curve cryptosystem, ECC),橢圓曲線密碼系統廣泛應用於有限場。一般 ECC 的運 算是根據質數場 GF(p)或二位元場 GF( ),其中 m 為有限場的大小,而乘法演算法是橢 圓曲線密碼系統的核心運算,所以 m 也為乘法元素的位元數。橢圓曲線密碼系統之所以 被重視的原因主要在於相同的安全強度下,橢圓曲線密碼系統的金鑰長度遠短於其它公 開金鑰密碼系統的金鑰長度,他具有低功率,對儲存容量需求較小等優點,這特性非常 適合用於手機;smart card 等等資源較小的地方,其中橢圓曲線密碼系統的核心,就是用 乘法器所構成,乘法器設計的好壞,直接影響到橢圓曲線密碼實現的性能以及安全性。 近年來許多的學者,致力於有限場乘法器的研究,文獻[3,4,5,6]中提到許多不同的 乘法器,包括位元串列、位元平行及多位元串列結構,位元平行乘法器通常採用最低有 119.

(2) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 效位元(LSB)或最高有效位元(LSB)的方式。 為了降低空間以及時間複雜度許多學者提出一些特別多項式的有限場乘法器,文獻 [7, 8, 9]分別於全一多項式,五項多項式以及三項多項式,利用矩陣的方式發展位元平行 乘法器。文獻[10]是利用最低有效位元(LSB)實現新的三項多項式乘法器,其時間複雜度 為 √ 個脈波週期,其中 m 為乘法元素的位元數,然而文獻[11]將[10]的乘法器做延伸發 展出新的全一多項式乘法器。然而,另一些研究者提出低空間複雜度位元串列的乘法器 [12],他僅只需要 O(m)的空間複雜度,但是相對的時間複雜度也隨之拉長。為了將空間 複雜度與時間複雜度,達到平衡,於是漸漸地發展出不同的多位元串列乘法器[13, 14]。 傳統的多位元乘法器的延遲時間為 O( )個脈波週期,其中 d 為所選的多位元的位元數大 小。文獻[15]提出具有位元進位元結構之多位元串列乘法器。 Karatsuba-Ofman’s 演算法(KOA) [16] 發表於 1962 年,是第一個打破位置編排的整 數乘法運算,由於計算方式簡單,所以其多項式版本廣泛應用在 中的 VLSI 乘法器 密碼系統。有限場以及 KOM 的相關論文相繼被提出,C. Grabbe [17],設計一個 240 位 233 元的乘法器實現在 上。文獻 [18]將 Karatsuba 演算法的概念,用於有限場𝐺𝐹 上, 提出一個低複雜度的乘法器。 本篇論文的其他章節說明如下:第貳章為數學基礎,說明本篇論文使用的數學概念。 第參章為所提出的低複雜度多位元串列乘法器,包含本文的演算法及架構。第肆章為實 驗結果,並與其他論文比較其效能與時間空間複雜度。最後,第伍章為本論文的結論。. 貳、相關文獻 2.1 有限場表示法 在這個部分簡短的介紹有限場的表示方法,有限場𝐺𝐹 中有 個元素,每個元 素可表示成m維度的向量,而每一個向量皆由GF(2)所定義出來,即𝐺𝐹 = {𝐴 = 𝑎0 + 2 −1 𝑎1 𝑥 + 𝑎2 𝑥 + ⋯ + 𝑎 −1 𝑥 },其中𝑎𝑖 = 𝐺𝐹 。而m必定為正整數,在有限場中有許多 基底表示法,其中最普遍的三大基底:多項式基底(polynomial basis, PB),正規基底 (normal basis, NB)以及雙重基底(dual basis, DB)。 有限場的每一個元素也可以表示成𝐴 = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 + ⋯ + 𝑎 −1 𝑥 −1 其中, 𝑁 = {𝑎0 , 𝑎1 , 𝑎2 , … , 𝑎 −1 } 這 個 稱 為 有 限 場 的 基 底 表 示 法 。 例 如 : 𝑎𝑖 = 𝑥 𝑖 , 𝐴 = {1, 𝑥1 , 𝑥 2 , … , 𝑥 −1 } 是 稱 為 多 項 式 基 底 ( polynomial basis, PB ), 其 中 , x 是 為 −1 𝑖 𝐹 𝑥 = 𝑓0 + 𝑓1 𝑥 + 𝑓2 𝑥 2 + ⋯ + 𝑓 −1 𝑥 −1 + 𝑥 = 1 + ∑𝑖=1 𝑥 +𝑥 的 根 , 也 就 是 說 𝐹 𝑥 = 0, 𝑥 = 𝑓0 + 𝑓1 𝑥 + 𝑓2 𝑥 2 + ⋯ + 𝑓 我們可利用方程式(1),做乘法運算的降階之用。. −1 𝑥. −1. (1). 為了方便說明乘法原理,我們採用多項式基底來說明乘法器的架構,假設有限場 GF( ) 是 由 不 可 分 解 多 項 式 𝐹 𝑥 = 𝑓0 + 𝑓1 𝑥 + 𝑓2 𝑥 2 + ⋯ + 𝑓 −1 𝑥 −1 + 𝑥 = 1 + 120.

(3) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. −1 𝑖 ∑𝑖=1 𝑥 + 𝑥 所 產 生 的 , 且 𝐹 𝑥 的 根 為 α 。 令 元 素 𝐴 = 𝑎0 + 𝑎1 𝛼 + 𝑎2 𝛼 2 + ⋯ + −1 𝑎 −1 𝛼 −1 = ∑𝑖=0 𝑎𝑖 𝛼 𝑖 , 𝐵 = 𝑏0 + 𝑏1 α + 𝑏2 α2 + ⋯ + 𝑏 −1 α −1 = ∑i=0−1 𝑏𝑖 α𝑖 , −1 𝐶 = 𝑐0 + 𝑐1 𝛼 + 𝑐2 𝛼 2 + ⋯ + 𝑐 −1 𝛼 −1 = ∑𝑖=0 𝑐𝑖 𝛼 𝑖 為有限場 中的任意函數,其 中C為元素A及元素B的乘積,也就是說,元素C可表示成以下:. 𝐶 = 𝐴𝐵 = 𝑎0 + 𝑎1 𝛼 + 𝑎2 𝛼 2 + ⋯ + 𝑎 −1 𝛼 −1 𝐵 = 𝑎0 𝐵 + 𝑎1 𝐵𝛼 + a2 Bα2 + ⋯ + am−1 Bαm−1 (2) = … 𝑎 −1 𝐵 𝛼 + 𝑎 −1 𝐵 𝛼 + ⋯ 𝑎1 𝐵 𝛼 + 𝑎0 𝐵 (3) 根據方程式(2),這種的乘法結構我們稱為LSB (Least Significant Bit)乘法演算法;方 程式(3)稱為MSB(Most Significant Bit)乘法演算法。以下我們根據這兩種的乘法演算法來 說明電路架構。 2.2 GF(𝟐𝒎)的傳統 digit-serial 乘法器 在這個部分簡短的介紹多位元串列演算法。令 GF(2m)是長度為 m 的 F(x)不可分解多 項式所組成的,其中元素 A 及 B 為 GF(2m)當中的兩個元素: 𝐴 = 𝑎0 + 𝑎1 𝑥 + ⋯ + 𝑎 −1 𝑥 −1 𝐵 = 𝑏0 + 𝑏1 𝑥 + ⋯ + 𝑏 −1 𝑥 −1 其中 ai 和 bi ∈{0,1}。然後有限場的元素 A 和 B 需要 mod F(x) C=AB mod F(x) (4) 為了實現方程式(4),有許多不同的模組,可以在有限制的環境下,實現硬體需求。 以下的圖 1,我們使用 Least Significant Digit (LSD)乘法器描述多位元串列乘法器結構。 Digit-serial 乘法器將 m 個位元的乘法元素 A,B 分別切成許多相同長度的位元做運 算,進而得到運算結果。假設 m 為乘法器的運算位元數,d 為所選的切割大小,我們將 獲得 k 筆 d 個位元的資料,其中 k=⌈ ⌉,如 m 不是 dk 的倍數,就在元素的最高位元補 0。 𝐴 = 𝑎0 , 𝑎1 … , 𝑎 其中 0 為 kd-m 個 bit,元素 A 可表示成:. −1 , 0 … ,0. 𝑘−1. 𝐴=∑ 𝑖=0. 其中𝐴𝑖 = 𝑎𝑖 + 𝑎𝑖 +1 + ⋯ + 𝑎𝑖 + 𝑥 使用 LSD 乘法模組可得到 C 如下:. 𝐴𝑖 𝑥 𝑖. −1. C=AB mod F(x) = (𝐴0 + 𝐴1 𝑥 + ⋯ + 𝐴𝑘−1 𝑥. 𝑘−1. )𝐵 mod 𝐹 𝑥. = 𝐶0 + 𝐶1 + ⋯ + 𝐶𝑘−1 mod 𝐹 𝑥. (5). 其中 𝐶𝑖 = 𝐴𝑖 𝐵 𝐵. 𝑖. = 𝐵𝑥. 𝑖. 𝑖. mod 𝐹 𝑥 = 𝑥 𝐵. 其中 0≤i≤k-1 121. (6) 𝑖−1. mod 𝐹 𝑥. (7).

(4) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. LSD 多位元串列乘法演算法 輸入:A 和 B 為 GF(2m)中的元素 輸出:C=AB mod F(x) 1. 2. 3.. C =0; A=A0+A1xd+…+Ak-1x(k-1)d for i=0 to k-1. 4. 5. 6.. C = C +AiB; B=Bxi mod F(x); end for. 7.. C= C mod F(x); 圖1. LSD 多位元串列乘法演算法. 根據圖 1 的架構可獲得如下圖 2 之多位元串列乘法器,此架構包含乘法核心電路, 兩個暫存器,一個降低多項式( C mod F(x)),及一個(m+d)個 bit 的加法器。而圖 1 的乘法 核心,是步驟 4 的 AiB 運算,初始步驟是將元素 B 的暫存器設為元素 B 的初始值,而 C 的暫存器設為 0。根據圖 1 的步驟 3 到步驟 6,k 個脈波週期後,暫存器 C 可獲得 C 0 + C 1 + … + C k -1 。而且下一個脈波週期可實現完整的降階多項式,其運算為 C= C mod F(x),並且 獲得最後的乘法運算。根據圖 2 之傳統多位元串列乘法器需要⌈ ⌉+1 個 clock。 <B> m d. 乘法器核心. Ak-1…A1A0. m+d. <C> mod F(x) m C. 圖2 傳統的多位元串列乘法器 122.

(5) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 2.3 Karatsuba 乘法的基本原理 在這個部分,我們介紹將 Karatsuba 乘法器,此乘法器可將乘法元素,切割成許多筆 相同位元的資料,假設乘法元素 A,B 為 m 個位元,利用 Karatsub 的方式切割成 n 段, 利用分割法運算會產生 n(n+1)/2 個子乘法器,如果所要運算的乘法器元素 A 及元素 B 為 m 個位元,利用 Karatsuba 乘法器將元素 A 及元素 B 切割成 n 段,那麼每一段就會有 𝑛 個 位元,將切割好的元素 A 及元素 B 相乘,那麼每一個子乘法器皆為 × 個位元。 𝑛. 𝑛. 下面我們將介紹切割成兩段的 Karatsuba 乘法器,應用到多位元串列結構的多項式乘 法器上[16],詳細說明如下: 元素 A=a0+a1x+a2x2+…+am-1xm-2+am-1xm-1 及元素 B=b0+b1x+b2x2+…+bm-1xm-2+ bm-1xm-1 為 GF(2m)內的元素,它是由不可分解多項式所組合而成的,且元素 A 及 B 為兩個長度為 m 的多項式,而元素 C 為元素 AB 的乘積,我們可將元素 A 及元素 B 分成兩個部份如下: 𝑚. −1. −1 𝑖 2 𝐴 = ∑𝑖=0 𝑎𝑖 𝑥 𝑖 = ∑𝑖=−1 𝑚 𝑎𝑖 𝑥 + ∑ 𝑎𝑖 𝑥 𝑖 𝑖=0 2. 𝑚. 𝑚. 𝑚. −1. 𝑚. −1. 2 2 = 𝑥 2 ∑𝑖=0 𝑎𝑖+𝑚 𝑥 𝑖 + ∑𝑖=0 𝑎𝑖 𝑥 𝑖 = 𝑥 2 𝐴1 + 𝐴0. (8). 2. 𝐵=. −1 ∑𝑖=0 𝑏𝑖 𝑥 𝑖 𝑚. 𝑚. =. −1 ∑𝑖=0 𝑏𝑖 𝑥 𝑖 𝑚. −1. 𝑚 −1 2. + ∑𝑖=0 𝑏𝑖 𝑥 𝑖. −1. 𝑚. 2 2 = 𝑥 2 ∑𝑖=0 𝑏𝑖+𝑚 𝑥 𝑖 + ∑𝑖=0 𝑏𝑖 𝑥 𝑖 = 𝑥 2 𝐵1 + 𝐵0. (9). 2. 其中元素 A0、A1、B0 及 B1 長度皆為. m 位元的多項式,元素 A 和 B 的乘積 C 表示如下: 2 𝑚. C=AB=A0B0+(A1B0+A0B1) 𝑥 2 +A1B1𝑥. (10). 為了改善乘積 C 的計算方法,我們可以將方程式(10),也可表示成: 𝑚. C=AB=A0B0+[(A0B0+A1B1)+(A0+A1)(B0+B1)] 𝑥 2 +A1B1xm. (11). 我們發現可由三種乘法分別為 A0B0,(A0+A1)(B0+B1)以及 A1B1 獲得方程式(11)乘法運算結 果。為了實現方程式(11),可利用以下三個步驟實現乘法乘積: 步驟一: 評估運算點(KO-EP):根據以上的三種乘法可評估出元素 A、B 的三個運算點 為: KO-EP(A)=(A0, A0+A1, A1). (12). KO-EP(B)=(B0, B0+B1, B1) (13) 步驟二: 點對點的運算(KO-PWM):利用以上評估點將他們做相乘,得到以下方程式: KO-PWM(C) = KO-EP(A)×KO-EP(B) 123.

(6) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. = 𝐴0 𝐵0 , 𝐴0 + 𝐴1 𝐵0 + 𝐵1 , 𝐴1 𝐵1 = 𝑡0 , 𝑡1 , 𝑡2 (14) 步驟三: 重建模組(KO-R):最後,依據乘法點的運算結果,將 t0,t1 及 t2 做還原排列,即 可獲得原始乘法的最後結果如下: KO-R(C)=(KO-PWM(C)= 𝐶0 , 𝐶1 , 𝐶2 =( A0B0, A0B0+(A0+A1)(B0+B1)+A1B1,A1B1) (15) 根據以上三個步驟,可以畫出以下架構圖 3,步驟一評估運算點,可將乘法元素 A 及元素 B 分成相同的兩段,分別為 A0,A1 及 B0,B1,並且利用 XOR 閘分別將 A0、A1 及 B0、B1 加起來組成(A0+A1)及(B0+B1),接著步驟二將獲得的三個運算點,送入三個乘法 器中進行點對點的運算,獲得乘法結果𝑡0 , 𝑡1 , 𝑡2,最後,步驟三將乘法結果𝑡0 , 𝑡1 , 𝑡2,利用 XOR 閘進行 Karatsuba 乘法的重建模組,並且送出傳統乘法運算結果。 A. B. 圖3 傳統的 Karatsuba 乘法架構 依據以上方法可實現遞迴演算法,將所有的元素分段成極小的位元數,若以兩段分 法,來延伸乘法結構,Karatsuba 三大步驟的每一個步驟複雜度可分別如下,若 m 為元素 m 的長度,且 n=2i 其中 i 為遞迴次數,步驟一需要 m 個 XOR 閘,步驟二需要 ( ) 2 × 3i 個 n AND 閘以及 (. 2m m 2 i - 1) × 3 個 XOR 閘,步驟三需要 ( - 1) × (3i - 1) 個 XOR 閘,則每個模組 n n. 可獲得表 1 之複雜度分析結果: 表1 Karatsubau 每個模組電路複雜度 元件 步驟. AND 閘. XOR 閘. 0. m. KO-EP KO-PWM KO-R. 2. 𝑛. × 3𝑖 (. 0 124. 2 𝑛. − 1 2 × 3𝑖 𝑛 − 1) × 3𝑖 − 1.

(7) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 參、低複雜度多位元串列 GF(𝟐𝒎 )乘法器 本文所提出的乘法器結合 Karatsuba 乘法器與 digit-serial 乘法器的概念,利用 Karatsuba 乘法器切割方法將 m 個位元的元素 A,B,切割成 n 段,每一筆元素 A,B 將有 𝑛 個 位元,接著將切割好的元素 A,利用 digit-serial 乘法器概念再次做切割,然而每一段的 位元數為 d 個位元,因此每一個子乘法器皆為𝑑 × 個位元,本文與 Karatsuba 乘法器切 𝑛. 割的方式不同的地方在於,單純利用 Karatsuba 乘法器切割,切割越多段會產生越多的子 乘法器,然而利用本文所提出的方法不會產生多的子乘法器。所提出的乘法器,針對切 割成兩段的 Karatsuba 演算法,推導新的多位元串列乘法。假設有限場 GF(2m)是由不可 分解多項式 F(x)所建構的,多項式 A 與 B 為有限場 GF(2m)之兩元素,且分別表示如下: m. A=AL+AH x 2 m. B=BL+BH x 2 其中 𝑚. 𝐴𝐿 = 𝑎0 + 𝑎1 𝑥 + ⋯ + 𝑎𝑚−1 𝑥 2 −1 2. 𝐴𝐻 = 𝑎𝑚 + 𝑎𝑚+1 𝑥 + ⋯ + 𝑎 2. 2. 𝑚. −1 𝑥 2. −1. 𝑚. 𝐵𝐿 = 𝑏0 + 𝑏1 𝑥 + ⋯ + 𝑏𝑚−1 𝑥 2 −1 2. 𝐵𝐻 = 𝑏𝑚 + 𝑏𝑚+1 𝑥 + ⋯ + 𝑏 2. 2. 𝑚. −1 𝑥 2. −1. A 與 B 之乘積則可表示成 m. m. C=(AL+AH x 2 ) (BL+BH x 2 ) mod F(x) m. m. m. = ALBL(1+ x 2 )+AHBH( x 2 + x m )+(AL+AH)(BL+BH) x 2 mod F(x). (16). 根據方程式(16),乘法包含三個子乘法即 ALBL、BL+BH、(AL+AH)(BL+BH)。令子多項式表 示為 𝐴𝐿 𝐴𝑖 = { 𝐴𝐻 𝐴𝐿 + 𝐴𝐻. 𝑓𝑜𝑟 𝑓𝑜𝑟 𝑓𝑜𝑟. 125. 𝑖=0 𝑖=1 𝑖 =0+1.

(8) Special Issue – Security Issues on Intelligent Portable Devices. 𝐵𝐿 𝐵𝑖 = { 𝐵𝐻 𝐵𝐿 + 𝐵𝐻. 𝑓𝑜𝑟 𝑓𝑜𝑟 𝑓𝑜𝑟. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 𝑖=0 𝑖=1 𝑖 =0+1. 那麼,乘積 C 可表示成 m. m. m. C=C0(1+ x 2 )+ C1( x 2 + x m )+C2 x 2 mod F(x). (17). 其中 Ci=AiBi 假設 d 為選取的區段長度,每個子多項式 Ai 可表示成 m. Ai=ai,0+ ai,1x+…+ a. m i , -1 2. -1. k -1. x 2 = ∑ Ai , j x jd. (18). j =0. 其中 d -1. Ai , j = ∑ai , j x l , k=⌈2 ⌉ l =0. 利用方程式(18),子乘積 Ci=AiBi 可表示成 k -1. Ci=AiBi= ∑ Ai , j Bi x jd =(((Ai,k-1Bi)xd+Ai,k-2Bi)xd+…)xd+Ai,0Bi j =0. 根據方程式(17)-(19),提出的乘法演算法如下圖 4 所示:. 126. (19).

(9) Special Issue – Security Issues on Intelligent Portable Devices. m. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. m. Inputs:A=AL+AH x 2 and B=BL+BH x 2 are two elements in GF(2m). Output:C=AB mod F(x). 1.. C0=0, C1=0, C2=0.. 2.. A0= AL, A1= AH, B0= BL, B1= BH.. 3.. For j=k-1 to 0. */initialization step 4.. A0+1,j= A0,j, + A1,j, where Ai,j=(ai,dj, ai,dj+1,…, ai,dj+d-1).. 5.. B0+1= B0+ B1.. */subword product computation step 6.. AB0= A0,j B0.. 7.. AB1= A1,j B1.. 8.. AB0+1= A0+1,j B0+1.. 9.. C0= C0xkd+ AB0.. 10. C1= C1xkd+ AB1. 11. C2= C2xkd+ AB0+1. 12. endfor */ finial polynomial reduction step 𝑚. 𝑚. 𝑚. 13. C=𝐶0 (1 + 𝑥 2 ) + 𝐶1 (𝑥 2 + 𝑥 ) + 𝐶2 𝑥 2 mod. 𝑥. 圖4 提出的多位元 Karatsuba 乘法演算法 根據圖 4 的結構,可畫出所提出的乘法架構如圖 5 所示,這個架構包含三個乘法核 心電路,三個暫存器,一個降階多項式,三個(m+d)個位元的加法器,三個移位電路以及 一個由 XOR 閘組成的還原模組。Karatsuba 是將具有 m 個位元的乘法元素 A 及 B 分別切 割成 2 個位元,分別為𝐴0,𝐴1,𝐵0以及𝐵1,接著令元素𝐴0 +𝐴1 為𝐴0+1,𝐵0+𝐵1為𝐵0+1,我 們將元素𝐴0 與𝐵0、𝐴1 與𝐵1以及𝐴0+1 與𝐵0+1相乘,然後再利用 digit-serial 的概念,將元素𝐴0, 𝐴1,𝐴0+1切成多筆資料,其中每一筆資料為 d 個位元,因此元素𝐴0,𝐴1 及𝐴0+1 將被切割 為 k 筆資料,其中 k=⌈2 ⌉,如果當 k 值越大時,所消耗需要的乘法空間複雜度將會越小, 但所需的時間複雜度將會增加。根據圖 4 的步驟 1 先將三個暫存器歸零,接著利用步驟 2 將元素分成 A0,A1 及 B0,B1,然而圖 5 的元件 Convert 1 及 Convert 2 所做的運算即為 127.

(10) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 圖 4 的步驟 4 以及步驟 5,步驟 4 將元素 A0,j 及 A1,j 相加獲得 A0+1,j,而步驟 5 將元素 B0 及 B1 相加獲得 B0+1,接著將元素 A0,j 與 B0 相乘送入步驟 6 運算,而乘法結果為圖 5 的乘 法器 AB0,元素 A1,j 與 B1 相乘送入步驟 7 運算,而乘法結果為圖 5 的乘法器 AB1,接著 步驟 8 將元素 A0+1,j 與 B0+1 相乘,而乘法結果為圖 5 的乘法器 AB0+1,接著圖 4 的步驟 9步驟 11 就是將圖 5 的三個暫存器<C0>,<C1>及< C2>做移位動作並與乘法器 AB0,AB1 及 AB0+1 所獲得的資料相加,然後存回暫存器<C0>,<C1>及<C2>,根據圖 4 所示,在 j 個脈波週期後,暫存器<C0>,<C1>及<C2>可獲得其運算結果,其中0 ≤ 𝑗 ≤ 𝑘 − 1。接著 依據圖 4 的步驟 13 就是將運算好的 C0、C1 及 C2 分配至對應的位置即為圖 5 的還原模組。 最後,於下一個脈波週期可實現完整的降階多項式,其運算為 C=C mod F(x),並且獲得 最後的乘法運算。根據圖 5 所示,所提出的乘法器需要三個子乘法器分別為 AB0,AB1 及 AB0+1,每個子乘法器皆有兩筆輸入, AB0 乘法器的輸入為元素 A0,j 及元素 B0,乘法 器 AB1 的輸入為元素 A1,j 及元素 B1 以及乘法器 AB0+1 的輸入為元素 A0+1 及 B0+1,然而元 m 素 A0,j,A1,j 以及 A0+1,j 為 d 個位元,B0,B1 及 B0+1 為 個位元,故所獲得的乘積 AB0, 2 AB1 及 AB0+1 為( 第 一 步 驟. 評 估 運 算 點. 第 二 步 驟. 點 對 點 的 運 算. m ×d)-1 個位元。根據圖 4 的步驟 13 可畫出圖 6 的還原模組處理單元。 2. A. Convert 1. A0,j A1,j. 𝑚. 第 三 步 驟. 還 原 模 組. B0+1. A0+1, j. d× 2 乘法器 AB0. B0. 𝑚. B1. 𝑚. d× 2 乘法器 AB0+1. d× 2 乘法器 AB1. 位移. 位移. 位移. <C0>. B. Convert 2. <C2> 還原模組 2m-1. mod F(x) C 圖5 所提出的乘法器架構. 128. <C1>.

(11) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 𝑚. C0. C0 1 + 𝑥 2. C1. C1 𝑥 2 + 𝑥 𝑚. C2. C2 𝑥 2. 𝑚. C mod F(x). Cout. 𝑚. 圖6 還原模組處理單元 為了更清楚的了解,我們舉一個由 F(x)=x12+x3+1 產生的有限場來說明所提出的乘法 11. 11. i =0. i =0. 器。令 A = ∑ai x i 及 B = ∑bi x i 為有限場 GF(212)上的兩個元素,然而 GF(212)為 12×12 個位 元的乘法器,C 為元素 A、B 的乘積,其中 d=2,利用圖 4 的步驟 2,可獲得如下方程式: A=A0+A1x6 B=B0+B1x6 利用圖 4 的步驟 2 及步驟 4,可獲得 A0,A1 及 A0+1 如下: A0= A0,0+ A0,1 x2+A0,2x4=(a0+a1x)+ (a2+a3x) x2+ (a4+a5x) x4 A1= A1,0+ A1,1 x2+A1,2x4=(a6+a7x)+ (a8+a9x) x2+ (a10+a11x) x4 A0+1 =A0+1,0+A0+1,1 x2+A0+1,2x4=( A0,0+A1,0) +( A0,1+A1,1) x2+( A0,2+A1,2) x4 利用圖 4 的步驟 6-步驟 11,可獲得 C0,C1 及 C2 如下: C0:(A0,0 B0)+( A0,1 B0)x2+(A0,2 B0)x4 C1:(A1,0B1x6)+( A1,1x6B1x6)x2+(A1,2x6B1x6)x4 C2:[A0+1,0(B0+ B1 x6)]+[A0+1,1(B0+ B1 x6)] x2+[A0+1,2(B0+ B1 x6)] x4 由於這個例子,由 F(x)=x12+x3+1 所生成,所以利用圖 4 的步驟 13 將高於 x12 全部做 mod F(x)的動作,因此 x12=x3+1,x13=x4+ x 以此類推,進而獲得以下結果: c0=c0+c12+c21. c1=c1+c13+c22. c2=c2+c14. c3=c3+c12+c15+c21. c4=c4+c13+c16+c22. c5=c5+c14+c17. c6=c6+c15+c18. c7=c7+c16+c19. c8=c8+c17+c20. c9=c9+c18. c10=c10+c19. c11=c11+c20. 肆、效能分析及實驗結果 4.1 效能分析 在這一節,我們分析所提出的乘法器之硬體時間與空間複雜度。在第三章中,利用 多位元串列的架構結合 Karatsuba 乘法概念,提出了低複雜度的多位元乘法器。根據圖 5 所提出的多位元串列乘法器架構,時間以及空間複雜度分析如下,主要分為三個部份:. 129.

(12) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. (1) 評估運算點 第(1)步驟評估運算點的空間複雜度為 Convert 1 及 Convert 2 分別運算圖 4 的步驟 4 及步驟 5,Convert 1 的運算是將元素 A0 與 A1 相加,其中 0≤ j ≤d-1,而 Convert 2 的運算 是將元素 B0 與 B1 相加,然而元素 B0 與 B1 根據圖 4 的步驟 2 可知 B0=BL, B1=BH,從圖 m 4 的 input 可知 BL 與 BH 為兩個 位元的元素,故 Convert 1 及 Convert 2 時間以及空間複 2 雜度如下:  元件 Convert 1 需要 d 個 XOR 閘,以及一個 XOR 閘的延遲時間。 m  元件 Convert 2 需要 個 XOR 閘,以及一個 XOR 閘的延遲時間。 2. (2) 點對點的運算 第(2)步驟點對點的運算包含三個乘法器 AB0,AB1 及 AB0+1、數個 XOR 閘以及三個 儲存乘法器結果的暫存器<C0>,<C1>及< C2>,根據圖 4 所示,乘法器 AB0,AB1 及 AB0+1 為圖 4 的步驟 6-步驟 8,此三個乘法器分別運算 A0,jB0,A1,jB1 以及 A0+1,j B0+1,然而 B0, m B1 及 B0+1 為三筆 個位元的資料,A0,j,A1,j 以及 A0+1,j 為三筆 d 個位元的資料,故乘法 2 器 AB0,AB1 及 AB0+1 為三筆. m ×d 個位元的乘法器。根據圖 5 乘法器 AB0,AB1 及 AB0+1 2. 運算好的乘法結果將與暫存器<C0>,<C1>以及<C2>相加,並且將相加完畢的數值儲存回 暫存器<C0>,<C1>以及<C2>,其中每一個暫存的位元數為 m-1 個位元,所以三筆暫存器 一共需要 3(m-1)個位元的暫存器。根據圖 4 的步驟 9-步驟 11 這三個乘法器的運算結果, m m 需要 3( +d-1)個 XOR 閘,因此第(2)步驟點對點的運算共需要 3(d× )個 AND 閘,3(d× 2 2. m )個 XOR 閘,及 3(m-1)個位元的暫存器。所以點對點的運算時間以及空間複雜度如下: 2  三個核心乘法器需要 3(d×. m m )個 AND 閘、3( -1)(d-1)個 XOR 以及 d 個 AND 閘+(d-1) 2 2. 個 XOR 閘的延遲時間。  與核心乘法器相加的 XOR 閘需要 3(. m +d-1)個 XOR 閘以及 1 個 XOR 閘的延遲時間。 2.  暫存器<Ci>,其中 0≤ i ≤2,需要 3(m-1)個位元的暫存器以及 1 個暫存器的延遲時間。. 130.

(13) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. (3) 還原模組 最後還原模組需要將暫存器<Ci >的值相加,其中 0≤ i ≤2,而且暫存器<Ci>為(m-1) 個位元以及 mod 模組在 F(x)=xm+xn+1,要將大於 m 的位元做 mod 的動作所以還原模組 的運算時間以及空間複雜度如下:  還原模組需要 2(m-1)個 XOR 閘以及兩個 XOR 閘的延遲時間。  mod F(x)需要(2m+n-3)個 XOR 閘以及 3 個 XOR 閘的延遲時間。 根據以上所描述的我們可以統整出所提出的多位元串列乘法器各個元件的延遲時間 以及空間複雜度如下表 2: 表2 GF( )中提出的乘法器各個元件複雜度及延遲時間分析 元件 Convert 1、2 乘法器 ABi XOR. XOR m d+ 2 m 3( -1)(d-1) 2 m 3( +d-1) 2. AND. 暫存器. 延遲時間. 0. 0. 1 XOR. 0. d AND+(d-1) XOR. 0. 0. 1 XOR. 3(d×. m ) 2. <Ci> 還原模組. 0. 0. 3(m-1). 1 暫存器. 2(m-1). 0. 0. 2 XOR. mod F(x). (2m+n-3). 0. 0. 3 XOR. 合計. 3dm m + +d-5 4m+n+ 2 2. m 3(d× ) 2. 3(m-1). d AND (d+6) XOR 1 暫存器. 根據表 2 可得到所提出乘法器的空間複雜度,根據圖 4 所示主要的運算需要 k 次的 乘法迴圈才可完成運算,其中 k=⌈2 ⌉,在完成 k 次運算後,圖 4 的步驟 13 執行 mod 的動 作需要消耗 1 個脈波週期,故所提出的時間複雜度需要(⌈2 ⌉+1)個脈波週期而文獻[13]需 要⌈ ⌉+2 個脈波週期,文獻[15]需要 2. m 個脈波週期,文獻[19]需要⌈ ⌉個脈波週期,將所 d. 提出的多位元串列乘法器與文獻[13], [15]以及[19]相比,可得到如下表 3 之時間以及空間 複雜度比較,根據表 3,可獲得最佳的分割位元 d,由表 3 可知當分割位元 d 越大時,所 需的時間複雜度越少,但相對的空間複雜度將會越大;當分割位元 d 越小時,所需的空間 複雜度越少,但相對的空間複雜度將會越大。. 131.

(14) Special Issue – Security Issues on Intelligent Portable Devices. 表3 GF(. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. )中提出的乘法器與現有乘法器時間以及空間複雜度比較. 乘法器. Kumar [13]. Talapatra [15]. M.Morales[19]. AND 閘. (m+2)d+2(d-1). dm. dm. XOR 閘. md+3d-2+(m-1)(n-1). dm+2d. d(2m+1). 暫存器. (n+2)m+2d-(n+1). 4m+3d+1. 2m. 3m-3. 多工器. 0. 2m. 0. 0. 脈波周期. ⌈ ⌉+2. m d. ⌈ ⌉ 𝑑. 2. Proposed 3𝑑. 4m+n+. 3. ⌈. 2. 𝑑. + 2 +d-5. ⌉+1. 其中 m 為所選的乘法位元數,n 為 F(x)中間次方,d 為多位元串列選擇的大小. 4.1 實驗結果 第 4.1 節談到的是理論的空間以及時間複雜度分析,在本節我們將所提出的乘法器實際 模擬以及燒入至 FPGA 實驗平台,我們利用 Altera FPGA Quartus II 軟體環境來模擬所設 計的乘法器。實現於 Cyclone II EP2C70F896C8 之實驗平台上,下面的部份我們針對 36×36、 84×84、126×126 以及 204×204 個位元的乘法器去做分析以及實驗模擬,並且與文獻[13]、 [15]以及[19]比較其時間複雜度,空間複雜度以及時間×空間複雜度[13]及[20],獲得如下 表 4,表 5 以及表 6,由表 4 可看出文獻[13]、[15]以及[19]當乘法器為 36×36 個位元時與 乘法器為 204×204 個位元時所增加的邏輯閘數非常多,以文獻[13]為例,當乘法器為 36×36 個位元時需要 1811 個邏輯閘數,但乘法器為 204×204 個位元時需要到 51572 個邏 輯閘數,而所提出的乘法器乘法器為 36×36 個位元時需要 701 個邏輯閘數,但乘法器為 204×204 個位元時只需要 9449 個邏輯閘數,由表 5 可看出當乘法器為 126×126 個位元以 及 204×204 個位元時,所提出的乘法器所需要的時間複雜度比較高,但是與文獻[13]、[15] 以及[19]相比卻降低了比較多的時間複雜度。由表 6 可看出當乘法器的乘法位元越大時, 與其他文獻比較所降低的空間×時間複雜度百分比越大,當乘法器的乘法位元為 204 個位 元時,所提出的乘法器與文獻[13]相比降低了 91.3%與文獻[15]相比降低了 79.4%,以及 與文獻[19]相比降低了 70.4%。 表4 提出的乘法器與現有乘法器空間複雜度比較 乘法器 乘法器大小. Kumar [13] Gate count. Talapatra[15]. M.Morales [19]. Proposed. Reduced Gate count Reduced Gate count Reduced Gate count. 36 bits. 1811. 61.3%. 910. 23.0%. 1044. 32.9%. 701. 84 bits. 9607. 74.7%. 4138. 41.4%. 5460. 37.0%. 2426. 126 bits. 17850. 76.7%. 6154. 32.4%. 8211. 49.3%. 4161. 204 bits. 54572. 82.7%. 15267. 38.1%. 21250. 55.5%. 9449. Average reduced. 73.9%. 33.7%. 132. 43.7%. -.

(15) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 表5 提出的乘法器與現有乘法器時間複雜度比較 乘法器. Kumar [13]. 乘法器大小. Talapatra[15]. M.Morales [19]. Proposed. Time. Reduced. Time. Reduced. Time. Reduced. Time. 36 bits. 240 ns. 50%. 360 ns. 66.7%. 160 ns. 25.0%. 120 ns. 84 bits. 240 ns. 50%. 320 ns. 62.5%. 160 ns. 25.0%. 120 ns. 126 bits. 320 ns. 50%. 480 ns. 66.7%. 240 ns. 33.3%. 160 ns. 204 bits. 320 ns. 50%. 480 ns. 66.7%. 240 ns. 33.3%. 160 ns. Average reduced. 50%. 57.4%. 29.2%. -. 表6 提出的乘法器與現有乘法器空間×時間複雜度比較 乘法器. Kumar [13] Gate count ×. Talapatra[15] Gate count ×. Reduced. 乘法器大小. M.Morales [19] Gate count ×. Reduced. Time. Time. Proposed Gate count ×. Reduced Time. Time. 36 bits. 434640. 80.6%. 327600. 74.3%. 167040. 49.6%. 84120. 84 bits. 2305680. 87.4%. 1324160. 78.0%. 873600. 66.7%. 291120. 126 bits. 5712000. 88.3%. 2953920. 77.5%. 1970640. 66.2%. 665760. 204 bits. 17463040. 91.3%. 7328160. 79.4%. 5100000. 70.4%. 1511840. Average reduced. 86.9%. 77.3%. 63.2%. -. 將表 6 整理後,可獲得四種乘法器大小與文獻[13]、[15]及[19]之空間×時間複雜度比 較如圖 7 以及所降低的空間×時間複雜度百分比如圖 8,由圖 7 可知當乘法器越大時,所 增加的空間×時間複雜度就會越大,但是所提出的乘法器,當乘法器位元數增加時與其他 論文比較上升的幅度相對地比較小。由圖 8 可得知所提出的乘法器與其他文獻相比,當 乘法器的乘法位元越大時所降低的空間×時間複雜度百分比越大: 空間×時間複雜度. 33554432. 4194304. Kumar [13] Talapatra [15] M.Morales [19] Digit Karatsuba Proposed. 524288. 65536 36. 圖7. 84. 126. 乘法器大小. 204 (bits). 提出乘法器與現有論文空間×時間複雜度比較. 133.

(16) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. 空間×時間複雜度 降低之百分比(%). 100 90 80 70. Kumar [13]. 60. Talapatra [15]. 50. M.Morales [19]. 40 36. 圖8. 84. 126. 乘法器大小. 34 (bits). 所提出乘法器與現有論文空間×時間複雜度降低之百分比. 伍、結論 本文提出了低複雜度的乘法器在有限場 GF(2m)內。這種方法結合了多位元串列以及 Karatsuba 兩種方式的概念並擷取其優點,如果分割位元 d 的大小選的好,可以降低空間 複雜度,並且獲得時間與空間複雜度之間的平衡,當乘法器越大時,所節省的複雜度就 會隨之增加,非常適用於環境資源很小,但所需的資料量很大的環境,例如手機以及 smart card 等等,本篇論文實現於 Altera FPGA Quartus II 軟體環境當中,根據實驗結果統計, 分割位元的最佳值可使乘法器之時間×空間複雜度達到最低。本文提出四種不同乘法位 元數的乘法器,分別為 36×36,84×84,126×126 以及 204×204 個位元的乘法器,本文最 小的乘法器為 36×36 個位元,此乘法器與文獻[13]、[15]以及[19]相比分別降低了 80.6%, 74.3%以及 49.7%,而本文最大的乘法器例子為 204×204,此乘法器與文獻[13]、[15]以及 [19]相比分別降低了 91.3%,79.4%以及 70.4%,由實驗結果可證明,當乘法器相乘的位 元數越多的時候,所提出的乘法器將會節省越多的空間×時間複雜度。. 參考文獻 [1] V. S. Miller, “Use of elliptic curves in cryptography,” Lecture notes in computer, pp. 417-429, 1986. [2] N. Koblitz, “Elliptic curve cryptosystems,” Mathematics of Computation, vol. 48, No. 177, pp. 203-209, 1987. [3] C. Y. Lee, “Low-complexity bit-parallel systolic multipliers over GF(2m),” IEEE International Conference on Systems, vol. 2, pp. 1160-1165, Oct. 2006. 134.

(17) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. [4] C. Y. Lee, C. W. Chiou, J. M. Lin, and C. C. Hang, “Scalable and systolic Montgomery multiplier over GF(2m) generated by trinomials,” IET Circuits, Devices & System, vol.1, No. 6, pp. 477-484, Dec. 2007. [5] S. T. J. Fenn, M. Benaissa, and O. Taylor, “Dual basis systolic multipliers for GF(2m),” IEEE Computers and Digital Techniques, vol. 144, No. 1, pp. 43-46, Jan. 1997. [6] P. K. Meher, “On efficient implementation of accumulation in finite field over GF(2m) and its applications,” IEEE Trans. on Very Large Scale Integration (VLSI) Systems, vol. 17, No. 4, pp. 541-550, Apr. 2009. [7] C. Y. Lee and C. W. Chiou, “Scalable gaussian normal basis multipliers over GF(2m) using hankel matrix-Vector representation,” J. Signal Processing Systems, vol. 69, No 2 pp. 197-211, 2012. [8] H. Fan and M. A. Hasan, “A new approach to subquadratic space complexity parallel multipliers for extended binary fields,” IEEE Trans. on Computers, vol. 56, No. 2, pp. 224-233, Feb. 2007. [9] C. Y. Lee, E. H. Lu, and J. Y. Lee, “Bit-parallel systolic multipliers for GF(2m) fields defined by all-one and equally spaced polynomials,” IEEE Trans. on No. 5, pp. 385-393, May. 2001.. Computers, vol. 50,. [10] P. K. Meher, “Systolic and non-systolic scalable modular designs of finite field multipliers for reed-solomon codec,” IEEE Trans. on Very Large Scale Integr. (VLSI) Syst., vol. 17, No. 6, pp. 747-757, Jun. 2009. [11] J. Xie, P. K. Meher, and J. He, “Low-complexity multiplier for GF(2m) based on all-one polynomials,” IEEE Trans. on Very Large Scale Integr. (VLSI) Syst, No. 99, pp. 1-5, Jan. 2012. [12] G. N. Selimis, A. P. Fournaris, H. E. Michail, O. Koufopavlou, “Improved throughput bit-serial multiplier for GF(2m) fields,” Integration, in Proc. of the VLSI journal, vol. 42, pp. 217-226, 2009. [13] S. Kumar, T. Wollinger, and C. Paar, “Optimum digit serial GF(2m) multipliers for curve-based cryptography,” IEEE Trans. on Computers, vol. 55, No. 10, pp. 1306-1311, Oct. 2006. [14] A. Hariri and A. Reyhani-Masoleh, “Digit-serial structures for the shifted polynomial basis multiplication over binary extension fields,” Lecture Notes in Computer Science, vol. 5130, pp. 103-116, 2008. [15] S. Talapatra, H. Rahaman, and J. Mathew, “Low complexity digit serial systolic Montgomery multipliers for special class of GF(2m),” IEEE Trans. on Very Large Scale 135.

(18) Special Issue – Security Issues on Intelligent Portable Devices. Communications of the CCISA Vol. 20 No. 2 Apr. 2014. Integr. (VLSI) Syst., vol. 18, No. 5, pp. 487-852, 2010. [16] Karatsuba A., Ofman Yu. “Multiplication of multi-digit numbers on automata”, Soviet Physics Doklady, vol 7 pp. 595-596, Jan. 1963. [17]C. Grabbe, M. Bednara, J. Teich, J. von zur Gathen, and J. Shokrollahi,“FPGA designs of parallel high performance GF(2233) multipliers,” in Proc. Int. Symp. Circuits Syst. (ISCAS), pp. 268-271, May. 2003. [18]Zhengzheng Ge, Guochu Shou, Yihong Hu, and Zhigang Guo, “Design of Low Complexity GF(2m) multiplier based on karatsuba algorithm,” IEEE 13th International Conference on Communication Technology (ICCT), pp. 1018-1022, Sept. 2011. [19]M. Morales-Sandoval, C. Feregrino-Uribe, and P. Kitsos, “Bit-serial and digit-serial GF(2m) Montgomery multipliers using linear feedback shift registers,” in Proc. of Computers & Digital Techniques( IET) , pp.86-94, March 2011. [20] Pramod Kumar Meher, “Systolic and Non-Systolic Scalable Modular Designs of Finite Field Multipliers for Reed–Solomon Codec,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems , pp.747-757, June 2009. 李秋瑩於 1985 年獲得中原大學醫學工程學士學位,並且於 1994 年獲得中原大學電機工 程研究所碩士學位,接著就讀長庚大學繼續攻讀博士學位,並且於 2001 獲得長庚大學電 機工程研究所博士學位。他現在為龍華科技大學資訊網路工程系教授。他主要研究興趣 包括有限場,錯誤更正碼訊號處理以及數位傳輸系統的計算。他是 IEEE 的高級會員,並 且於 2001 年榮獲「中華民國斐陶斐榮譽學會」榮譽會員。 范家禎於 2001 年獲得龍華科技大學資訊網路工程系學士學位,並且於 2013 年獲得台北 科技大學電腦與通訊研究所碩士學歷,目前正在就讀交通大學資訊科學與工程研究所博 士學位。他的主要研究領域為有現場,錯誤控制碼以及訊號處理。 葉為勳目前正在就讀龍華科技大學資訊網路工程系學士學位。他的主要研究領域為有現 場,錯誤控制碼以及訊號處理。. 136.

(19)

參考文獻

相關文件

2 遊戲「夢幻空島」的設備需求如下,請調查一部電腦, 檢查電腦的規格是否符合此遊戲的最低需求。 最低配備需求: 需要 64 位元的處理器及作業系統 作業系統: Windows 7 以上的版本 處理器: Intel i5 或 AMD R5 系列 隨機存取記憶體:至少 8GB 儲存空間: 10GB 可用空間... Windows 7 以上的作業系統: