一般而言,處理器利用下列那一個元件,記錄下一個要抓取的指令的記憶體位址?
A. 指令暫存器(instruction register)
B. 程式計數器(program counter)
C. 堆疊指位器(stack pointer)
D. 指令解碼器(instruction decoder)
參考解答
- 答案:B. 程式計數器(program counter)
解析:程式計數器(program counter, PC)又稱指令指標,用來存放下一個將要抓取之指令的記憶體位址;處理器每完成一次取指,PC 便自動遞增或依跳躍指令更新,以維持指令執行的順序。A 指令暫存器(instruction register, IR)存放的是「已經抓取進來」的指令內容本身,供後續解碼使用;C 堆疊指位器(stack pointer, SP)指向堆疊頂端,用於函式呼叫與返回時存取資料;D 指令解碼器(instruction decoder)負責解讀 opcode 以產生控制訊號,並不保存位址。故正確答案為 B。
為提高運算效能,超純量(superscalar)處理器通常採用亂序(out-of-order)及預測式執行(speculativeexecution)的方式執行指令。然而,當指令發生例外(exception)狀況或遇到中斷(interrupt)時,可能必須刪除某些已預先執行指令的結果,使處理器的狀態倒回某循序指令結束時的狀態,做到preciseinterrupt。下列超純量處理器中的微架構機制,何者是用於實現precise interrupt 的必要機制?
A. instruction dispatcher
B. reservation window
C. reorder buffer
D. branch target buffer
參考解答
解析:精確中斷(precise interrupt)要求例外或中斷發生時,處理器能回到「某一條循序指令結束時」的一致狀態,且該指令之前的指令全部完成、之後的指令全部未生效。亂序與預測執行會讓指令完成順序與程式順序不同,因此需要 reorder buffer(重排緩衝區):指令依程式順序進入 ROB,可亂序執行,但結果暫存於 ROB,等到該指令成為最舊且未被推測錯誤的指令時才依序 commit 寫回暫存器或記憶體。遇到例外時,只要清空 ROB 中尚未 commit 的年輕指令,即可精確回復狀態。A 的 dispatcher 負責派送指令、B 的 reservation window 用於等待運算元與選擇可執行指令、D 的 branch target buffer 只做分支目標預測,三者都不負責維持循序 commit 與狀態回復。
假設某一塊記憶體的大小為32MB(Mega Byte),該記憶體的每個字組(word)大小為8-Byte,則CPU 至少要有多少條位址線,才足夠定址該記憶體的一個字組?
A. 19
B. 20
C. 22
D. 25
參考解答
解析:記憶體容量 32MB = 32×2^20 位元組 = 2^25 位元組;每個字組 8 位元組 = 2^3 位元組,故字組數 = 2^25 / 2^3 = 2^22 個。定址 2^22 個字組需要 22 條位址線(可產生 2^22 種位址組合),答案 C。若以位元組為單位定址才需 25 條,但題目要求定址「一個字組」,故以字組數計算位址線數。
十進位數183 以二進位表示時,其數字為下列何者?
A. 10100111
B. 10101111
C. 10110111
D. 10111111
參考解答
解析:將十進位183轉換為二進位:183 ÷ 2 餘1、91 ÷ 2 餘1、45 ÷ 2 餘1、22 ÷ 2 餘0、11 ÷ 2 餘1、5 ÷ 2 餘1、2 ÷ 2 餘0、1 ÷ 2 餘1,由下而上讀取得10110111。亦可分解為128+32+16+4+2+1,對應二進位10110111,故答案C正確。
電腦CPU 中的ALU 單元,下列何者為主要功能?
A. 資料暫存
B. 執行運算
C. 執行控制作業
D. 執行中斷程式
參考解答
解析:中央處理器(CPU)中的算術邏輯單元(ALU, Arithmetic Logic Unit)主要負責執行各種算術運算(如加、減)與邏輯運算(如AND、OR、NOT、比較等)。資料暫存多由暫存器(Register)負責,執行控制作業由控制單元(CU)負責,中斷程式則由中斷控制相關機制處理。
假設你只有1-to-4 解多工器(demultiplexer)的元件可以使用,則總共需要幾個1-to-4 解多工器元件,才能組合成一個1-to-64 解多工器?
A. 12
B. 16
C. 20
D. 21
參考解答
解析:建構 1-to-64 解多工器需兩階段:第一層用 1 個 1-to-4 解多工器將輸入分成 4 路;第二層每路再接 1 個 1-to-4 解多工器展開為 16 路,共需 4 個;第三層每路再接 1 個 1-to-4 解多工器展開為 64 路,共需 16 個。總計 1+4+16=21 個。或用公式 (輸出數-1)/(選擇數-1)=(64-1)/(4-1)=21。
將下列三進位數值(210010)3 轉換為九進位,何者正確?
A. (602)9
B. (513)9
C. (703)9
D. (233)9
參考解答
解析:三進位轉九進位可利用 9=3²,由小數點起每兩位三進位數字併為一位九進位數字。將 (210010)₃ 自右分組為 21、00、10,分別換算:(21)₃=2×3+1=7,(00)₃=0,(10)₃=1×3+0=3,故得 (703)₉。驗算:2×3⁵+1×3⁴+0+0+1×3+0=486+81+3=570,而 570=7×81+0×9+3,結果一致。故選 C。
若作業系統沒有做好程序排程(process scheduling),使得某些程序P1、P2、P3 不斷地獲得使用CPU的機會,但某一程序P4 卻長時間無法使用CPU,這種現象稱為:
A. 捱餓(starvation)
B. 死結(deadlock)
C. 循環等待(circular waiting)
D. 資源佔據(resource holding)
參考解答
解析:捱餓指低優先序程序長期無法獲得 CPU 資源,因高優先序程序持續搶佔導致。死結需四條件同時成立(互斥、占有並等待、不可搶佔、循環等待),題目僅敘述 P4 無法取得 CPU,非死結。循環等待是死結條件之一,資源佔據非標準術語。故選 A。
下列何者不是使用虛擬記憶體的主要好處?
A. 程式不再受到實際記憶體之可用空間的限制
B. 加快記憶體存取的速度
C. 同一時間內可以執行更多的程式
D. 可縮短程式開始執行的時間
參考解答
解析:虛擬記憶體主要好處:1. 程式不受實體記憶體大小限制(A)。2. 允許更多程式同時駐留提高多道程式度(C)。3. 只載入所需頁面縮短啟動時間(D)。虛擬記憶體因分頁錯誤需磁碟 I/O,反而可能降低存取速度,非加快速度。故 B 非好處。
假設某一張彩色影像的解析度為800 × 600,每個像素的顏色採用「索引顏色(indexed color)」(也可稱為「調色盤顏色palette color」)來編碼,假設使用的調色盤顏色設定為32 色,則編碼此張彩色影像需要多少位元?
A. 2400000 bits
B. 7200000 bits
C. 15360000 bits
D. 46080000 bits
參考解答
解析:索引顏色(indexed color)以調色盤索引值表示每個像素,調色盤有32色時每個索引需log2(32)=5位元。影像共有800×600=480,000個像素,總位元數為480,000×5=2,400,000 bits。選項B、C、D分別對應每像素8、32、96位元等不同設定,與32色索引編碼不符。
下列何種記憶體的處理速度最快?
A. 隨機記憶體(RAM)
B. 唯讀記憶體(ROM)
C. 快取記憶體(CACHE)
D. 暫存器(REGISTER)
參考解答
解析:CPU暫存器(register)位於處理器內部,存取延遲最低,速度最快;快取記憶體(cache)次之,隨機記憶體(RAM)更慢,唯讀記憶體(ROM)通常最慢。故處理速度最快的是暫存器。
某個關聯式資料庫中,原本已有二個關聯(relation)表A 和B,若想產生一個新的關聯表C,包含同時存在於關聯表A 和關聯表B 中的元組(tuples),則該使用下列那一個關聯運算?
A. select
B. intersection
C. project
D. union
參考解答
解析:關聯代數中,intersection(交集)運算回傳同時存在於兩個關聯中的元組,符合題目「同時存在於A與B」的需求。select是選取列、project是選取欄、union是聯集(包含任一表中出現的元組),都不符合交集語意。
下列何者是目前常見的資料庫管理軟體?
A. Word
B. PowerPoint
C. MySQL
D. Clubhouse
參考解答
解析:MySQL是常見的關聯式資料庫管理系統(RDBMS)。Word是文書處理軟體、PowerPoint是簡報軟體、Clubhouse是社群語音平台,皆非資料庫管理軟體。
下列為C 語言中宣告的一個陣列a[10],何者為此矩陣第一個元素的記憶體位置?
A. a[0]
B. &a
C. a
D. a[1]
參考解答
解析:在C語言中,陣列名稱a在大多數運算式中會退化為指向第一個元素的指標,其值等同&a[0]的位址,因此a代表第一個元素的記憶體位置。a[0]是元素值而非位址,&a是整個陣列的位址,a[1]是第二個元素。
若在一個堆疊(Stack)中,依序推入(Push)5, 8, 20, 1, -5 和20 等數字,接著執行兩次的彈出(Pop),則堆疊頂端的元素,應為何者?
A. 20
B. -5
C. 1
D. 8
參考解答
解析:堆疊遵循後進先出(LIFO)。依序推入 5、8、20、1、-5、20 後,堆疊由底至頂為 5、8、20、1、-5、20,頂端為 20。第一次彈出移除 20,第二次彈出移除 -5,此時頂端元素為 1。故選 C;A 為尚未彈出時的頂端,B 為第一次彈出後的頂端,D 則需再彈出三次才會到達。
下圖中從節點a 至節點h 的最短路徑,其長度為何?
A. 11
B. 12
C. 13
D. 14
參考解答
有一棵二元樹之前序(Prefix)走訪結果為B、A、D、C、E、H、F、G,若此二元樹根節點之右子樹的樹根為E,則此二元樹根節點之左子樹的節點個數為何?
A. 1
B. 2
C. 3
D. 4
參考解答
解析:前序走訪的順序為「根→左子樹→右子樹」,故序列首字 B 即根節點。已知右子樹的根為 E,則介於根 B 與 E 之間、尚未進入右子樹的節點 A、D、C 全屬左子樹,其個數為 3。故選 C;A、B、D 均與序列中 A、D、C 三個節點的事實不符。
下列何種樹狀資料結構,不保證為平衡樹(Balanced tree)?
A. 完整二元樹(Complete binary tree)
B. 完滿二元樹(Full binary tree)
C. 二元搜尋樹(Binary search tree)
D. 最小堆積(Min heap)
參考解答
- 答案:C. 二元搜尋樹(Binary search tree)
解析:二元搜尋樹(BST)只保證左子節點值小於根、右子節點值大於根,插入順序可能導致退化為鏈狀結構,不保證平衡。完整二元樹、完滿二元樹與最小堆積在結構上具有特定平衡性質。
若以廣度優先搜尋(Breadth-first Search)走訪下圖(從節點1 開始),各節點的走訪順序應為何?(若同時有多個選擇,請優先挑選數字較大的節點)
A. 1 2 3 4 5 6
B. 1 4 3 2 6 5
C. 1 4 6 5 2 3
D. 1 4 6 5 3 2
參考解答
下列C 函式為實作何種排序法?void sort(long list[], long n){long c, d, t;for (c = 0 ; c < ( n - 1 ); c++){for (d = 0 ; d < n - c - 1; d++){if (list[d] > list[d+1]){t = list[d];list[d] = list[d+1];list[d+1] = t;}}}}
A. 合併排序(Merge sort)
B. 快速排序(Quick sort)
C. 堆積排序(Heap sort)
D. 氣泡排序(Bubble sort)
參考解答
解析:此函式使用雙層迴圈:外層 c 控制已排序完成的回合數,內層 d 從頭兩兩比較相鄰元素 list[d] 與 list[d+1],若前者較大就交換。每跑完一輪,最大的元素會像氣泡一樣「浮」到陣列尾端,因此內層上界為 n-c-1,避免重複比較已就位的最後 c 個元素。這正是氣泡排序(Bubble sort)的典型特徵,時間複雜度為 O(n²)。合併排序是遞迴分割後合併;快速排序以基準值(pivot)分割;堆積排序則需建立堆積並反覆取出根節點,程式碼中都沒有對應的遞迴、分割或堆積結構。
關於利用循序搜尋法(Sequential Search)尋找串列資料的應用時機,下列敘述何者正確?
A. 被搜尋的串列元素已經排序好
B. 被搜尋的串列含有大量的元素
C. 經常需要頻繁搜尋串列的元素
D. 串列的元素未排序且只需少量次數的搜尋
參考解答
解析:循序搜尋(Sequential Search,又稱線性搜尋)是從串列第一個元素開始逐一比對,直到找到目標或走訪完畢,並不要求資料事先排序,這是它相對二分搜尋的最大優勢。其缺點是平均需比對約 n/2 個元素,時間複雜度 O(n),資料量大或搜尋次數頻繁時效率不佳。因此適用時機為:元素未排序、資料量不大、或只需少量搜尋。若資料已排序(A)應改用二分搜尋;大量元素(B)或頻繁搜尋(C)則適合先排序後用二分搜尋,或建立雜湊表以達到接近 O(1) 的查詢。
以C 語言撰寫的程式片段如下,執行的結果為何?int a=8;a=a>>2;printf("a=%d\n", a);
A. a=8
B. a=6
C. a=4
D. a=2
參考解答
解析:運算子 >> 是右移(right shift)。a 初值為 8,其二進位為 0000 1000;右移 2 位等同將數值除以 2 的 2 次方(整數除法),即 8 / 4 = 2,二進位變成 0000 0010,所以輸出 a=2。對非負整數而言,右移 n 位就是除以 2ⁿ 並捨去餘數;若為有號負數,部分實作採算術右移會補入符號位。本題 a 為正數,結果明確為 2。選項 A 是未移位、B 是把 >> 誤當成某種減法、C 只移了一位,皆與右移兩位的結果不符。
下列C 指令的輸出為何?short s = 32768/2;printf("%hd %hd", s<<1, s<<2);
A. -32768 0
B. 32768 65536
C. 65536 32768
D. 32768 03
參考解答
解析:32768/2 為 16384,可正常存入 short。但 short 為 16 位元有號整數,範圍是 -32768~32767。運算 s<<1 時 s 會先提升為 int,得到 32768(0x00008000),printf 以 %hd 只取低 16 位元,即 0x8000,依二補數解讀為 -32768。s<<2 得到 65536(0x00010000),低 16 位元全為 0,故輸出 0。因此結果為 -32768 0。選項 B、C 忽略了 short 的 16 位元截斷與溢位;D 的數值組合不成立。
在程式語言的發展過程中,最早被設計出來的高階程式語言福傳(FORTRAN),隸屬於下列那一種類別?
A. 命令式(imperative)程式語言
B. 物件導向式(object-oriented)程式語言
C. 函數式(functional)程式語言
D. 邏輯式(logic)程式語言
參考解答
- 答案:A. 命令式(imperative)程式語言
解析:FORTRAN(Formula Translation)於 1950 年代由 IBM 團隊設計,是最早被廣泛使用的高階程式語言,主要針對科學與工程數值計算。它的程式由一連串指令敘述組成,透過指定、迴圈、條件判斷逐步改變變數狀態,屬於命令式(imperative,或稱程序式 procedural)語言,與 C、Pascal 同類。物件導向語言以類別、封裝、繼承、多型為核心,如 Smalltalk、C++、Java;函數式語言以函數組合與不可變資料為核心,如 Lisp、Haskell;邏輯式語言以事實與規則推導為核心,如 Prolog。FORTRAN 不具備這些典範特徵。
執行以下Python 程式並輸入「65」,下列何者為程式的輸出?score = int(input())if (score >= 90):print("A")elif (score >= 80):print("B")elif (score >= 60):print("C")else:print("F")
A. A
B. B
C. C
D. F
參考解答
解析:input() 讀入字串「65」,int() 將其轉為整數 65。接著依序判斷:score >= 90 不成立(65 < 90),跳過印出 A;score >= 80 也不成立,跳過 B;score >= 60 成立(65 ≥ 60),於是印出 C。由於 elif 串接的特性,一旦某一條件成立便執行其區塊並結束整個判斷,不再檢查後續的 else,因此不會印出 F。若輸入為 90 以上會印 A、80~89 印 B、60~79 印 C、60 以下才印 F。本題 65 落在 60~79 區間,輸出為 C。
考慮下列C 語言程式的宣告union allType {char character;int integer;float real;double doubleNum;};如果sizeof(char) 是1, sizeof(int) 是4, sizeof(float) 是4, sizeof(double) 是8, sizeof(allType) 是多少?
A. 8
B. 16
C. 17
D. 20
參考解答
解析:union(聯合型別)的所有成員共用同一塊記憶體,同一時間只能存放其中一個成員的值,因此其大小並非各成員大小相加,而是取「最大成員的大小」,再依對齊規則調整。四個成員大小分別為 char 1、int 4、float 4、double 8,最大者為 double 的 8 位元組;聯合的對齊需求為各成員中最嚴格者,即 double 的 8 位元組對齊,8 本身已是 8 的倍數,故 sizeof(allType) 為 8。選項 B 的 16、C 的 17、D 的 20 都把 union 誤當成 struct 累加或加上額外填充,與共用記憶體的特性不符。
執行下列C++ 程式碼後,螢幕印出的數字為何?int f(int x){if(x%2==0) return 2*x;return x+1;}int main( ) {cout<< f(f(f(2)+f(3))) <<endl;return 0;}
A. 21
B. 24
C. 27
D. 32
參考解答
解析:函數 f(x) 規則:x 為偶數回傳 2*x,否則回傳 x+1。先算 f(2)=2*2=4、f(3)=3+1=4,故 f(2)+f(3)=8。接著 f(8)=2*8=16(8 為偶數),再 f(16)=2*16=32。因此 f(f(f(2)+f(3)))=f(f(8))=f(16)=32,對應選項 D。本題關鍵在由內向外層層代換,並注意只有偶數才乘 2,奇數則加 1。
執行下列C++ 程式碼後,螢幕印出的數字為何?int f(int m){static int n=0;n++;return (m+n);}int main( ) {cout << f(f(f(3))) << endl;return 0;}
A. 7
B. 8
C. 9
D. 10
參考解答
解析:函數 f(m) 內含 static 變數 n,初值 0,每次呼叫先 n++ 再回傳 m+n。第一次 f(3):n 由 0 變 1,回傳 3+1=4;第二次 f(4):n 由 1 變 2,回傳 4+2=6;第三次 f(6):n 由 2 變 3,回傳 6+3=9。故 f(f(f(3)))=9,選項 C 正確。重點在 static 區域變數只初始化一次,其值跨函數呼叫持續累加到下一次。
C 函數bar()的執行,產生下列何輸出結果?void bar(void) {int i, j;for ( i = 0 ; i < 5 ; i++ ) {for ( j = 0 ; j < i+1 ; j ++) printf("*");printf(" ");}}
A. ***** ***** ***** ***** *****
B. ***** **** *** ** *
C. * ** *** **** *****
D. * ** *** ** *
參考解答
- 答案:C. * ** *** **** *****
解析:外層 i 由 0 到 4,內層 j 由 0 到 i 印 '*',每輪結束再印一個空格。因此 i=0 印 1 個、i=1 印 2 個、i=2 印 3 個、i=3 印 4 個、i=4 印 5 個星號,呈現由 1 遞增至 5 的直角三角形。選項 C「* ** *** **** *****」即對應 1、2、3、4、5 顆星(以空格分隔),故選 C。
給定以下類別定義:class A{public:f() {cout << "$
quot;; }A() {cout << ":::" ;}A(int a) {cout << "***" ;}private:};若在main()中執行以下指令,則將產生的輸出為何?A *p=new A;A v(1);v.f();p->f();
A. $$$
B. :::***$$$
C. ***$$
D. :::***$$
參考解答
解析:A *p=new A 呼叫預設建構子 A() 印出「:::」;A v(1) 呼叫帶參建構子 A(int) 印出「***」;v.f() 與 p->f() 各呼叫成員函式 f() 印出「$$」,共兩次。輸出依序為「:::」+「***」+「$$」+「$$」=「:::***$$$」,對應選項 B。注意 new A 無引數走預設建構子,v(1) 走帶參建構子。
執行下列C++ 程式碼後,螢幕印出的數字為何?int main( ) {int A[3][4]={2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24};int *p1=A[1];int *p2;p2=p1+4;cout<< *p2 <<endl;return 0;}
A. 14
B. 16
C. 18
D. 20
參考解答
解析:二維陣列 A[3][4] 依序存入 2,4,6,8,10,12,14,16,18,20,22,24,第二列 A[1] 為 10,12,14,16。p1=A[1] 指向元素 10,p2=p1+4 以 int 指標前進 4 個元素;因 C++ 陣列在記憶體連續存放,p1+4 落在第三列第一個元素 18。故 *p2=18,選項 C 正確。指標算術以元素大小(int=4 位元組)為跳躍單位。
關於乙太網路(Ethernet)的敘述,下列何者錯誤?
A. 以MAC 位址來彼此傳遞訊息
B. 乙太網路可以架在傳輸層上
C. 為區域網路的一種
D. 以引導式媒介傳輸訊息
參考解答
解析:乙太網路是區域網路(LAN)的一種,使用 MAC 位址在節點間傳遞訊息,並以引導式媒介(如雙絞線、光纖)傳輸,故選項 A、C、D 均正確。乙太網路主要運作於 OSI 的實體層與資料連結層,並非架設在傳輸層之上,因此選項 B 敘述錯誤,為本題答案。傳輸層是更高階、由 TCP/UDP 所在的層級。
網路通訊設備交換器(Switch)是屬於OSI 網路協定第幾層?
A. 實體層
B. 資料連結層
C. 網路層
D. 傳輸層
參考解答
解析:交換器(Switch)依據 MAC 位址學習與轉發訊框,運作於 OSI 模型第二層「資料連結層」(Data Link Layer),能分割碰撞域、提升區域網路效率。集線器(Hub)屬實體層,路由器(Router)屬網路層,橋接器亦屬資料連結層,故選項 B 正確。
有關光纖通訊(Fiber-optic communication),下列何者可為其軸心材質及傳輸原理?
A. 玻璃纖維、光折射
B. 玻璃纖維、光全反射
C. 矽、光折射
D. 矽、光全反射
參考解答
解析:光纖通訊多以高純度玻璃(石英)纖維作為傳輸介質。其傳輸原理是利用光在纖芯與包層的界面上,當入射角大於臨界角時產生光全反射,讓光訊號不斷沿纖維軸向反射前進,藉此達成長距離、低損耗的傳輸。光折射雖會發生於界面,但並非使光沿軸心持續傳播的主要機制,因此B正確。
對於IP 位址(IPv4)的敘述,下列何者錯誤?
A. 主機位址全為1 代表廣播
B. Class A 的IP 為127 開頭(127.x.y.z)者,其為Loopback(本機回送)的位址
C. IP 位址168.92.3.190 表示為Class C 的IP 群組
D. Class A, Class B, Class C 為三個不同等級的IP 群組,其中Class C 代表小型網路,其每個網路位址中的主機位址數量較Class A 及Class B 少
參考解答
- 答案:C. IP 位址168.92.3.190 表示為Class C 的IP 群組
解析:IPv4 的Class C 範圍為192.0.0.0~223.255.255.255,而IP位址168.92.3.190的第一個八位元為168,落在Class B(128~191)範圍,故並非Class C 群組。A:主機位址全為1在該網段代表有限廣播。B:127.0.0.0/8皆屬本機回送(Loopback)。D:Class C的網路數多但每個網路可用主機數遠少於Class A、B,符合小型網路的特性。
有關OSI 模型中傳輸層(Transport Layer)的協定,下列何者正確?
A. TCP 的協定具有偵測及處理壅塞(Congestion)的設計
B. UDP 協定透過三方交握(Three-way Handshaking)的方式確保連線
C. 傳輸層中的TCP 與UDP 皆能提供可靠(Reliability)傳輸,當發現有錯誤發生時,會進行重新傳送
D. FTP、SSH、DNS、PING、HTTP 等協定皆採用TCP 傳輸模式
參考解答
- 答案:A. TCP 的協定具有偵測及處理壅塞(Congestion)的設計
解析:TCP 屬於可靠的傳輸層協定,具備擁塞控制(Congestion Control)機制,會依據網路壅塞狀況調整傳送速率,以避免過度擁塞。B:UDP為非連接式,並無三方交握。C:僅TCP提供可靠傳輸,UDP不保證可靠性。D:PING使用ICMP,並非傳輸層的TCP或UDP;DNS雖多用UDP,但在特定情況(如區域傳送)也會使用TCP,並非全部採用TCP。
有關RSA 加密系統的敘述,下列何者錯誤?
A. 為一種公開金鑰加密系統(Public Key Cryptosystem)
B. 主要基於大數的因數分解(Factorization)的數學難題所建構的加密系統
C. 發明者為Diffie 及Hellman 兩人,為一種金鑰交換(Key Exchange)的演算法
D. 為了防止被破解,其公開金鑰長度需要很長,目前要在2048 位元以上
參考解答
- 答案:C. 發明者為Diffie 及Hellman 兩人,為一種金鑰交換(Key Exchange)的演算法
解析:RSA是由Ron Rivest、Adi Shamir、Leonard Adleman三人於1977年提出的公開金鑰加密系統,並非由Diffie及Hellman發明。Diffie–Hellman為金鑰交換演算法。RSA的安全性主要建立在大數質因數分解的計算困難度上,現今實務上多建議採用2048位元以上的金鑰長度,以因應運算能力的提升。
有關UDP(User Datagram Protocol)的敘述,下列何者錯誤?
A. UDP 是屬於傳輸層(Transport layer)的協定
B. UDP 採用多工(Multiplexing)與解多工(Demultiplexing)方式
C. UDP 為非連接式協定(Connectionless protocol)
D. UDP 的缺點是較複雜且速度慢
參考解答
解析:UDP屬於傳輸層的非連接式協定,設計極為簡單,僅提供最基本的傳輸功能,不具備連線建立、流量控制或可靠重傳等機制,因此傳輸速度較快且標頭開銷也較小。其「缺點」是缺乏可靠性,而非較複雜且速度慢。UDP亦支援多工與解多工的運作方式。
垃圾信件主要因為下列何種協定,很容易捏造不實身分來濫發電子郵件?
A. SMTP
B. SNMP
C. DNS
D. IP
參考解答
解析:簡單郵件傳輸協定(SMTP)最初設計並未強制要求發信端進行嚴格的身分驗證,寄件者位址(From)容易被偽造,這也是早期大量垃圾信件(Spam)得以濫發的主因之一。SNMP為網路管理協定,DNS為網域名稱解析,IP為網際網路層協定,皆非主要導致SMTP寄件身分易偽造的原因。