這學期修了資訊安全,因為覺得這些東西花了很多時間學習
不希望這學期過了之後就忘記了,實在很可惜
所以把一些整理與消化過後的筆記記錄下來

Security Service(x.800)

  1. Authentication(認證性):確認溝通雙方的身分
  2. Access Control(存取控制權):預防未經驗證的存取
  3. Avalibility(可用性):確保資料可用
  4. Data Ingrity(資料完整性):確認資料是由經認證的sender送出
  5. Data Confidentiality(資料機密):對未經驗證的公開資料進行加密
  6. Non-Repudiation(不可否認性)

加密的手段

  1. Substitution 替代
  2. Transposition 換位

替代(Substitution)

常見的替代(Substitution)加密法:

  1. Caesar Cipher:字母由向右三個字母替代

  2. Affine Cipher:字母由向左或向右n個字母替代

  3. Monoalphabetic Ciphers:單表加密(只對一個字母做加密)

  4. Playfair Cipher:
    (1) 加密:將Key準備成一個5X5的表格(去掉重複的),剩下未填滿的用剩下的英文字母填滿(I/J放一起)。接著將明文兩兩一組,未能湊齊用垃圾字元補齊。每一組的字母若在同一row,就用右邊的字母替代;在同一column就用下面的字母替代;若都不是則用對角線的字母替代。
    (2) 解密:與encode不同在於,每一組的字母若在同一row,就用上面的字母替代;在同一column就用左邊的字母替代;若都不是則用對角線的字母替代。

  5. 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. 找到之後按照同樣的步驟對照回去

  6. Polyalphabetic Ciphers:多表加密(對多個字母一次做加密)

  7. One-Time Pad 一次性密碼

換位(Transposition)

常見的換位(Transposition)加密法:

  1. Rail Fence Cipher:明文根據奇偶順序放。如meet at變成metteea
  2. Row Transposition Cipher:
  3. Block Transposition Cipher:

DES加密

DES加密法流程圖:

詳解

一、取得subkeys(共16組)

  1. 把key轉成二進位並且對照PC-1,會得到56 bits
  2. 切割成左右各28 bits,各自做左旋
  3. 對照PC-2獲得第一組48 bits的subkeys
    將2、3步驟重複,總共獲得16組subkey

二、加密

  1. 將明文轉為二進位,並且對照IP table
  2. 切割為左右各32 bits,左邊固定不動、右邊進入F-box
  3. 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)的特性:

  1. 封閉性(Closure): a, b in S, then a.b in S
  2. 結合律(Associative): (a.b).c = a.(b.c)
  3. 單位元素(Identity element): e.a = a.e = a
  4. 反元素(Inverse element): a.a^-1 = e

另外如果還符合

  1. 交換性(Communitive): a.b = b.a 稱為阿貝爾群(abelian group)