---
tags: 大三
---
# 網路安全期中筆記 - 國立中興大學大資訊工程系 Autumn 2020
[](https://i.imgur.com/AEqRK8Y.png) []() [](https://hackmd.io/jZfXixhrTmWPZzYY5IH_fQ)
<p id="blessing">還敢不補課ㄏㄚˋ</p>
### 翻轉課程連結傳送門
> 1. [week6](https://www.youtube.com/playlist?list=PLz52Gu8MISz9G3BKDL0pMo_M4fw7ZfuqK)
> 2. [week7](https://www.youtube.com/playlist?list=PLY1loj6RT4Ez4NdlmAHM34gBfQpNYcs73)
<style>
#blessing{
font-weight: bolder;
font-size: 2em;
text-align: center;
margin: 20px 0px;
animation-name: bling;
animation-duration: 7s;
animation-iteration-count: infinite;
animation-timing-function:cubic-bezier(0.65, 0, 0.35, 1);
}
@keyframes bling{
0% {color: black;}
10% {color: brown;}
20% {color: red;}
30% {color: orange;}
40% {color: yellow;}
50% {color: green; }
60% {color: blue;}
70% {color: purple;}
80% {color: gray;}
90% {color: gold;}
}
</style>
## Overview
通訊安全:密碼法 = Algorithm + key
```mermaid
sequenceDiagram
participant Alice
participant Bob
Alice->>Bob: 密文
Note right of Alice: Eve 偷聽
```
一個好的密碼系統對資訊安全提供四大功能
1. 機密性 (confidentiality) 確保訊息只有授權者才能取得
2. 資料完整性 (data integrity) 訊息不可被竄改或能偵測訊息是否遭受竄改
3. 可認證性 (authentication) 傳送方與接收方需身份識別 (Bob要知道Alice, Alice要知道Bob)
4. 不可否認性 (Non-repudiation) Alice不可以否認傳訊息給Bob,反之亦然。提供訊息傳送方與接受方的交易證明
> **常見對稱式加密 (Symmetric)**
對稱式加密又稱私鑰系統,如:DES, AES (兩者有同一把鑰匙做解密)
>
> **常見非對稱式加密 (Asymmetric)**
非對稱式加密又稱公鑰系統,如:RSA
### 安全性
1. 無條件安全 (Unconditionally Secure) 絕對安全
壞蛋即使有無限的計算能力也能保帳密碼系統的安全性
> + One-Time Pad 一次性密碼本 (使用完畢直接銷毀)
>
> + 量子電腦
2. 計算上安全 (Computationally Secure)
> 雖然可以破解,但破解的時間超過該訊息的價值
3. 可證明安全
> RSA (這輩子別想破解)
---
## 對稱式加密
### 凱撒密碼 (Caesar)
> 將明文做平移
>
> key = 1
>
> ```
> 明文:
> H E L L O W O R L D
> 密文:
> I F M M P X P S M E
> ```
### 單一字母替代法 (Monoalphabetic)
> key = "KEYWORD"
>
> ```c
> A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
> K E Y W O R D A B C F G H I J L M N P Q S T U V X Z
>
> 轉換
> M O N O A L P H A B E T I C
> H J I J K G L A K E O Q B Y
> ```
>
> **優點**:複雜度很高
> 高達 26! = 4.03E26
>
> **破解方法:(字母頻率分析)**
>
> 英文中 E 出現的機率高達 12.7%, T: 9.0% A: 8.2%
>
> 最少出現的比如:Q, X, Z: 0.1%
>
> 雙字母:th, he, an, in
>
> 三字母:the, ing, and
### 多字母替代法
#### 維吉尼亞密碼 (Vigenere Cipher)
> key = (2, 5, 7) = (C, F, H)
>
> 加密 = C<sub>i</sub> = (P<sub>i</sub> + K<sub>i</sub>) mod 26
>
> 解密 = P<sub>i</sub> = (C<sub>i</sub> - K<sub>i</sub>) mod 26
>
> | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 |
> | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: |
> | A | B | C | D | E | F | G | H | I | J |
> | **10** | **11** | **12** | **13** | **14** | **15** | **16** | **17** | **18** | **19** |
> | K | L | M | N | O | P | Q | R | S | T |
> | **20** | **21** | **22** | **23** | **24** | **25** | | | | |
> | U | V | W | X | Y | Z | | | | |
>
> ```
> WE ARE THE WORLD
> + 25 725 725 72572
> ------------------
> YJ HTJ AJJ DQVSF
> ```
### 旋轉取代法

### 換位加密法 (Transposition Cipher)
> 將原本的明文位子轉換掉
>
> 比如明文:I love you
>
> 密文(反轉):uoy evol I
#### 鐡軌法
> 比如規定排成四列 (4 rows)
>
> 明文:STRIKE WHILE THE IRON IS HOT
>
> ```
> S K I H O H
> T E L E N O
> R W E I I T
> I H T R S X
>
> 密文:
> SKIHONTELENORWEIITIHTRSX
> ```
>
> More example:
>
> 密文:SNHLSOEDEPON
> KEY: 分兩列
>
> ```
> S N H L S O
> E D E P O N
> ```
> SEND HELP SOON
#### 鑰匙排列法
> KEY: {4, 3, 1, 2, 5, 6, 7}
>
> 明文:ISITBYMYWINDOWWAITINGFORYOU
>
> | 4 | 3 | 1 | 2 | 5 | 6 | 7 |
> | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
> | I | S | I | T | B | Y | M |
> | Y | W | I | N | D | O | W |
> | W | A | I | T | I | N | G |
> | F | O | R | Y | O | U | X |
>
> 密文:IIIRTNTYSWAOIYWFBDIOYONUMWGX
>
> **More example:**
>
> 密文:ETTH EAKI MAOT YCNX NTSG
>
> KEY: {2, 5, 1, 3, 4}
>
> | 2 | 5 | 1 | 3 | 4 |
> | :--: | :--: | :--: | :--: | :--: |
> | E | N | E | M | Y |
> | A | T | T | A | C |
> | K | S | T | O | N |
> | I | G | H | T | X |
### P盒 (Permutation box)
```
+-----------------------+
| in port -> out port |
0 +>+ 1 1 +-->1
| 1->5 |
1 +>+ 2 2 +-->0
| 2->3 |
1 +>+ 3 3 +-->1
| 3->1 |
0 +>+ 4 4 +-->0
| 4->2 |
0 +>+ 5 5 +-->0
| 5->4 |
+-----------------------+
```
## 非對稱式加密
### 中國剩餘定理 (Chinese Remainder Theorem)
> 令 n1, n2, n3, ..., nk 兩兩互質
>
> n = n1, n2, n3,... (n 為最小公倍數)
> $$
> X \equiv x_1\ (mod\ n_1)
> $$
>
> $$
> X \equiv x_2\ (mod\ n_2)
> $$
>
> $$
> X\equiv x_3\ (mod\ n_3)
> $$
>
> $$
> M_i = \frac{n}{n_i}
> $$
>
> $$
> S_i=M_i^{-1}\ (mod\ n_i)
> $$
>
> $$
> \Sigma_{i=0}^{k} = x_iM_iS_i
> $$
**Example:**
> n1 = 4, n2 = 5, n3 = 7, key = 117
>
> Alice: (4, 1)
>
> Bob: (5, 2)
>
> Cindy: (7, 5)
> $$
> X \equiv 1\ (mod\ 4)
> $$
>
> $$
> X\equiv2\ (mod\ 5)
> $$
>
> $$
> X\equiv5\ (mod\ 7)
> $$
>
> $$
> n=4\times5\times7=140
> $$
>
> $$
> M_1=35,\ M_2=28,\ M_3=20
> $$
>
> $$
> S_1=3,\ S_2=2,\ S_3=6
> $$
>
> $$
> 1\times35\times3+2\times28\times2+5\times20\times6 = 817\ (mod\ 140)\equiv 117
> $$

---
<style>
#author{
border: 1px solid gray;
border-radius: 10px;
padding: 10px;
width: 80%;
margin: 10px auto;
}
</style>
<div id="author">
<p>111級中興資工</p>
<p>作者:<a href="https://github.com/liao2000">廖柏丞</a>、<a title="瑋哥" href="https://github.com/wei-coding">游庭瑋</a>、<a title="aka 中興噁男" href="https://github.com/leonardo-lin">林子安</a></p>
</div>
```mermaid
sequenceDiagram
participant 瑋哥
participant 文全
瑋哥->>文全: 色色的東西
Note right of 瑋哥: 林子安偷看
```