課堂筆記 資訊安全(I)
這學期修了資訊安全,因為覺得這些東西花了很多時間學習
不希望這學期過了之後就忘記了,實在很可惜
所以把一些整理與消化過後的筆記記錄下來
Security Service(x.800)
- Authentication(認證性):確認溝通雙方的身分
- Access Control(存取控制權):預防未經驗證的存取
- Avalibility(可用性):確保資料可用
- Data Ingrity(資料完整性):確認資料是由經認證的sender送出
- Data Confidentiality(資料機密):對未經驗證的公開資料進行加密
- Non-Repudiation(不可否認性)
加密的手段
- Substitution 替代
- Transposition 換位
替代(Substitution)
常見的替代(Substitution)加密法:
Caesar Cipher:字母由向右三個字母替代
Affine Cipher:字母由向左或向右n個字母替代
Monoalphabetic Ciphers:單表加密(只對一個字母做加密)
Playfair Cipher:
(1) 加密:將Key準備成一個5X5的表格(去掉重複的),剩下未填滿的用剩下的英文字母填滿(I/J放一起)。接著將明文兩兩一組,未能湊齊用垃圾字元補齊。每一組的字母若在同一row,就用右邊的字母替代;在同一column就用下面的字母替代;若都不是則用對角線的字母替代。
(2) 解密:與encode不同在於,每一組的字母若在同一row,就用上面的字母替代;在同一column就用左邊的字母替代;若都不是則用對角線的字母替代。Hill Ciphe:
(1)加密:
a. 先建立字典搜索表,A對照0、B對照1….etc
b. 將明文兩兩一組(因為Key是一組2X2的矩陣),組成一個2X1的矩陣,如meet me變成
c. 將上一步驟獲得的數個2X1矩陣對應字典換成數字
d. 承上一步驟,將得到的數個2X1矩陣個別與KEY進行矩陣相乘後除以26取餘數
f. 接著對照回字典,得到加密後的文字
(2)解密:
a. 先找到inverse Key
舉例:
b. 找到之後按照同樣的步驟對照回去Polyalphabetic Ciphers:多表加密(對多個字母一次做加密)
One-Time Pad 一次性密碼
換位(Transposition)
常見的換位(Transposition)加密法:
- Rail Fence Cipher:明文根據奇偶順序放。如meet at變成metteea
- Row Transposition Cipher:
- Block Transposition Cipher:
DES加密
DES加密法流程圖:
詳解
一、取得subkeys(共16組)
- 把key轉成二進位並且對照PC-1,會得到56 bits
- 切割成左右各28 bits,各自做左旋
- 對照PC-2獲得第一組48 bits的subkeys
將2、3步驟重複,總共獲得16組subkey
二、加密
- 將明文轉為二進位,並且對照IP table
- 切割為左右各32 bits,左邊固定不動、右邊進入F-box
- F-box
(1) 右半部分放入E-table(48 bits),將得到結果與subkey做XOR
(2) 6bits一組,分為8組
(3) i = 每一組的首尾2bits, j = 中間的bits。例100010, i = 10 = 2, j = 0001 = 1
(4) 對照S-table(每一組有該對應table),並將結果轉為二進位
(5) 將8組4 bits的數字串接在一起,與固定的左半部分做XOR
(6) 得到結果在下一輪成為固定的左半部分(上一輪的左半部分下一輪進入F-box)
群
群(Group)的特性:
- 封閉性(Closure): a, b in S, then a.b in S
- 結合律(Associative): (a.b).c = a.(b.c)
- 單位元素(Identity element): e.a = a.e = a
- 反元素(Inverse element): a.a^-1 = e
另外如果還符合
- 交換性(Communitive): a.b = b.a 稱為阿貝爾群(abelian group)
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
GitalkUtterances