---
# System prepended metadata

title: 第六次社課-密碼學
tags: ['1102']

---

###### tags: `1102`

:::success
社課簽到:
B094020021 戴辰昊
B094020037 黃子耘
B093012033 王勤
B093040044 蔡明軒
B093040016 高聖傑
B073021021 林靖庭
B103040012 謝承翰 
B102040045 曾新惟
B103012014 吳光燁

:::



第六次社課-密碼學 
===
講師 ：范俊逸 教授




### 加密技術
- 對稱式
    - 加解密所用的key相同
    - 速度較快，在處理大量資料時被廣泛使用
    - 沒有辦法確認是誰加解密的(所有知道key的人)，所以無法實現數位簽章，無法達到不可否認性
    - e.g. AES
- 非對稱式
    - 加解密所用的key不同，加密使用公鑰，解密則使用私鑰
    - e.g. RSA,Elliptic Curve

```
非對稱式加密的概念可以用喇叭鎖來解釋，
加密就像是把門上的按鈕按下去就可以鎖起來(公鑰)
解密像是用特定的一把鑰匙打開(私鑰)
```

### 對稱式加密
- 區塊加密
    - 將明文切成一個一個區塊後加密
- 串流加密
    - 因為串流(語音、視訊等)，如果等到湊滿區塊的bit數量後才進行加密，可能會造成卡頓，所以是一個一個bit加密

### AES
- 每個區塊是一個方陣
- 一開始要先把明文做一些處理，不直接用明文加密
    - 可能是把特定的字元替換掉、或是行列互換，重複做好幾個回合
    - 好的加密方法，要使雪崩效應出現，就算兩個明文開始只差一個bit，在經過好幾個回合後後，使兩個明文的結果幾乎完全不同

### 非對稱式加密
- 每個人只要有一把公鑰及一把私鑰，就可以互相進行加密通訊
    - 拿對象的公鑰加密訊息後，對方就可以在接收訊息後用自己的私鑰解密
- 有不可否認性，所以也可以做成數位簽章
- 可以用非對稱式加密傳輸對稱式加密的金鑰(信封特性)

### RSA
- 基於大數的因數分解
- 數學的部分就麻煩大家自己惡補了XD

```
key一定要使用特定的亂數產生器或是hash產生
```

### 雜湊加密
-  把不定長度的訊息經過一個雜湊函數後產生一個固定長度的雜湊碼
-  過程為不可逆
-  因為訊息和雜湊碼比起來，訊息的domain比較大，所以會有兩個訊息對應到同一個雜湊碼，這種狀況稱為碰撞，但實際上發生的機率非常低

### 數位簽章
- 文件經過hash後產生一個訊息摘要，發文者再利用自己的私鑰加密得到一個簽體
- 收文者再利用發文者的公鑰解密簽體，比對訊息摘要就可以確認發文者的身分

### 機密運算
- 資料在傳輸及儲存的時候一定要加密
- 但是資料在使用的時候一定要解密後才能使用，這造成了一個資安風險
- 現在大部分還是透過大廠的硬體保護機制
- 有時候我們會需要使用大廠的雲端(google,amazon)，但是存的資料可能是機密資料，因此現在也有機制可以用密文的狀態下進行資料處理