Guest User

whisper-medium

a guest
Jun 3rd, 2023
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 171.67 KB | None | 0 0
  1. 1
  2. 00:00:00,000 --> 00:00:10,000
  3. (音樂)
  4.  
  5. 2
  6. 00:00:10,000 --> 00:00:14,000
  7. 我想開始的話,我們會先從幾個簡單的定義
  8.  
  9. 3
  10. 00:00:14,000 --> 00:00:18,000
  11. 就是這一張的目的主要是希望大家先有個概念
  12.  
  13. 4
  14. 00:00:18,000 --> 00:00:21,000
  15. 有個印象,有個圖像的印象
  16.  
  17. 5
  18. 00:00:21,000 --> 00:00:24,000
  19. 首先的話是PUBG RT
  20.  
  21. 6
  22. 00:00:24,000 --> 00:00:27,000
  23. PUBG RT當然是,它是SAMMA的其中一個IP的產品
  24.  
  25. 7
  26. 00:00:27,000 --> 00:00:30,000
  27. 但以目前來講的話,我們就先把它當作是
  28.  
  29. 8
  30. 00:00:30,000 --> 00:00:33,000
  31. 有一把保管好的KEY這樣
  32.  
  33. 9
  34. 00:00:33,000 --> 00:00:35,000
  35. 所以這個KEY外面有一個框框
  36.  
  37. 10
  38. 00:00:35,000 --> 00:00:38,000
  39. 再來的話,第二個是叫AES
  40.  
  41. 11
  42. 00:00:38,000 --> 00:00:41,000
  43. AES的話,圖像上的話大家可以看到
  44.  
  45. 12
  46. 00:00:41,000 --> 00:00:43,000
  47. 它是有一個藍色的大寫A
  48.  
  49. 13
  50. 00:00:43,000 --> 00:00:47,000
  51. 然後經過了藍色的箭頭到AES的block裡面
  52.  
  53. 14
  54. 00:00:47,000 --> 00:00:51,000
  55. 並且有一把鑰匙從上面加入
  56.  
  57. 15
  58. 00:00:51,000 --> 00:00:54,000
  59. 最後得到的output是大寫的A'
  60.  
  61. 16
  62. 00:00:54,000 --> 00:00:59,000
  63. 這個的話,我們用這樣的意象想要講的是
  64.  
  65. 17
  66. 00:00:59,000 --> 00:01:01,000
  67. 它是一個加密的過程
  68.  
  69. 18
  70. 00:01:01,000 --> 00:01:05,000
  71. 就是從原本的型態A然後轉成A'
  72.  
  73. 19
  74. 00:01:05,000 --> 00:01:09,000
  75. 同樣的AES的block也能夠支援的是說
  76.  
  77. 20
  78. 00:01:09,000 --> 00:01:11,000
  79. 它能夠返回來做
  80.  
  81. 21
  82. 00:01:11,000 --> 00:01:15,000
  83. 就是把原本的A' block一樣是進到AES
  84.  
  85. 22
  86. 00:01:15,000 --> 00:01:17,000
  87. 走綠色的箭頭
  88.  
  89. 23
  90. 00:01:17,000 --> 00:01:20,000
  91. 並且也加入了同樣的一把黃色的KEY
  92.  
  93. 24
  94. 00:01:20,000 --> 00:01:24,000
  95. 然後它會得到的output是能夠還原回來原本的大寫A
  96.  
  97. 25
  98. 00:01:24,000 --> 00:01:28,000
  99. 這個就是相當於算解密的過程
  100.  
  101. 26
  102. 00:01:28,000 --> 00:01:31,000
  103. 下一個的話,我們這邊列的是ECC
  104.  
  105. 27
  106. 00:01:31,000 --> 00:01:35,000
  107. 這邊的話,ECC講的是橢圓曲線的密碼學
  108.  
  109. 28
  110. 00:01:35,000 --> 00:01:39,000
  111. 簡單的來說的話,它這邊比較不一樣的是說
  112.  
  113. 29
  114. 00:01:39,000 --> 00:01:40,000
  115. 它的KEY上面是有寫字的
  116.  
  117. 30
  118. 00:01:40,000 --> 00:01:42,000
  119. 它是有一個S跟一個P
  120.  
  121. 31
  122. 00:01:42,000 --> 00:01:45,000
  123. 我們這邊講叫secret或是public key
  124.  
  125. 32
  126. 00:01:45,000 --> 00:01:47,000
  127. 它是有一個私要跟公要的
  128.  
  129. 33
  130. 00:01:47,000 --> 00:01:51,000
  131. 它這邊在做的事情是說你把其中一把綠色的
  132.  
  133. 34
  134. 00:01:51,000 --> 00:01:55,000
  135. 比方說叫私要寫S的這一把
  136.  
  137. 35
  138. 00:01:55,000 --> 00:01:57,000
  139. 進到ECC的block之後
  140.  
  141. 36
  142. 00:01:57,000 --> 00:02:02,000
  143. 它能夠出來的是一個黃色的public key公要
  144.  
  145. 37
  146. 00:02:02,000 --> 00:02:06,000
  147. 並且這個動作它是無法還原的
  148.  
  149. 38
  150. 00:02:06,000 --> 00:02:10,000
  151. 你從公要是沒有辦法還原回私要的
  152.  
  153. 39
  154. 00:02:10,000 --> 00:02:13,000
  155. 所以它的黃色箭頭回來的這個箭頭這邊打了查
  156.  
  157. 40
  158. 00:02:13,000 --> 00:02:15,000
  159. 這個是還蠻重要的
  160.  
  161. 41
  162. 00:02:15,000 --> 00:02:18,000
  163. 所以它基本上可以想成是
  164.  
  165. 42
  166. 00:02:18,000 --> 00:02:22,000
  167. 由從一把私要產生另外一把公要的過程
  168.  
  169. 43
  170. 00:02:22,000 --> 00:02:24,000
  171. 再來是最下面的這個叫Hash
  172.  
  173. 44
  174. 00:02:24,000 --> 00:02:27,000
  175. 這個Hash相信其實它不只在密碼學裡面會出現
  176.  
  177. 45
  178. 00:02:27,000 --> 00:02:30,000
  179. 在其他很多資訊科學裡面也會用得到
  180.  
  181. 46
  182. 00:02:30,000 --> 00:02:32,000
  183. 這個的話我們給它的意象是說
  184.  
  185. 47
  186. 00:02:32,000 --> 00:02:34,000
  187. 它是有一個大寫A
  188.  
  189. 48
  190. 00:02:34,000 --> 00:02:37,000
  191. 然後進到這個像果汁機的雜碩函數
  192.  
  193. 49
  194. 00:02:37,000 --> 00:02:38,000
  195. 就是這個東西
  196.  
  197. 50
  198. 00:02:38,000 --> 00:02:41,000
  199. 然後它得到的output是一個小寫A
  200.  
  201. 51
  202. 00:02:41,000 --> 00:02:43,000
  203. 在這邊我們用小寫主要是想要描述說
  204.  
  205. 52
  206. 00:02:43,000 --> 00:02:46,000
  207. 它是類似一個壓縮成一個摘要的這樣的過程
  208.  
  209. 53
  210. 00:02:46,000 --> 00:02:50,000
  211. 同時這個Hash這個果汁機
  212.  
  213. 54
  214. 00:02:50,000 --> 00:02:53,000
  215. 我們都知道打成果汁之後也是沒有辦法還原回水果的
  216.  
  217. 55
  218. 00:02:53,000 --> 00:02:57,000
  219. 所以它在這邊是一個單向的一個函數
  220.  
  221. 56
  222. 00:02:57,000 --> 00:03:00,000
  223. 並且無法從output倒回input這樣
  224.  
  225. 57
  226. 00:03:00,000 --> 00:03:04,000
  227. 所以這邊這一些簡單的定義
  228.  
  229. 58
  230. 00:03:04,000 --> 00:03:07,000
  231. 就是希望大家能夠先有一個印象就好
  232.  
  233. 59
  234. 00:03:07,000 --> 00:03:10,000
  235. 接下來的內容也會跟這些
  236.  
  237. 60
  238. 00:03:10,000 --> 00:03:13,000
  239. 慢慢會知道說這些定義
  240.  
  241. 61
  242. 00:03:13,000 --> 00:03:16,000
  243. 跟接下來的內容有什麼樣的相關
  244.  
  245. 62
  246. 00:03:16,000 --> 00:03:21,000
  247. 在這邊的話最主要我們談的
  248.  
  249. 63
  250. 00:03:21,000 --> 00:03:23,000
  251. 今天要談的是密碼學這件事情
  252.  
  253. 64
  254. 00:03:23,000 --> 00:03:27,000
  255. 密碼學這件事情的話簡單的來分類的話
  256.  
  257. 65
  258. 00:03:27,000 --> 00:03:30,000
  259. 它大概其實是幾種不同的目標
  260.  
  261. 66
  262. 00:03:30,000 --> 00:03:33,000
  263. 這邊的話其實總共列了有五個黃色的格子
  264.  
  265. 67
  266. 00:03:33,000 --> 00:03:35,000
  267. 可是它其實只有四種
  268.  
  269. 68
  270. 00:03:35,000 --> 00:03:37,000
  271. 一種一種開始講的話
  272.  
  273. 69
  274. 00:03:37,000 --> 00:03:39,000
  275. 第一個我們會看到是左邊A這邊
  276.  
  277. 70
  278. 00:03:39,000 --> 00:03:43,000
  279. 它這邊有叫confidentiality叫保密性
  280.  
  281. 71
  282. 00:03:43,000 --> 00:03:46,000
  283. 並且它這邊是畫了一個圖是說
  284.  
  285. 72
  286. 00:03:46,000 --> 00:03:48,000
  287. 它有資料存在身上
  288.  
  289. 73
  290. 00:03:48,000 --> 00:03:51,000
  291. 當然我們希望資料保密
  292.  
  293. 74
  294. 00:03:51,000 --> 00:03:54,000
  295. 但是這個保密它其實會分兩種情境
  296.  
  297. 75
  298. 00:03:54,000 --> 00:03:57,000
  299. 一種是說資料在靜態儲存的時候
  300.  
  301. 76
  302. 00:03:57,000 --> 00:03:59,000
  303. 我們希望它不會被偷走
  304.  
  305. 77
  306. 00:03:59,000 --> 00:04:01,000
  307. 希望不會有別人知道這個內容
  308.  
  309. 78
  310. 00:04:01,000 --> 00:04:04,000
  311. 另外一種是說在傳輸的過程中
  312.  
  313. 79
  314. 00:04:04,000 --> 00:04:07,000
  315. 我們希望它也能夠保持隱密
  316.  
  317. 80
  318. 00:04:07,000 --> 00:04:11,000
  319. 不會有我們不想要的接收方去收到
  320.  
  321. 81
  322. 00:04:11,000 --> 00:04:15,000
  323. 所以它大概是說
  324.  
  325. 82
  326. 00:04:15,000 --> 00:04:18,000
  327. 如果你今天在傳輸訊息的過程中
  328.  
  329. 83
  330. 00:04:18,000 --> 00:04:20,000
  331. 你傳的是一個叫做plain text
  332.  
  333. 84
  334. 00:04:20,000 --> 00:04:22,000
  335. 名文這樣的形式的話
  336.  
  337. 85
  338. 00:04:22,000 --> 00:04:26,000
  339. 當然很容易這個communication的通道
  340.  
  341. 86
  342. 00:04:26,000 --> 00:04:28,000
  343. 就會被竊停或是被竊取
  344.  
  345. 87
  346. 00:04:28,000 --> 00:04:32,000
  347. 所以這個是保密性的這件事情這個目標
  348.  
  349. 88
  350. 00:04:32,000 --> 00:04:34,000
  351. 第二個我們看到的是
  352.  
  353. 89
  354. 00:04:34,000 --> 00:04:36,000
  355. 這邊寫的叫做data integrity
  356.  
  357. 90
  358. 00:04:36,000 --> 00:04:38,000
  359. 叫做資料完整性
  360.  
  361. 91
  362. 00:04:38,000 --> 00:04:40,000
  363. 這個資料完整性的話簡單的講是說
  364.  
  365. 92
  366. 00:04:40,000 --> 00:04:46,000
  367. 我要如何確定我的訊息或是資料沒有被篡改
  368.  
  369. 93
  370. 00:04:46,000 --> 00:04:50,000
  371. 沒有被篡改就表示它保持完整原樣
  372.  
  373. 94
  374. 00:04:50,000 --> 00:04:54,000
  375. 這個的話一個很簡單的例子是說
  376.  
  377. 95
  378. 00:04:54,000 --> 00:04:58,000
  379. 假設我們現在把我們自己電腦裡面的資料
  380.  
  381. 96
  382. 00:04:58,000 --> 00:05:00,000
  383. 去上傳到雲端硬碟
  384.  
  385. 97
  386. 00:05:00,000 --> 00:05:03,000
  387. 我們上傳了一段時間之後
  388.  
  389. 98
  390. 00:05:03,000 --> 00:05:05,000
  391. 過一陣子我們要再把它拿下來
  392.  
  393. 99
  394. 00:05:05,000 --> 00:05:07,000
  395. 那我們如何能夠知道說
  396.  
  397. 100
  398. 00:05:07,000 --> 00:05:11,000
  399. 我們拿下來的資料是正確的沒有被改過的
  400.  
  401. 101
  402. 00:05:11,000 --> 00:05:13,000
  403. 這個是資料完整性的意思
  404.  
  405. 102
  406. 00:05:13,000 --> 00:05:16,000
  407. 它所面臨的威脅就是說
  408.  
  409. 103
  410. 00:05:16,000 --> 00:05:18,000
  411. 有可能在傳輸的過程中
  412.  
  413. 104
  414. 00:05:18,000 --> 00:05:22,000
  415. 然後有惡意的第三方會去偽造
  416.  
  417. 105
  418. 00:05:22,000 --> 00:05:24,000
  419. 或者是篡改這樣的訊息
  420.  
  421. 106
  422. 00:05:24,000 --> 00:05:27,000
  423. 第三個講到這邊是叫做authenticity
  424.  
  425. 107
  426. 00:05:27,000 --> 00:05:29,000
  427. 叫做認證性
  428.  
  429. 108
  430. 00:05:29,000 --> 00:05:33,000
  431. 這個的話比較單純就是說
  432.  
  433. 109
  434. 00:05:33,000 --> 00:05:35,000
  435. 我們想要知道說這個溝通裡面
  436.  
  437. 110
  438. 00:05:35,000 --> 00:05:38,000
  439. 會有訊息的傳送方跟接收方
  440.  
  441. 111
  442. 00:05:38,000 --> 00:05:42,000
  443. 傳送方要能夠知道收到訊息的是正確的接收方
  444.  
  445. 112
  446. 00:05:42,000 --> 00:05:47,000
  447. 那反之亦然就是說這個認證往往是一個雙向的過程
  448.  
  449. 113
  450. 00:05:47,000 --> 00:05:50,000
  451. 我傳訊息的人要知道收訊息的人是對的
  452.  
  453. 114
  454. 00:05:50,000 --> 00:05:53,000
  455. 收訊息的人也要知道傳訊息的人是對的
  456.  
  457. 115
  458. 00:05:53,000 --> 00:05:57,000
  459. 那第四個講的叫做不可否認性
  460.  
  461. 116
  462. 00:05:57,000 --> 00:06:02,000
  463. 它指向的一種問題是所謂像delay或者是否認
  464.  
  465. 117
  466. 00:06:02,000 --> 00:06:04,000
  467. 具體來說的話是說
  468.  
  469. 118
  470. 00:06:04,000 --> 00:06:10,000
  471. 簡單來說比方說可能A跟B說要借錢
  472.  
  473. 119
  474. 00:06:10,000 --> 00:06:14,000
  475. 那過一陣子然後A跟B說我沒有說過
  476.  
  477. 120
  478. 00:06:14,000 --> 00:06:15,000
  479. 我沒有說過要跟你借錢
  480.  
  481. 121
  482. 00:06:15,000 --> 00:06:18,000
  483. 那這種情況下以借錢這個例子的話
  484.  
  485. 122
  486. 00:06:18,000 --> 00:06:21,000
  487. 很容易聯想到說我們要怎麼樣解決這個問題
  488.  
  489. 123
  490. 00:06:21,000 --> 00:06:23,000
  491. 其實就是要人家去押簽名
  492.  
  493. 124
  494. 00:06:23,000 --> 00:06:28,000
  495. 在密碼學裡面這樣也是類似這樣的做法
  496.  
  497. 125
  498. 00:06:28,000 --> 00:06:30,000
  499. 那就是會用一種叫數位簽章的方式
  500.  
  501. 126
  502. 00:06:30,000 --> 00:06:34,000
  503. 基本上就是能夠確保來源之外
  504.  
  505. 127
  506. 00:06:34,000 --> 00:06:38,000
  507. 也要能夠確保曾經說過什麼或做過什麼
  508.  
  509. 128
  510. 00:06:38,000 --> 00:06:40,000
  511. 所以其實在這邊不可否認性的話
  512.  
  513. 129
  514. 00:06:40,000 --> 00:06:43,000
  515. 可以把它想成類似既符合認證性
  516.  
  517. 130
  518. 00:06:43,000 --> 00:06:45,000
  519. 也符合資料完整性
  520.  
  521. 131
  522. 00:06:45,000 --> 00:06:47,000
  523. 這兩個都必須要具備
  524.  
  525. 132
  526. 00:06:47,000 --> 00:06:52,000
  527. 所以簡單的情境來講大概是這樣子
  528.  
  529. 133
  530. 00:06:52,000 --> 00:06:57,000
  531. 接下來的話我們會再從各個裡面去細節
  532.  
  533. 134
  534. 00:06:57,000 --> 00:07:01,000
  535. 去看說大概有什麼樣的做法
  536.  
  537. 135
  538. 00:07:01,000 --> 00:07:09,000
  539. 所以到目前到這邊有任何疑問嗎
  540.  
  541. 136
  542. 00:07:09,000 --> 00:07:11,000
  543. 那首先我們要
  544.  
  545. 137
  546. 00:07:11,000 --> 00:07:14,000
  547. 接下來我們就要看的是各個安全目標
  548.  
  549. 138
  550. 00:07:14,000 --> 00:07:16,000
  551. 首先我們要看到的是保密性
  552.  
  553. 139
  554. 00:07:16,000 --> 00:07:18,000
  555. 那保密性來講剛剛提過說
  556.  
  557. 140
  558. 00:07:18,000 --> 00:07:22,000
  559. 我們不想要讓資料洩漏出去
  560.  
  561. 141
  562. 00:07:22,000 --> 00:07:26,000
  563. 所以最直覺的做法就是我們要去做加密
  564.  
  565. 142
  566. 00:07:26,000 --> 00:07:33,000
  567. 所以以一個簡單的情境來講的話
  568.  
  569. 143
  570. 00:07:33,000 --> 00:07:37,000
  571. 這個溝通往往是A傳送訊息
  572.  
  573. 144
  574. 00:07:37,000 --> 00:07:39,000
  575. 經過一個通訊網路到B這邊
  576.  
  577. 145
  578. 00:07:39,000 --> 00:07:44,000
  579. 我們首先要介紹的是對稱式的加密
  580.  
  581. 146
  582. 00:07:44,000 --> 00:07:48,000
  583. 跟我們在一開始提過的定義裡面
  584.  
  585. 147
  586. 00:07:48,000 --> 00:07:50,000
  587. 它跟AES的block還蠻像
  588.  
  589. 148
  590. 00:07:50,000 --> 00:07:54,000
  591. 就是說它的重點是它是用同一把key來做加密
  592.  
  593. 149
  594. 00:07:54,000 --> 00:07:56,000
  595. 同一把key所以叫對稱
  596.  
  597. 150
  598. 00:07:56,000 --> 00:07:58,000
  599. 那這邊簡單的看一下它的流程
  600.  
  601. 151
  602. 00:07:58,000 --> 00:08:00,000
  603. 它的流程大概會是說
  604.  
  605. 152
  606. 00:08:00,000 --> 00:08:03,000
  607. A把本來要傳的我們叫明文的plain text
  608.  
  609. 153
  610. 00:08:03,000 --> 00:08:04,000
  611. 然後經過一個鑰匙
  612.  
  613. 154
  614. 00:08:04,000 --> 00:08:08,000
  615. 然後加密變成這一個帶有鎖跟問號的方塊
  616.  
  617. 155
  618. 00:08:08,000 --> 00:08:10,000
  619. 我們叫它密文
  620.  
  621. 156
  622. 00:08:10,000 --> 00:08:12,000
  623. 這個密文會傳過來到
  624.  
  625. 157
  626. 00:08:12,000 --> 00:08:14,000
  627. 就經過通訊網路
  628.  
  629. 158
  630. 00:08:14,000 --> 00:08:16,000
  631. 然後傳到B手上
  632.  
  633. 159
  634. 00:08:16,000 --> 00:08:20,000
  635. B因為它擁有這把同樣的黃色鑰匙
  636.  
  637. 160
  638. 00:08:20,000 --> 00:08:24,000
  639. 所以它可以把它還原回原本的這個明文
  640.  
  641. 161
  642. 00:08:24,000 --> 00:08:26,000
  643. 至於惡意的第三方X
  644.  
  645. 162
  646. 00:08:26,000 --> 00:08:28,000
  647. 它手上沒有這把鑰匙的時候
  648.  
  649. 163
  650. 00:08:28,000 --> 00:08:32,000
  651. 它就沒有辦法去解開這個密文
  652.  
  653. 164
  654. 00:08:32,000 --> 00:08:34,000
  655. 它的基本的概念是這樣
  656.  
  657. 165
  658. 00:08:34,000 --> 00:08:38,000
  659. 所以光從剛剛的敘述應該已經可以知道說
  660.  
  661. 166
  662. 00:08:38,000 --> 00:08:40,000
  663. 這整件事情的安全性
  664.  
  665. 167
  666. 00:08:40,000 --> 00:08:42,000
  667. 最主要是建立在說
  668.  
  669. 168
  670. 00:08:42,000 --> 00:08:44,000
  671. 你只要沒有這把黃色的鑰匙
  672.  
  673. 169
  674. 00:08:44,000 --> 00:08:46,000
  675. 你就沒有辦法解讀這個訊息
  676.  
  677. 170
  678. 00:08:46,000 --> 00:08:50,000
  679. 它的安全性是建立在這個機制上面
  680.  
  681. 171
  682. 00:08:50,000 --> 00:08:52,000
  683. 所以對稱式的這種加密的方法
  684.  
  685. 172
  686. 00:08:52,000 --> 00:08:54,000
  687. 它一般來講有幾項特性
  688.  
  689. 173
  690. 00:08:54,000 --> 00:08:56,000
  691. 我們講的比較模糊一點的話
  692.  
  693. 174
  694. 00:08:56,000 --> 00:09:00,000
  695. 就是它算它速度很快
  696.  
  697. 175
  698. 00:09:00,000 --> 00:09:02,000
  699. 然後安全性也很高
  700.  
  701. 176
  702. 00:09:02,000 --> 00:09:04,000
  703. 但是它有一個致命的缺陷
  704.  
  705. 177
  706. 00:09:04,000 --> 00:09:06,000
  707. 是它需要這個經要傳遞
  708.  
  709. 178
  710. 00:09:06,000 --> 00:09:10,000
  711. 經要傳遞的問題我們稍後會再提
  712.  
  713. 179
  714. 00:09:10,000 --> 00:09:16,000
  715. 這邊我們用一個很簡單的例子來看
  716.  
  717. 180
  718. 00:09:16,000 --> 00:09:18,000
  719. 對稱式加密這件事情
  720.  
  721. 181
  722. 00:09:18,000 --> 00:09:22,000
  723. 首先我們看到左邊在做加密的時候
  724.  
  725. 182
  726. 00:09:22,000 --> 00:09:24,000
  727. 我們有訊息鑰匙跟密文
  728.  
  729. 183
  730. 00:09:24,000 --> 00:09:26,000
  731. 這邊我們把它都用4個bit
  732.  
  733. 184
  734. 00:09:26,000 --> 00:09:28,000
  735. 然後用exclusive word
  736.  
  737. 185
  738. 00:09:28,000 --> 00:09:30,000
  739. exclusive word來講
  740.  
  741. 186
  742. 00:09:30,000 --> 00:09:32,000
  743. 在這邊就是我們的加密的函數
  744.  
  745. 187
  746. 00:09:32,000 --> 00:09:34,000
  747. 我想這大家應該蠻熟悉的
  748.  
  749. 188
  750. 00:09:34,000 --> 00:09:36,000
  751. 這邊有它的真值表
  752.  
  753. 189
  754. 00:09:36,000 --> 00:09:38,000
  755. 然後跟我們要怎麼樣用exclusive word
  756.  
  757. 190
  758. 00:09:38,000 --> 00:09:40,000
  759. 來做加密跟解密
  760.  
  761. 191
  762. 00:09:40,000 --> 00:09:42,000
  763. 它的原理主要是說
  764.  
  765. 192
  766. 00:09:42,000 --> 00:09:46,000
  767. 它有交換率跟結合率的關係
  768.  
  769. 193
  770. 00:09:46,000 --> 00:09:50,000
  771. 所以我今天把一個名文
  772.  
  773. 194
  774. 00:09:50,000 --> 00:09:54,000
  775. 然後經過這把鑰匙去operate之後
  776.  
  777. 195
  778. 00:09:54,000 --> 00:09:56,000
  779. 得到了這個密文1001
  780.  
  781. 196
  782. 00:09:56,000 --> 00:09:58,000
  783. 在解密的時候
  784.  
  785. 197
  786. 00:09:58,000 --> 00:10:00,000
  787. 我一樣把這個1001
  788.  
  789. 198
  790. 00:10:00,000 --> 00:10:03,000
  791. 再次對這個經要做exclusive word的運算之後
  792.  
  793. 199
  794. 00:10:03,000 --> 00:10:05,000
  795. 得回來的會是原本的名文
  796.  
  797. 200
  798. 00:10:05,000 --> 00:10:07,000
  799. 它是一個簡單的概念
  800.  
  801. 201
  802. 00:10:07,000 --> 00:10:09,000
  803. 所以在這裡面的重點是說
  804.  
  805. 202
  806. 00:10:09,000 --> 00:10:12,000
  807. 第一個它用的加密的方法是exclusive word
  808.  
  809. 203
  810. 00:10:12,000 --> 00:10:16,000
  811. 另外就是它是依靠同一把經要
  812.  
  813. 204
  814. 00:10:16,000 --> 00:10:17,000
  815. 所以你沒有這把經要
  816.  
  817. 205
  818. 00:10:17,000 --> 00:10:19,000
  819. 你是沒有辦法解回訊息的
  820.  
  821. 206
  822. 00:10:19,000 --> 00:10:22,000
  823. 這是一個簡單的範例
  824.  
  825. 207
  826. 00:10:22,000 --> 00:10:25,000
  827. 就是對稱式演算法大概是這麼做的
  828.  
  829. 208
  830. 00:10:25,000 --> 00:10:32,000
  831. 再來會補充一點
  832.  
  833. 209
  834. 00:10:32,000 --> 00:10:34,000
  835. 就是對稱式演算法
  836.  
  837. 210
  838. 00:10:34,000 --> 00:10:37,000
  839. 對稱式加密它的一些性質
  840.  
  841. 211
  842. 00:10:37,000 --> 00:10:40,000
  843. 像剛剛我們看到的exclusive word來講的話
  844.  
  845. 212
  846. 00:10:40,000 --> 00:10:42,000
  847. 大家應該可以想像
  848.  
  849. 213
  850. 00:10:42,000 --> 00:10:44,000
  851. 它的安全強度相對算是蠻低的
  852.  
  853. 214
  854. 00:10:44,000 --> 00:10:46,000
  855. 因為還蠻容易破解的
  856.  
  857. 215
  858. 00:10:46,000 --> 00:10:48,000
  859. 它之所以容易破解的
  860.  
  861. 216
  862. 00:10:48,000 --> 00:10:50,000
  863. 其中一個主要的理由是在於說
  864.  
  865. 217
  866. 00:10:50,000 --> 00:10:52,000
  867. 它的運算來講是比較線性的
  868.  
  869. 218
  870. 00:10:52,000 --> 00:10:55,000
  871. 所以一般而言
  872.  
  873. 219
  874. 00:10:55,000 --> 00:10:59,000
  875. 這種現在常用合規定
  876.  
  877. 220
  878. 00:10:59,000 --> 00:11:01,000
  879. 夠安全的這種對稱式演算法來講
  880.  
  881. 221
  882. 00:11:01,000 --> 00:11:03,000
  883. 它通常會帶有幾種運算
  884.  
  885. 222
  886. 00:11:03,000 --> 00:11:07,000
  887. 像它會帶的是這種
  888.  
  889. 223
  890. 00:11:07,000 --> 00:11:09,000
  891. 置換 substitution
  892.  
  893. 224
  894. 00:11:09,000 --> 00:11:11,000
  895. 跟排列的這種運算
  896.  
  897. 225
  898. 00:11:11,000 --> 00:11:15,000
  899. 排列置換我想應該蠻容易理解
  900.  
  901. 226
  902. 00:11:15,000 --> 00:11:17,000
  903. 它其實完全就是一個非線性的
  904.  
  905. 227
  906. 00:11:17,000 --> 00:11:19,000
  907. 排列的話不管你是怎麼樣排
  908.  
  909. 228
  910. 00:11:19,000 --> 00:11:21,000
  911. 你是重新排列
  912.  
  913. 229
  914. 00:11:21,000 --> 00:11:23,000
  915. 或是你是transpose
  916.  
  917. 230
  918. 00:11:23,000 --> 00:11:25,000
  919. 或是做怎麼樣的這種transposition
  920.  
  921. 231
  922. 00:11:25,000 --> 00:11:27,000
  923. 或是去做mapping來講
  924.  
  925. 232
  926. 00:11:27,000 --> 00:11:29,000
  927. 它其實某種程度上都
  928.  
  929. 233
  930. 00:11:29,000 --> 00:11:31,000
  931. 只要是它是屬於排列的這種行為
  932.  
  933. 234
  934. 00:11:31,000 --> 00:11:33,000
  935. 它都算是線性的
  936.  
  937. 235
  938. 00:11:33,000 --> 00:11:35,000
  939. 線性的以運算來講
  940.  
  941. 236
  942. 00:11:35,000 --> 00:11:37,000
  943. 就等於說容易推倒
  944.  
  945. 237
  946. 00:11:37,000 --> 00:11:41,000
  947. 所以現在普遍會在使用的
  948.  
  949. 238
  950. 00:11:41,000 --> 00:11:43,000
  951. 對稱式加密演算法來講
  952.  
  953. 239
  954. 00:11:43,000 --> 00:11:45,000
  955. 它的演算法的結構
  956.  
  957. 240
  958. 00:11:45,000 --> 00:11:47,000
  959. 通常都一定會帶有
  960.  
  961. 241
  962. 00:11:47,000 --> 00:11:49,000
  963. 至少一個非線性的運算
  964.  
  965. 242
  966. 00:11:49,000 --> 00:11:51,000
  967. 比方說以現在來講
  968.  
  969. 243
  970. 00:11:51,000 --> 00:11:53,000
  971. 最常用的是下面列的AES
  972.  
  973. 244
  974. 00:11:53,000 --> 00:11:57,000
  975. AES的話熟的可能會知道說
  976.  
  977. 245
  978. 00:11:57,000 --> 00:11:59,000
  979. 它大概大致上算是
  980.  
  981. 246
  982. 00:11:59,000 --> 00:12:01,000
  983. 有四個transformation在做
  984.  
  985. 247
  986. 00:12:01,000 --> 00:12:05,000
  987. 其中只有一個叫subbite的這個步驟
  988.  
  989. 248
  990. 00:12:05,000 --> 00:12:07,000
  991. 是在做substitution
  992.  
  993. 249
  994. 00:12:07,000 --> 00:12:09,000
  995. 它是用類似查表的方式
  996.  
  997. 250
  998. 00:12:09,000 --> 00:12:11,000
  999. 然後去把值換掉
  1000.  
  1001. 251
  1002. 00:12:11,000 --> 00:12:13,000
  1003. 其餘的都算是線性的運算
  1004.  
  1005. 252
  1006. 00:12:13,000 --> 00:12:15,000
  1007. 都是shift
  1008.  
  1009. 253
  1010. 00:12:15,000 --> 00:12:17,000
  1011. 或是去做矩陣的懲罰
  1012.  
  1013. 254
  1014. 00:12:17,000 --> 00:12:19,000
  1015. 這種類似是比較是線性的運算
  1016.  
  1017. 255
  1018. 00:12:19,000 --> 00:12:21,000
  1019. 而且一般來講
  1020.  
  1021. 256
  1022. 00:12:21,000 --> 00:12:25,000
  1023. 為了就是也同樣要符合效率
  1024.  
  1025. 257
  1026. 00:12:25,000 --> 00:12:28,000
  1027. 所以其實只要有一個非線性的運算
  1028.  
  1029. 258
  1030. 00:12:28,000 --> 00:12:30,000
  1031. 它就算是足夠安全
  1032.  
  1033. 259
  1034. 00:12:30,000 --> 00:12:32,000
  1035. 也因為非線性運算
  1036.  
  1037. 260
  1038. 00:12:32,000 --> 00:12:34,000
  1039. 它需要資源的關係
  1040.  
  1041. 261
  1042. 00:12:34,000 --> 00:12:36,000
  1043. 所以其實通常
  1044.  
  1045. 262
  1046. 00:12:36,000 --> 00:12:38,000
  1047. 在對稱式的加密演算法裡面
  1048.  
  1049. 263
  1050. 00:12:38,000 --> 00:12:40,000
  1051. 非對稱式的運算
  1052.  
  1053. 264
  1054. 00:12:40,000 --> 00:12:42,000
  1055. 也就只有那麼一個
  1056.  
  1057. 265
  1058. 00:12:42,000 --> 00:12:44,000
  1059. 其他都會是線性的排列
  1060.  
  1061. 266
  1062. 00:12:44,000 --> 00:12:47,000
  1063. 下面這張表的話是列出說
  1064.  
  1065. 267
  1066. 00:12:47,000 --> 00:12:49,000
  1067. 目前最主要有在使用的哪一些
  1068.  
  1069. 268
  1070. 00:12:49,000 --> 00:12:51,000
  1071. 你這邊可以看到的話
  1072.  
  1073. 269
  1074. 00:12:51,000 --> 00:12:56,000
  1075. 以前的大概在1997年以前
  1076.  
  1077. 270
  1078. 00:12:56,000 --> 00:12:59,000
  1079. 在用的都是一種叫做DES
  1080.  
  1081. 271
  1082. 00:12:59,000 --> 00:13:01,000
  1083. 叫做Data Encryption Standard
  1084.  
  1085. 272
  1086. 00:13:01,000 --> 00:13:03,000
  1087. 一種舊型的加密演算法
  1088.  
  1089. 273
  1090. 00:13:03,000 --> 00:13:06,000
  1091. 到接近1997年的時候
  1092.  
  1093. 274
  1094. 00:13:06,000 --> 00:13:08,000
  1095. 因為它的安全性已經開始下降
  1096.  
  1097. 275
  1098. 00:13:08,000 --> 00:13:10,000
  1099. 所以那個時候有去做
  1100.  
  1101. 276
  1102. 00:13:10,000 --> 00:13:13,000
  1103. 比方說把它變成triple dash
  1104.  
  1105. 277
  1106. 00:13:13,000 --> 00:13:15,000
  1107. 就是說把它疊三次
  1108.  
  1109. 278
  1110. 00:13:15,000 --> 00:13:17,000
  1111. 然後可能中間用兩把不同的key
  1112.  
  1113. 279
  1114. 00:13:17,000 --> 00:13:19,000
  1115. 或是用三把不同的key這樣
  1116.  
  1117. 280
  1118. 00:13:19,000 --> 00:13:22,000
  1119. 這些來講到現在都已經非常勉強
  1120.  
  1121. 281
  1122. 00:13:22,000 --> 00:13:24,000
  1123. 所以才會有開始
  1124.  
  1125. 282
  1126. 00:13:24,000 --> 00:13:27,000
  1127. 從1997年開始有現在的叫做AES
  1128.  
  1129. 283
  1130. 00:13:27,000 --> 00:13:30,000
  1131. DES叫做Data Encryption Standard
  1132.  
  1133. 284
  1134. 00:13:30,000 --> 00:13:32,000
  1135. AES的A叫Advanced
  1136.  
  1137. 285
  1138. 00:13:32,000 --> 00:13:33,000
  1139. 就是進階加密標準
  1140.  
  1141. 286
  1142. 00:13:33,000 --> 00:13:35,000
  1143. 如果去查AES的話
  1144.  
  1145. 287
  1146. 00:13:35,000 --> 00:13:37,000
  1147. 通常會查到這樣的翻譯
  1148.  
  1149. 288
  1150. 00:13:37,000 --> 00:13:39,000
  1151. 所以這邊列的主要的
  1152.  
  1153. 289
  1154. 00:13:39,000 --> 00:13:41,000
  1155. 另外一個可以補充的是說
  1156.  
  1157. 290
  1158. 00:13:41,000 --> 00:13:43,000
  1159. 這邊可以看到是在
  1160.  
  1161. 291
  1162. 00:13:43,000 --> 00:13:46,000
  1163. 2-key的triple dash的使用情境裡面
  1164.  
  1165. 292
  1166. 00:13:46,000 --> 00:13:48,000
  1167. 它已經不被允許做加密
  1168.  
  1169. 293
  1170. 00:13:48,000 --> 00:13:52,000
  1171. 但是可以在Legacy Use的場合下去做解密
  1172.  
  1173. 294
  1174. 00:13:52,000 --> 00:13:56,000
  1175. 這個就跟我們一般很常會遇到的狀況一樣
  1176.  
  1177. 295
  1178. 00:13:56,000 --> 00:13:58,000
  1179. 就是說你可能以前出的產品
  1180.  
  1181. 296
  1182. 00:13:58,000 --> 00:14:00,000
  1183. 已經deploy到Field裡面
  1184.  
  1185. 297
  1186. 00:14:00,000 --> 00:14:02,000
  1187. 你後面再出的時候
  1188.  
  1189. 298
  1190. 00:14:02,000 --> 00:14:04,000
  1191. 它必須至少要能夠解讀
  1192.  
  1193. 299
  1194. 00:14:04,000 --> 00:14:06,000
  1195. 當初前一代產品
  1196.  
  1197. 300
  1198. 00:14:06,000 --> 00:14:09,000
  1199. 用2-key triple dash所加密的訊息
  1200.  
  1201. 301
  1202. 00:14:09,000 --> 00:14:11,000
  1203. 它至少要能夠解讀
  1204.  
  1205. 302
  1206. 00:14:11,000 --> 00:14:12,000
  1207. 但是因為安全性的問題
  1208.  
  1209. 303
  1210. 00:14:12,000 --> 00:14:14,000
  1211. 它已經不再容許
  1212.  
  1213. 304
  1214. 00:14:14,000 --> 00:14:16,000
  1215. 用同樣舊的方法去做加密
  1216.  
  1217. 305
  1218. 00:14:16,000 --> 00:14:21,000
  1219. 這個大概的概念是這樣
  1220.  
  1221. 306
  1222. 00:14:21,000 --> 00:14:24,000
  1223. 所以現在來講最流行
  1224.  
  1225. 307
  1226. 00:14:24,000 --> 00:14:26,000
  1227. 然後最常被使用的是
  1228.  
  1229. 308
  1230. 00:14:26,000 --> 00:14:28,000
  1231. 這邊列的最下面這一列
  1232.  
  1233. 309
  1234. 00:14:28,000 --> 00:14:32,000
  1235. AES的128或是192或是256
  1236.  
  1237. 310
  1238. 00:14:32,000 --> 00:14:34,000
  1239. 這個數字的話
  1240.  
  1241. 311
  1242. 00:14:34,000 --> 00:14:36,000
  1243. 大家大概有個印象就好
  1244.  
  1245. 312
  1246. 00:14:36,000 --> 00:14:38,000
  1247. 就是說它是以一個區塊
  1248.  
  1249. 313
  1250. 00:14:38,000 --> 00:14:40,000
  1251. 一個區塊來做加密的
  1252.  
  1253. 314
  1254. 00:14:40,000 --> 00:14:42,000
  1255. 所以不管你的輸入多長
  1256.  
  1257. 315
  1258. 00:14:42,000 --> 00:14:44,000
  1259. 它都是照這樣的數字去切分它
  1260.  
  1261. 316
  1262. 00:14:44,000 --> 00:14:46,000
  1263. 一個區塊來做加密這樣
  1264.  
  1265. 317
  1266. 00:14:46,000 --> 00:14:50,000
  1267. 到這邊有任何問題嗎
  1268.  
  1269. 318
  1270. 00:14:50,000 --> 00:15:02,000
  1271. 再來繼續講到的是
  1272.  
  1273. 319
  1274. 00:15:02,000 --> 00:15:04,000
  1275. 在我們講到加密的時候
  1276.  
  1277. 320
  1278. 00:15:04,000 --> 00:15:06,000
  1279. 它是有另外一種做法
  1280.  
  1281. 321
  1282. 00:15:06,000 --> 00:15:08,000
  1283. 叫做有對稱就有非對稱
  1284.  
  1285. 322
  1286. 00:15:08,000 --> 00:15:10,000
  1287. 這邊講的是非對稱式的加密的做法
  1288.  
  1289. 323
  1290. 00:15:12,000 --> 00:15:14,000
  1291. 它的流程大概跟我們前面有看過
  1292.  
  1293. 324
  1294. 00:15:14,000 --> 00:15:16,000
  1295. 有兩種不同的鑰匙的情境
  1296.  
  1297. 325
  1298. 00:15:16,000 --> 00:15:18,000
  1299. 有私鑰跟公鑰的情境
  1300.  
  1301. 326
  1302. 00:15:18,000 --> 00:15:22,000
  1303. 我們先簡單的提一下它的流程
  1304.  
  1305. 327
  1306. 00:15:22,000 --> 00:15:24,000
  1307. 它的流程大概會是這樣
  1308.  
  1309. 328
  1310. 00:15:24,000 --> 00:15:28,000
  1311. 就是說今天A要傳送訊息給B的時候
  1312.  
  1313. 329
  1314. 00:15:28,000 --> 00:15:30,000
  1315. 特別要注意
  1316.  
  1317. 330
  1318. 00:15:30,000 --> 00:15:32,000
  1319. 有這兩把鑰匙這邊列的P跟S
  1320.  
  1321. 331
  1322. 00:15:32,000 --> 00:15:36,000
  1323. 一樣是一把是私鑰一把是公鑰
  1324.  
  1325. 332
  1326. 00:15:36,000 --> 00:15:40,000
  1327. 這兩把鑰匙都是訊息接收方B的
  1328.  
  1329. 333
  1330. 00:15:40,000 --> 00:15:42,000
  1331. 這個很重要
  1332.  
  1333. 334
  1334. 00:15:42,000 --> 00:15:46,000
  1335. 所以有了這兩把鑰匙
  1336.  
  1337. 335
  1338. 00:15:46,000 --> 00:15:48,000
  1339. 然後怎麼做加密的溝通
  1340.  
  1341. 336
  1342. 00:15:48,000 --> 00:15:52,000
  1343. 訊息傳送方A
  1344.  
  1345. 337
  1346. 00:15:52,000 --> 00:15:54,000
  1347. 它會把這個Planetax
  1348.  
  1349. 338
  1350. 00:15:54,000 --> 00:15:56,000
  1351. 它要傳送的訊息明文
  1352.  
  1353. 339
  1354. 00:15:56,000 --> 00:15:58,000
  1355. 然後用訊息接收方B
  1356.  
  1357. 340
  1358. 00:15:58,000 --> 00:16:00,000
  1359. 這個人的公鑰做加密
  1360.  
  1361. 341
  1362. 00:16:00,000 --> 00:16:04,000
  1363. 然後傳送這個密文過來
  1364.  
  1365. 342
  1366. 00:16:04,000 --> 00:16:08,000
  1367. 收到這個訊息
  1368.  
  1369. 343
  1370. 00:16:08,000 --> 00:16:10,000
  1371. 收到這個密文的接收方B
  1372.  
  1373. 344
  1374. 00:16:10,000 --> 00:16:12,000
  1375. 它會去用它自己
  1376.  
  1377. 345
  1378. 00:16:12,000 --> 00:16:14,000
  1379. 同樣是B這個人的私鑰
  1380.  
  1381. 346
  1382. 00:16:14,000 --> 00:16:16,000
  1383. 去做解密把它還原回原本的訊息
  1384.  
  1385. 347
  1386. 00:16:16,000 --> 00:16:22,000
  1387. 所以這個蠻重要就是說
  1388.  
  1389. 348
  1390. 00:16:22,000 --> 00:16:24,000
  1391. 在這樣的情境裡面
  1392.  
  1393. 349
  1394. 00:16:24,000 --> 00:16:26,000
  1395. 在這樣溝通的情境裡面
  1396.  
  1397. 350
  1398. 00:16:26,000 --> 00:16:28,000
  1399. 這兩把鑰匙都是屬於
  1400.  
  1401. 351
  1402. 00:16:28,000 --> 00:16:30,000
  1403. 訊息接收方B的
  1404.  
  1405. 352
  1406. 00:16:30,000 --> 00:16:32,000
  1407. 那為什麼A有這把鑰匙可以用
  1408.  
  1409. 353
  1410. 00:16:32,000 --> 00:16:34,000
  1411. 因為顧名思義了
  1412.  
  1413. 354
  1414. 00:16:34,000 --> 00:16:36,000
  1415. 它叫公鑰
  1416.  
  1417. 355
  1418. 00:16:36,000 --> 00:16:38,000
  1419. 我們是希望它是能夠公開的
  1420.  
  1421. 356
  1422. 00:16:38,000 --> 00:16:40,000
  1423. 但是反過來講的話
  1424.  
  1425. 357
  1426. 00:16:40,000 --> 00:16:42,000
  1427. 這把私鑰是絕對不會出去
  1428.  
  1429. 358
  1430. 00:16:42,000 --> 00:16:44,000
  1431. 是只有B才有的
  1432.  
  1433. 359
  1434. 00:16:44,000 --> 00:16:46,000
  1435. 非對稱式的這個
  1436.  
  1437. 360
  1438. 00:16:46,000 --> 00:16:48,000
  1439. 或是說公開禁鑰密碼學的
  1440.  
  1441. 361
  1442. 00:16:48,000 --> 00:16:50,000
  1443. 這兩個是一樣東西
  1444.  
  1445. 362
  1446. 00:16:50,000 --> 00:16:52,000
  1447. 公開禁鑰密碼學的基礎是建立在此
  1448.  
  1449. 363
  1450. 00:16:52,000 --> 00:16:54,000
  1451. 公鑰可以釋善在外
  1452.  
  1453. 364
  1454. 00:16:54,000 --> 00:16:56,000
  1455. 可是私鑰絕對只有自己有
  1456.  
  1457. 365
  1458. 00:16:56,000 --> 00:17:00,000
  1459. 所以可以看到的是
  1460.  
  1461. 366
  1462. 00:17:00,000 --> 00:17:02,000
  1463. 因為公鑰可以釋善在外
  1464.  
  1465. 367
  1466. 00:17:02,000 --> 00:17:04,000
  1467. 所以這樣的
  1468.  
  1469. 368
  1470. 00:17:04,000 --> 00:17:06,000
  1471. 做法來講的話
  1472.  
  1473. 369
  1474. 00:17:06,000 --> 00:17:08,000
  1475. 它的特性是說
  1476.  
  1477. 370
  1478. 00:17:08,000 --> 00:17:10,000
  1479. 它不需要有一把
  1480.  
  1481. 371
  1482. 00:17:10,000 --> 00:17:12,000
  1483. 事先就有一把註冊好的
  1484.  
  1485. 372
  1486. 00:17:12,000 --> 00:17:14,000
  1487. 兩個人都一樣的對稱的禁鑰
  1488.  
  1489. 373
  1490. 00:17:14,000 --> 00:17:16,000
  1491. 你只要需要溝通的時候
  1492.  
  1493. 374
  1494. 00:17:16,000 --> 00:17:18,000
  1495. 然後比方說我要傳訊息
  1496.  
  1497. 375
  1498. 00:17:18,000 --> 00:17:20,000
  1499. 給別人的時候
  1500.  
  1501. 376
  1502. 00:17:20,000 --> 00:17:22,000
  1503. 我只要能夠隨意的取得它的公鑰
  1504.  
  1505. 377
  1506. 00:17:22,000 --> 00:17:24,000
  1507. 這個是合法的
  1508.  
  1509. 378
  1510. 00:17:24,000 --> 00:17:26,000
  1511. 那我就能傳送訊息給人家
  1512.  
  1513. 379
  1514. 00:17:26,000 --> 00:17:28,000
  1515. 但是只有它
  1516.  
  1517. 380
  1518. 00:17:28,000 --> 00:17:30,000
  1519. 因為它擁有它自己的私鑰
  1520.  
  1521. 381
  1522. 00:17:30,000 --> 00:17:32,000
  1523. 所以它可以用它自己的私鑰去解讀
  1524.  
  1525. 382
  1526. 00:17:32,000 --> 00:17:34,000
  1527. 我傳給它的這個加密過的訊息
  1528.  
  1529. 383
  1530. 00:17:34,000 --> 00:17:38,000
  1531. 所以它的特性是說它不需要有一把
  1532.  
  1533. 384
  1534. 00:17:38,000 --> 00:17:40,000
  1535. 事先註冊好的鑰匙
  1536.  
  1537. 385
  1538. 00:17:40,000 --> 00:17:42,000
  1539. 它安全性
  1540.  
  1541. 386
  1542. 00:17:42,000 --> 00:17:44,000
  1543. 也相對高
  1544.  
  1545. 387
  1546. 00:17:44,000 --> 00:17:46,000
  1547. 但是它因為
  1548.  
  1549. 388
  1550. 00:17:46,000 --> 00:17:48,000
  1551. 它用到的數學比較難
  1552.  
  1553. 389
  1554. 00:17:48,000 --> 00:17:50,000
  1555. 所以一般來講耗費的資源會比較多
  1556.  
  1557. 390
  1558. 00:17:50,000 --> 00:17:52,000
  1559. 運算速度會比較慢
  1560.  
  1561. 391
  1562. 00:17:52,000 --> 00:17:56,000
  1563. 這邊的話就在
  1564.  
  1565. 392
  1566. 00:17:56,000 --> 00:17:58,000
  1567. 比較具體的補充剛剛講到的例子
  1568.  
  1569. 393
  1570. 00:18:00,000 --> 00:18:02,000
  1571. 所以在開始做這個溝通之前
  1572.  
  1573. 394
  1574. 00:18:02,000 --> 00:18:04,000
  1575. 會像我們前面的
  1576.  
  1577. 395
  1578. 00:18:04,000 --> 00:18:06,000
  1579. 定義的那一頁裡面有提到的
  1580.  
  1581. 396
  1582. 00:18:06,000 --> 00:18:08,000
  1583. 會先經過這個由
  1584.  
  1585. 397
  1586. 00:18:08,000 --> 00:18:10,000
  1587. 私鑰去產生公鑰的過程
  1588.  
  1589. 398
  1590. 00:18:10,000 --> 00:18:12,000
  1591. 並且這個私鑰
  1592.  
  1593. 399
  1594. 00:18:12,000 --> 00:18:14,000
  1595. 一旦產生了這個公鑰之後
  1596.  
  1597. 400
  1598. 00:18:14,000 --> 00:18:16,000
  1599. 它們兩個就是成對的
  1600.  
  1601. 401
  1602. 00:18:16,000 --> 00:18:18,000
  1603. 就是每個人會有一對
  1604.  
  1605. 402
  1606. 00:18:18,000 --> 00:18:20,000
  1607. 自己的私鑰跟公鑰
  1608.  
  1609. 403
  1610. 00:18:20,000 --> 00:18:22,000
  1611. 所以一樣
  1612.  
  1613. 404
  1614. 00:18:22,000 --> 00:18:24,000
  1615. 這個圖畫的是說
  1616.  
  1617. 405
  1618. 00:18:24,000 --> 00:18:26,000
  1619. 不同的人要傳訊息給同一個接收方
  1620.  
  1621. 406
  1622. 00:18:26,000 --> 00:18:28,000
  1623. 他們所用來加密
  1624.  
  1625. 407
  1626. 00:18:28,000 --> 00:18:30,000
  1627. 訊息的這一把
  1628.  
  1629. 408
  1630. 00:18:30,000 --> 00:18:32,000
  1631. key通通都是同一把
  1632.  
  1633. 409
  1634. 00:18:32,000 --> 00:18:34,000
  1635. 因為他們用的是訊息接收方的公鑰
  1636.  
  1637. 410
  1638. 00:18:34,000 --> 00:18:38,000
  1639. 所以每個人要傳訊息給這個接收方的時候
  1640.  
  1641. 411
  1642. 00:18:38,000 --> 00:18:40,000
  1643. 他們都用訊息接收方的
  1644.  
  1645. 412
  1646. 00:18:40,000 --> 00:18:42,000
  1647. 公鑰來做加密
  1648.  
  1649. 413
  1650. 00:18:42,000 --> 00:18:44,000
  1651. 但是只有
  1652.  
  1653. 414
  1654. 00:18:44,000 --> 00:18:46,000
  1655. 接收方他自己擁有這個Secret Key的時候
  1656.  
  1657. 415
  1658. 00:18:46,000 --> 00:18:48,000
  1659. 才可以去做解密
  1660.  
  1661. 416
  1662. 00:18:48,000 --> 00:18:50,000
  1663. 這個是它的運作
  1664.  
  1665. 417
  1666. 00:18:50,000 --> 00:18:52,000
  1667. 是這樣子運作
  1668.  
  1669. 418
  1670. 00:18:52,000 --> 00:18:54,000
  1671. 比較好理解的一種方式
  1672.  
  1673. 419
  1674. 00:18:54,000 --> 00:18:56,000
  1675. 是可以把
  1676.  
  1677. 420
  1678. 00:18:56,000 --> 00:18:58,000
  1679. 公鑰這個事情
  1680.  
  1681. 421
  1682. 00:18:58,000 --> 00:19:00,000
  1683. 想成是地址或是信箱
  1684.  
  1685. 422
  1686. 00:19:00,000 --> 00:19:02,000
  1687. 或是可能會在家裡前面
  1688.  
  1689. 423
  1690. 00:19:02,000 --> 00:19:04,000
  1691. 投信的那種郵箱
  1692.  
  1693. 424
  1694. 00:19:04,000 --> 00:19:06,000
  1695. 任何人
  1696.  
  1697. 425
  1698. 00:19:06,000 --> 00:19:08,000
  1699. 都可以知道
  1700.  
  1701. 426
  1702. 00:19:08,000 --> 00:19:10,000
  1703. 要怎麼樣傳訊息給這個郵箱的主人
  1704.  
  1705. 427
  1706. 00:19:10,000 --> 00:19:12,000
  1707. 但是
  1708.  
  1709. 428
  1710. 00:19:12,000 --> 00:19:14,000
  1711. 郵箱你投進去但是你打不開
  1712.  
  1713. 429
  1714. 00:19:14,000 --> 00:19:16,000
  1715. 除非你有鑰匙
  1716.  
  1717. 430
  1718. 00:19:16,000 --> 00:19:18,000
  1719. 只有這個郵箱的主人
  1720.  
  1721. 431
  1722. 00:19:18,000 --> 00:19:20,000
  1723. 他有辦法打開這個郵箱去看裡面的信
  1724.  
  1725. 432
  1726. 00:19:20,000 --> 00:19:22,000
  1727. 看裡面的訊息
  1728.  
  1729. 433
  1730. 00:19:22,000 --> 00:19:24,000
  1731. 私鑰跟公鑰的概念
  1732.  
  1733. 434
  1734. 00:19:24,000 --> 00:19:26,000
  1735. 大概就是這樣
  1736.  
  1737. 435
  1738. 00:19:26,000 --> 00:19:28,000
  1739. 公鑰就像是一個地址
  1740.  
  1741. 436
  1742. 00:19:28,000 --> 00:19:30,000
  1743. 或是一個郵箱
  1744.  
  1745. 437
  1746. 00:19:30,000 --> 00:19:32,000
  1747. 更具體來說的話
  1748.  
  1749. 438
  1750. 00:19:32,000 --> 00:19:34,000
  1751. 現在常常在用的
  1752.  
  1753. 439
  1754. 00:19:34,000 --> 00:19:36,000
  1755. 像是比特幣這種東西
  1756.  
  1757. 440
  1758. 00:19:36,000 --> 00:19:38,000
  1759. 比特幣它的帳號
  1760.  
  1761. 441
  1762. 00:19:38,000 --> 00:19:40,000
  1763. 它其實就是公鑰
  1764.  
  1765. 442
  1766. 00:19:40,000 --> 00:19:42,000
  1767. 所以也蠻符合
  1768.  
  1769. 443
  1770. 00:19:42,000 --> 00:19:44,000
  1771. 公鑰就像是地址
  1772.  
  1773. 444
  1774. 00:19:44,000 --> 00:19:46,000
  1775. 任何人都可以傳過去
  1776.  
  1777. 445
  1778. 00:19:46,000 --> 00:19:48,000
  1779. 但是以比特幣來講
  1780.  
  1781. 446
  1782. 00:19:48,000 --> 00:19:50,000
  1783. 任何人都可以傳錢到你的地址
  1784.  
  1785. 447
  1786. 00:19:50,000 --> 00:19:52,000
  1787. 可是你要動裡面的錢
  1788.  
  1789. 448
  1790. 00:19:52,000 --> 00:19:54,000
  1791. 才能拿到鑰匙才能去動
  1792.  
  1793. 449
  1794. 00:19:54,000 --> 00:19:56,000
  1795. 它的概念大概是這樣
  1796.  
  1797. 450
  1798. 00:19:56,000 --> 00:20:00,000
  1799. 所以再來是談
  1800.  
  1801. 451
  1802. 00:20:00,000 --> 00:20:02,000
  1803. 非對稱式
  1804.  
  1805. 452
  1806. 00:20:02,000 --> 00:20:04,000
  1807. 密碼學
  1808.  
  1809. 453
  1810. 00:20:04,000 --> 00:20:06,000
  1811. 的一些性質
  1812.  
  1813. 454
  1814. 00:20:06,000 --> 00:20:08,000
  1815. 首先要
  1816.  
  1817. 455
  1818. 00:20:08,000 --> 00:20:10,000
  1819. 再釐清的是說非對稱式
  1820.  
  1821. 456
  1822. 00:20:10,000 --> 00:20:12,000
  1823. 的這種就是有私鑰
  1824.  
  1825. 457
  1826. 00:20:12,000 --> 00:20:14,000
  1827. 也有公鑰的這種數學來講
  1828.  
  1829. 458
  1830. 00:20:14,000 --> 00:20:16,000
  1831. 它能夠做到的事情
  1832.  
  1833. 459
  1834. 00:20:16,000 --> 00:20:18,000
  1835. 其實非常多種
  1836.  
  1837. 460
  1838. 00:20:18,000 --> 00:20:20,000
  1839. 絕對不只有做加密
  1840.  
  1841. 461
  1842. 00:20:20,000 --> 00:20:22,000
  1843. 這件事情
  1844.  
  1845. 462
  1846. 00:20:22,000 --> 00:20:24,000
  1847. 所以這邊大概列了
  1848.  
  1849. 463
  1850. 00:20:24,000 --> 00:20:26,000
  1851. 它能夠去做加密解密
  1852.  
  1853. 464
  1854. 00:20:26,000 --> 00:20:28,000
  1855. 我們剛剛提的
  1856.  
  1857. 465
  1858. 00:20:28,000 --> 00:20:30,000
  1859. 它能夠去做數位簽章
  1860.  
  1861. 466
  1862. 00:20:30,000 --> 00:20:32,000
  1863. 也能夠去做精要交換
  1864.  
  1865. 467
  1866. 00:20:32,000 --> 00:20:34,000
  1867. 下面兩個後面會提
  1868.  
  1869. 468
  1870. 00:20:34,000 --> 00:20:36,000
  1871. 這邊來講主要是
  1872.  
  1873. 469
  1874. 00:20:36,000 --> 00:20:38,000
  1875. 要先跟大家補充說
  1876.  
  1877. 470
  1878. 00:20:38,000 --> 00:20:40,000
  1879. 這種非對稱式的數學
  1880.  
  1881. 471
  1882. 00:20:40,000 --> 00:20:42,000
  1883. 它都是用一種叫做
  1884.  
  1885. 472
  1886. 00:20:42,000 --> 00:20:44,000
  1887. trapdoor
  1888.  
  1889. 473
  1890. 00:20:44,000 --> 00:20:46,000
  1891. one way function
  1892.  
  1893. 474
  1894. 00:20:46,000 --> 00:20:48,000
  1895. 這個算是陷阱門的
  1896.  
  1897. 475
  1898. 00:20:48,000 --> 00:20:50,000
  1899. 一個單數
  1900.  
  1901. 476
  1902. 00:20:50,000 --> 00:20:52,000
  1903. 陷阱門什麼意思就是說
  1904.  
  1905. 477
  1906. 00:20:52,000 --> 00:20:54,000
  1907. 我們今天要做陷阱的時候
  1908.  
  1909. 478
  1910. 00:20:54,000 --> 00:20:56,000
  1911. 我們會希望人家容易掉入這個陷阱
  1912.  
  1913. 479
  1914. 00:20:56,000 --> 00:20:58,000
  1915. 但是掉進去之後是沒有辦法反著出來的
  1916.  
  1917. 480
  1918. 00:20:58,000 --> 00:21:00,000
  1919. 這樣的概念
  1920.  
  1921. 481
  1922. 00:21:00,000 --> 00:21:02,000
  1923. 精神希望大家可以理解
  1924.  
  1925. 482
  1926. 00:21:02,000 --> 00:21:04,000
  1927. 它的具體來說
  1928.  
  1929. 483
  1930. 00:21:04,000 --> 00:21:06,000
  1931. 就是說
  1932.  
  1933. 484
  1934. 00:21:06,000 --> 00:21:08,000
  1935. 今天我們有
  1936.  
  1937. 485
  1938. 00:21:08,000 --> 00:21:10,000
  1939. 要用非對稱式的密碼學
  1940.  
  1941. 486
  1942. 00:21:10,000 --> 00:21:12,000
  1943. 的時候我們都會有
  1944.  
  1945. 487
  1946. 00:21:12,000 --> 00:21:14,000
  1947. 先從私鑰去產生公鑰
  1948.  
  1949. 488
  1950. 00:21:14,000 --> 00:21:16,000
  1951. 同時
  1952.  
  1953. 489
  1954. 00:21:16,000 --> 00:21:18,000
  1955. 我們剛剛也講過公鑰是可以
  1956.  
  1957. 490
  1958. 00:21:18,000 --> 00:21:20,000
  1959. 釋散在外的
  1960.  
  1961. 491
  1962. 00:21:20,000 --> 00:21:22,000
  1963. 為什麼它可以釋散在外
  1964.  
  1965. 492
  1966. 00:21:22,000 --> 00:21:24,000
  1967. 是因為我們有信心
  1968.  
  1969. 493
  1970. 00:21:24,000 --> 00:21:26,000
  1971. 依照它數學的原理
  1972.  
  1973. 494
  1974. 00:21:26,000 --> 00:21:28,000
  1975. 你今天有公鑰是沒有辦法
  1976.  
  1977. 495
  1978. 00:21:28,000 --> 00:21:30,000
  1979. 推回去施鑰的
  1980.  
  1981. 496
  1982. 00:21:30,000 --> 00:21:32,000
  1983. 它的安全性完全就建立在這個基礎之上
  1984.  
  1985. 497
  1986. 00:21:32,000 --> 00:21:38,000
  1987. 所以這邊介紹的是
  1988.  
  1989. 498
  1990. 00:21:38,000 --> 00:21:40,000
  1991. 它幾種不同功能的用法
  1992.  
  1993. 499
  1994. 00:21:40,000 --> 00:21:42,000
  1995. 以加解密而言的話
  1996.  
  1997. 500
  1998. 00:21:42,000 --> 00:21:44,000
  1999. 我們剛剛提過了
  2000.  
  2001. 501
  2002. 00:21:44,000 --> 00:21:46,000
  2003. 收訊息的人用施鑰去做解密
  2004.  
  2005. 502
  2006. 00:21:46,000 --> 00:21:48,000
  2007. 這方向會不太一樣
  2008.  
  2009. 503
  2010. 00:21:48,000 --> 00:21:50,000
  2011. 如果是以數位
  2012.  
  2013. 504
  2014. 00:21:50,000 --> 00:21:52,000
  2015. 簽章來講的話
  2016.  
  2017. 505
  2018. 00:21:52,000 --> 00:21:54,000
  2019. 它會用施鑰去
  2020.  
  2021. 506
  2022. 00:21:54,000 --> 00:21:56,000
  2023. 簽
  2024.  
  2025. 507
  2026. 00:21:56,000 --> 00:21:58,000
  2027. 大家可以用公鑰去確認
  2028.  
  2029. 508
  2030. 00:21:58,000 --> 00:22:00,000
  2031. 這個簽章
  2032.  
  2033. 509
  2034. 00:22:00,000 --> 00:22:02,000
  2035. 另外還有
  2036.  
  2037. 510
  2038. 00:22:02,000 --> 00:22:04,000
  2039. 精鑰交換的功能
  2040.  
  2041. 511
  2042. 00:22:04,000 --> 00:22:06,000
  2043. 我們透過交換
  2044.  
  2045. 512
  2046. 00:22:06,000 --> 00:22:08,000
  2047. 公鑰
  2048.  
  2049. 513
  2050. 00:22:08,000 --> 00:22:10,000
  2051. 去想辦法產生
  2052.  
  2053. 514
  2054. 00:22:10,000 --> 00:22:12,000
  2055. 一樣的對稱
  2056.  
  2057. 515
  2058. 00:22:12,000 --> 00:22:14,000
  2059. 精鑰
  2060.  
  2061. 516
  2062. 00:22:14,000 --> 00:22:16,000
  2063. 這邊還沒有要
  2064.  
  2065. 517
  2066. 00:22:16,000 --> 00:22:18,000
  2067. 不希望這邊先搞亂大家
  2068.  
  2069. 518
  2070. 00:22:18,000 --> 00:22:20,000
  2071. 主要的重點是在於說
  2072.  
  2073. 519
  2074. 00:22:20,000 --> 00:22:22,000
  2075. 非對稱式的密碼學
  2076.  
  2077. 520
  2078. 00:22:22,000 --> 00:22:24,000
  2079. 密碼系統它是有非常多的用途
  2080.  
  2081. 521
  2082. 00:22:24,000 --> 00:22:26,000
  2083. 我們剛剛提的是
  2084.  
  2085. 522
  2086. 00:22:26,000 --> 00:22:28,000
  2087. 先提了加解密的這一種
  2088.  
  2089. 523
  2090. 00:22:28,000 --> 00:22:30,000
  2091. 後續我們會提到其他的功能
  2092.  
  2093. 524
  2094. 00:22:30,000 --> 00:22:32,000
  2095. 也很多都會跟非對稱式
  2096.  
  2097. 525
  2098. 00:22:32,000 --> 00:22:34,000
  2099. 密碼學有關
  2100.  
  2101. 526
  2102. 00:22:34,000 --> 00:22:36,000
  2103. 一樣這邊有一張表
  2104.  
  2105. 527
  2106. 00:22:36,000 --> 00:22:38,000
  2107. 整理現在會在用的東西
  2108.  
  2109. 528
  2110. 00:22:38,000 --> 00:22:40,000
  2111. 整個非對稱式密碼學
  2112.  
  2113. 529
  2114. 00:22:40,000 --> 00:22:42,000
  2115. 的數學原理都是從
  2116.  
  2117. 530
  2118. 00:22:42,000 --> 00:22:44,000
  2119. Diffie-Hellman演算法來的
  2120.  
  2121. 531
  2122. 00:22:44,000 --> 00:22:46,000
  2123. 這是兩個姓氏
  2124.  
  2125. 532
  2126. 00:22:46,000 --> 00:22:48,000
  2127. 它最剛開始被發明
  2128.  
  2129. 533
  2130. 00:22:48,000 --> 00:22:50,000
  2131. 這是1975年的事情
  2132.  
  2133. 534
  2134. 00:22:50,000 --> 00:22:52,000
  2135. 純粹目的就是去
  2136.  
  2137. 535
  2138. 00:22:52,000 --> 00:22:54,000
  2139. 做精鑰交換
  2140.  
  2141. 536
  2142. 00:22:54,000 --> 00:22:56,000
  2143. 精鑰交換是一切非對稱式密碼學
  2144.  
  2145. 537
  2146. 00:22:56,000 --> 00:22:58,000
  2147. 的基礎
  2148.  
  2149. 538
  2150. 00:22:58,000 --> 00:23:00,000
  2151. 大部分我們看到的只要是
  2152.  
  2153. 539
  2154. 00:23:00,000 --> 00:23:02,000
  2155. 非對稱式的演算法
  2156.  
  2157. 540
  2158. 00:23:02,000 --> 00:23:04,000
  2159. 通常都一定
  2160.  
  2161. 541
  2162. 00:23:04,000 --> 00:23:06,000
  2163. 能夠做精鑰交換的功能
  2164.  
  2165. 542
  2166. 00:23:06,000 --> 00:23:08,000
  2167. 我們現在比較
  2168.  
  2169. 543
  2170. 00:23:08,000 --> 00:23:10,000
  2171. 常在用的
  2172.  
  2173. 544
  2174. 00:23:10,000 --> 00:23:12,000
  2175. 像是這邊列的這個橢圓曲線
  2176.  
  2177. 545
  2178. 00:23:12,000 --> 00:23:14,000
  2179. 跟我們前面定義裡面看到的
  2180.  
  2181. 546
  2182. 00:23:14,000 --> 00:23:16,000
  2183. 跟另外一種叫做RSA
  2184.  
  2185. 547
  2186. 00:23:16,000 --> 00:23:18,000
  2187. RSA來講
  2188.  
  2189. 548
  2190. 00:23:18,000 --> 00:23:20,000
  2191. 它是比較古老
  2192.  
  2193. 549
  2194. 00:23:20,000 --> 00:23:22,000
  2195. 但比較龐大一點的東西
  2196.  
  2197. 550
  2198. 00:23:22,000 --> 00:23:24,000
  2199. 現在還會用但比較少
  2200.  
  2201. 551
  2202. 00:23:24,000 --> 00:23:26,000
  2203. 最主要是因為它的精鑰的長度非常長
  2204.  
  2205. 552
  2206. 00:23:26,000 --> 00:23:28,000
  2207. 比較厚重
  2208.  
  2209. 553
  2210. 00:23:28,000 --> 00:23:30,000
  2211. 像這種東西可能會在哪裡看到
  2212.  
  2213. 554
  2214. 00:23:30,000 --> 00:23:32,000
  2215. 比方說信用卡裡面的那一顆
  2216.  
  2217. 555
  2218. 00:23:32,000 --> 00:23:34,000
  2219. IC
  2220.  
  2221. 556
  2222. 00:23:34,000 --> 00:23:36,000
  2223. 它裡面就會有用RSA去做
  2224.  
  2225. 557
  2226. 00:23:36,000 --> 00:23:38,000
  2227. 不管是做千張
  2228.  
  2229. 558
  2230. 00:23:38,000 --> 00:23:40,000
  2231. 通常是做千張的這種做法
  2232.  
  2233. 559
  2234. 00:23:40,000 --> 00:23:42,000
  2235. 是現在還有在用的
  2236.  
  2237. 560
  2238. 00:23:42,000 --> 00:23:44,000
  2239. 所以
  2240.  
  2241. 561
  2242. 00:23:44,000 --> 00:23:46,000
  2243. 剛剛也有提到過
  2244.  
  2245. 562
  2246. 00:23:46,000 --> 00:23:48,000
  2247. 我們提過比較模糊說
  2248.  
  2249. 563
  2250. 00:23:48,000 --> 00:23:50,000
  2251. 對稱式的加密算是安全
  2252.  
  2253. 564
  2254. 00:23:50,000 --> 00:23:52,000
  2255. 非對稱式的加密也算安全
  2256.  
  2257. 565
  2258. 00:23:52,000 --> 00:23:54,000
  2259. 具體來講有多安全的話
  2260.  
  2261. 566
  2262. 00:23:54,000 --> 00:23:56,000
  2263. 這邊就有一張對照表
  2264.  
  2265. 567
  2266. 00:23:56,000 --> 00:23:58,000
  2267. 可以給大家參考
  2268.  
  2269. 568
  2270. 00:23:58,000 --> 00:24:00,000
  2271. 這個對照表是純粹是用
  2272.  
  2273. 569
  2274. 00:24:00,000 --> 00:24:02,000
  2275. 精鑰的長度
  2276.  
  2277. 570
  2278. 00:24:02,000 --> 00:24:04,000
  2279. 然後去
  2280.  
  2281. 571
  2282. 00:24:04,000 --> 00:24:06,000
  2283. 用來做破解的難度
  2284.  
  2285. 572
  2286. 00:24:06,000 --> 00:24:08,000
  2287. 所以怎麼看
  2288.  
  2289. 573
  2290. 00:24:08,000 --> 00:24:10,000
  2291. 比方說以我們前面講說
  2292.  
  2293. 574
  2294. 00:24:10,000 --> 00:24:12,000
  2295. 隨便一個對測式的
  2296.  
  2297. 575
  2298. 00:24:12,000 --> 00:24:14,000
  2299. 演算法比方說AES
  2300.  
  2301. 576
  2302. 00:24:14,000 --> 00:24:16,000
  2303. 我們可能在128bit的時候
  2304.  
  2305. 577
  2306. 00:24:16,000 --> 00:24:18,000
  2307. 它的key長度128bit的時候
  2308.  
  2309. 578
  2310. 00:24:18,000 --> 00:24:20,000
  2311. 它相當於RSA的
  2312.  
  2313. 579
  2314. 00:24:20,000 --> 00:24:22,000
  2315. 3kbit的key長度
  2316.  
  2317. 580
  2318. 00:24:22,000 --> 00:24:24,000
  2319. 然後也相當於
  2320.  
  2321. 581
  2322. 00:24:24,000 --> 00:24:26,000
  2323. 這個橢圓曲線
  2324.  
  2325. 582
  2326. 00:24:26,000 --> 00:24:28,000
  2327. 密碼學差不多
  2328.  
  2329. 583
  2330. 00:24:28,000 --> 00:24:30,000
  2331. key長度為256bit左右
  2332.  
  2333. 584
  2334. 00:24:30,000 --> 00:24:32,000
  2335. 的強度
  2336.  
  2337. 585
  2338. 00:24:32,000 --> 00:24:34,000
  2339. 所以
  2340.  
  2341. 586
  2342. 00:24:34,000 --> 00:24:36,000
  2343. 這樣大家可以比較有
  2344.  
  2345. 587
  2346. 00:24:36,000 --> 00:24:38,000
  2347. 概念說為什麼RSA現在已經
  2348.  
  2349. 588
  2350. 00:24:38,000 --> 00:24:40,000
  2351. 慢慢的在退流行主要是因為
  2352.  
  2353. 589
  2354. 00:24:40,000 --> 00:24:42,000
  2355. 它要能夠達到同樣的強度
  2356.  
  2357. 590
  2358. 00:24:42,000 --> 00:24:44,000
  2359. 它所需要的精鑰的
  2360.  
  2361. 591
  2362. 00:24:44,000 --> 00:24:46,000
  2363. 長度很長
  2364.  
  2365. 592
  2366. 00:24:46,000 --> 00:24:48,000
  2367. 會卡在storage的問題
  2368.  
  2369. 593
  2370. 00:24:48,000 --> 00:24:50,000
  2371. 就是你反而你
  2372.  
  2373. 594
  2374. 00:24:50,000 --> 00:24:52,000
  2375. 裝置或是晶片裡面沒有那麼多的空間
  2376.  
  2377. 595
  2378. 00:24:52,000 --> 00:24:54,000
  2379. 可以用來儲存
  2380.  
  2381. 596
  2382. 00:24:54,000 --> 00:24:56,000
  2383. 用途比較單薄的
  2384.  
  2385. 597
  2386. 00:24:56,000 --> 00:24:58,000
  2387. 這種演算法的
  2388.  
  2389. 598
  2390. 00:24:58,000 --> 00:25:00,000
  2391. 參數
  2392.  
  2393. 599
  2394. 00:25:00,000 --> 00:25:02,000
  2395. 這中間的話是
  2396.  
  2397. 600
  2398. 00:25:02,000 --> 00:25:04,000
  2399. 原始的
  2400.  
  2401. 601
  2402. 00:25:04,000 --> 00:25:06,000
  2403. Diffie-Hellman跟
  2404.  
  2405. 602
  2406. 00:25:06,000 --> 00:25:08,000
  2407. 由NIST
  2408.  
  2409. 603
  2410. 00:25:08,000 --> 00:25:10,000
  2411. 國家技術標準局他們所發布的一種
  2412.  
  2413. 604
  2414. 00:25:10,000 --> 00:25:12,000
  2415. 比較基礎的數位簽章的算法
  2416.  
  2417. 605
  2418. 00:25:12,000 --> 00:25:14,000
  2419. 這個當然是因為
  2420.  
  2421. 606
  2422. 00:25:14,000 --> 00:25:16,000
  2423. 比較早期的東西所以它所需要的
  2424.  
  2425. 607
  2426. 00:25:16,000 --> 00:25:18,000
  2427. 分量又更大
  2428.  
  2429. 608
  2430. 00:25:18,000 --> 00:25:20,000
  2431. 所以
  2432.  
  2433. 609
  2434. 00:25:20,000 --> 00:25:22,000
  2435. 再回過頭來說就是說
  2436.  
  2437. 610
  2438. 00:25:22,000 --> 00:25:24,000
  2439. 雖然我們說
  2440.  
  2441. 611
  2442. 00:25:24,000 --> 00:25:26,000
  2443. 在這邊可以看到的是說
  2444.  
  2445. 612
  2446. 00:25:26,000 --> 00:25:28,000
  2447. 對測式的演算法它好像是數字最小的
  2448.  
  2449. 613
  2450. 00:25:28,000 --> 00:25:30,000
  2451. 是沒有錯
  2452.  
  2453. 614
  2454. 00:25:30,000 --> 00:25:32,000
  2455. 但是重點還是在於說
  2456.  
  2457. 615
  2458. 00:25:32,000 --> 00:25:34,000
  2459. 它有先天的缺陷
  2460.  
  2461. 616
  2462. 00:25:34,000 --> 00:25:36,000
  2463. 它會有精鑰傳遞的問題
  2464.  
  2465. 617
  2466. 00:25:36,000 --> 00:25:38,000
  2467. 接下來我們就要看
  2468.  
  2469. 618
  2470. 00:25:38,000 --> 00:25:40,000
  2471. 到底什麼樣叫
  2472.  
  2473. 619
  2474. 00:25:40,000 --> 00:25:42,000
  2475. 我剛剛講的精鑰傳遞的問題
  2476.  
  2477. 620
  2478. 00:25:42,000 --> 00:25:44,000
  2479. 我們都知道說
  2480.  
  2481. 621
  2482. 00:25:44,000 --> 00:25:46,000
  2483. 你要用對測式的加密演算法的時候
  2484.  
  2485. 622
  2486. 00:25:46,000 --> 00:25:48,000
  2487. 你這個
  2488.  
  2489. 623
  2490. 00:25:48,000 --> 00:25:50,000
  2491. 訊息的傳送方跟接收方
  2492.  
  2493. 624
  2494. 00:25:50,000 --> 00:25:52,000
  2495. 兩邊必須要持有
  2496.  
  2497. 625
  2498. 00:25:52,000 --> 00:25:54,000
  2499. 同樣的一把鑰匙
  2500.  
  2501. 626
  2502. 00:25:54,000 --> 00:25:56,000
  2503. 其中一方用這一把
  2504.  
  2505. 627
  2506. 00:25:56,000 --> 00:25:58,000
  2507. 鑰匙做加密
  2508.  
  2509. 628
  2510. 00:25:58,000 --> 00:26:00,000
  2511. 另外一方有同樣的鑰匙它就可以用這一把鑰匙做解密
  2512.  
  2513. 629
  2514. 00:26:00,000 --> 00:26:02,000
  2515. 所以我們要
  2516.  
  2517. 630
  2518. 00:26:02,000 --> 00:26:04,000
  2519. initiate一個對話
  2520.  
  2521. 631
  2522. 00:26:04,000 --> 00:26:06,000
  2523. 它大概會發生什麼事
  2524.  
  2525. 632
  2526. 00:26:06,000 --> 00:26:08,000
  2527. 我們首先我們要做加密通訊
  2528.  
  2529. 633
  2530. 00:26:08,000 --> 00:26:10,000
  2531. 我們當然就要能夠去加密
  2532.  
  2533. 634
  2534. 00:26:10,000 --> 00:26:12,000
  2535. 訊息或是資料
  2536.  
  2537. 635
  2538. 00:26:12,000 --> 00:26:14,000
  2539. 為了要加密這個資料
  2540.  
  2541. 636
  2542. 00:26:14,000 --> 00:26:16,000
  2543. 我們會需要一把key
  2544.  
  2545. 637
  2546. 00:26:16,000 --> 00:26:18,000
  2547. 為了要
  2548.  
  2549. 638
  2550. 00:26:18,000 --> 00:26:20,000
  2551. 但是我們要
  2552.  
  2553. 639
  2554. 00:26:20,000 --> 00:26:22,000
  2555. 如何由一方產生這一把key之後
  2556.  
  2557. 640
  2558. 00:26:22,000 --> 00:26:24,000
  2559. 傳送到另外一方
  2560.  
  2561. 641
  2562. 00:26:24,000 --> 00:26:26,000
  2563. 所以我們最直覺的方法就是
  2564.  
  2565. 642
  2566. 00:26:26,000 --> 00:26:28,000
  2567. 把這一把key去做加密
  2568.  
  2569. 643
  2570. 00:26:28,000 --> 00:26:30,000
  2571. 要把這一把key做加密的時候
  2572.  
  2573. 644
  2574. 00:26:30,000 --> 00:26:32,000
  2575. 我們會需要另外一把key
  2576.  
  2577. 645
  2578. 00:26:32,000 --> 00:26:34,000
  2579. 所以從這邊開始下面就是
  2580.  
  2581. 646
  2582. 00:26:34,000 --> 00:26:36,000
  2583. 不斷的在循環
  2584.  
  2585. 647
  2586. 00:26:36,000 --> 00:26:38,000
  2587. 所以精鑰傳遞的問題的意思是在這裡
  2588.  
  2589. 648
  2590. 00:26:38,000 --> 00:26:40,000
  2591. 就是說
  2592.  
  2593. 649
  2594. 00:26:40,000 --> 00:26:42,000
  2595. 除非你很確定一開始就已經有
  2596.  
  2597. 650
  2598. 00:26:42,000 --> 00:26:44,000
  2599. 兩把中好的key在裡面
  2600.  
  2601. 651
  2602. 00:26:44,000 --> 00:26:46,000
  2603. 同樣的一把key
  2604.  
  2605. 652
  2606. 00:26:46,000 --> 00:26:48,000
  2607. 然後在訊息的傳送跟接收方
  2608.  
  2609. 653
  2610. 00:26:48,000 --> 00:26:50,000
  2611. 中好在裡面的話
  2612.  
  2613. 654
  2614. 00:26:50,000 --> 00:26:52,000
  2615. 不然在一開始
  2616.  
  2617. 655
  2618. 00:26:52,000 --> 00:26:54,000
  2619. 沒有共同的這一把精鑰狀況下
  2620.  
  2621. 656
  2622. 00:26:54,000 --> 00:26:56,000
  2623. 一定會遇到這樣的問題
  2624.  
  2625. 657
  2626. 00:26:56,000 --> 00:26:58,000
  2627. 就是說到底怎麼樣能夠安全的傳遞精鑰
  2628.  
  2629. 658
  2630. 00:26:58,000 --> 00:27:00,000
  2631. 那
  2632.  
  2633. 659
  2634. 00:27:00,000 --> 00:27:02,000
  2635. 以密碼學而言的話
  2636.  
  2637. 660
  2638. 00:27:02,000 --> 00:27:04,000
  2639. 解決這個問題是有幾種方法
  2640.  
  2641. 661
  2642. 00:27:04,000 --> 00:27:06,000
  2643. 那
  2644.  
  2645. 662
  2646. 00:27:06,000 --> 00:27:08,000
  2647. 首先我們看的是第一種
  2648.  
  2649. 663
  2650. 00:27:08,000 --> 00:27:10,000
  2651. 第一種當然是像我們剛剛講的
  2652.  
  2653. 664
  2654. 00:27:10,000 --> 00:27:12,000
  2655. 如果你在加密的時候
  2656.  
  2657. 665
  2658. 00:27:12,000 --> 00:27:14,000
  2659. 使用非對稱式的密碼學
  2660.  
  2661. 666
  2662. 00:27:14,000 --> 00:27:16,000
  2663. 也就是說我們剛剛提過那種
  2664.  
  2665. 667
  2666. 00:27:16,000 --> 00:27:18,000
  2667. 用訊息接收方的
  2668.  
  2669. 668
  2670. 00:27:18,000 --> 00:27:20,000
  2671. A要傳訊息給B
  2672.  
  2673. 669
  2674. 00:27:20,000 --> 00:27:22,000
  2675. 那A把訊息用B的公要
  2676.  
  2677. 670
  2678. 00:27:22,000 --> 00:27:24,000
  2679. 做加密
  2680.  
  2681. 671
  2682. 00:27:24,000 --> 00:27:26,000
  2683. 並且讓B用他自己的
  2684.  
  2685. 672
  2686. 00:27:26,000 --> 00:27:28,000
  2687. 私要做解密
  2688.  
  2689. 673
  2690. 00:27:28,000 --> 00:27:30,000
  2691. 這個是絕對可以行得通
  2692.  
  2693. 674
  2694. 00:27:30,000 --> 00:27:32,000
  2695. 但是比較沒有效率
  2696.  
  2697. 675
  2698. 00:27:32,000 --> 00:27:34,000
  2699. 為什麼 因為最主要的問題
  2700.  
  2701. 676
  2702. 00:27:34,000 --> 00:27:36,000
  2703. 是前面有提過他
  2704.  
  2705. 677
  2706. 00:27:36,000 --> 00:27:38,000
  2707. 數學比較難 運算比較慢
  2708.  
  2709. 678
  2710. 00:27:38,000 --> 00:27:40,000
  2711. 所以我們會盡可能的
  2712.  
  2713. 679
  2714. 00:27:40,000 --> 00:27:42,000
  2715. 希望能夠減少
  2716.  
  2717. 680
  2718. 00:27:42,000 --> 00:27:44,000
  2719. 減少這個
  2720.  
  2721. 681
  2722. 00:27:44,000 --> 00:27:46,000
  2723. 非對稱式加密
  2724.  
  2725. 682
  2726. 00:27:46,000 --> 00:27:48,000
  2727. 的使用
  2728.  
  2729. 683
  2730. 00:27:48,000 --> 00:27:50,000
  2731. 就加密而言 我們絕對是
  2732.  
  2733. 684
  2734. 00:27:50,000 --> 00:27:52,000
  2735. 希望能夠使用對稱式加密
  2736.  
  2737. 685
  2738. 00:27:52,000 --> 00:27:54,000
  2739. 又快又安全
  2740.  
  2741. 686
  2742. 00:27:54,000 --> 00:27:56,000
  2743. 是最好的 所以只要能夠
  2744.  
  2745. 687
  2746. 00:27:56,000 --> 00:27:58,000
  2747. 解決那個傳遞精鑰的難題
  2748.  
  2749. 688
  2750. 00:27:58,000 --> 00:28:00,000
  2751. 之後 接下來
  2752.  
  2753. 689
  2754. 00:28:00,000 --> 00:28:02,000
  2755. 我們在做
  2756.  
  2757. 690
  2758. 00:28:02,000 --> 00:28:04,000
  2759. 加密溝通的時候都希望
  2760.  
  2761. 691
  2762. 00:28:04,000 --> 00:28:06,000
  2763. 能夠用對稱式的
  2764.  
  2765. 692
  2766. 00:28:06,000 --> 00:28:08,000
  2767. 對稱式的算法來做
  2768.  
  2769. 693
  2770. 00:28:08,000 --> 00:28:10,000
  2771. 所以第一種
  2772.  
  2773. 694
  2774. 00:28:10,000 --> 00:28:12,000
  2775. 解決方案顯然
  2776.  
  2777. 695
  2778. 00:28:12,000 --> 00:28:14,000
  2779. 是不太理想就是說
  2780.  
  2781. 696
  2782. 00:28:14,000 --> 00:28:16,000
  2783. 他因為他要用到比較
  2784.  
  2785. 697
  2786. 00:28:16,000 --> 00:28:18,000
  2787. 多費資源的非對稱式的
  2788.  
  2789. 698
  2790. 00:28:18,000 --> 00:28:20,000
  2791. 加密的做法 所以不推薦
  2792.  
  2793. 699
  2794. 00:28:20,000 --> 00:28:22,000
  2795. 再來還有第二種
  2796.  
  2797. 700
  2798. 00:28:22,000 --> 00:28:24,000
  2799. 跟第三種
  2800.  
  2801. 701
  2802. 00:28:24,000 --> 00:28:32,000
  2803. 接下來的話
  2804.  
  2805. 702
  2806. 00:28:32,000 --> 00:28:34,000
  2807. 接下來的話
  2808.  
  2809. 703
  2810. 00:28:34,000 --> 00:28:36,000
  2811. 我們希望能夠把
  2812.  
  2813. 704
  2814. 00:28:36,000 --> 00:28:38,000
  2815. 大家分成四組
  2816.  
  2817. 705
  2818. 00:28:38,000 --> 00:28:40,000
  2819. 讓大家去討論
  2820.  
  2821. 706
  2822. 00:28:40,000 --> 00:28:42,000
  2823. 推導看看第二種解法
  2824.  
  2825. 707
  2826. 00:28:42,000 --> 00:28:44,000
  2827. 當然我會給一定程度的提示
  2828.  
  2829. 708
  2830. 00:28:44,000 --> 00:28:46,000
  2831. 主要是
  2832.  
  2833. 709
  2834. 00:28:46,000 --> 00:28:48,000
  2835. 有奉命要
  2836.  
  2837. 710
  2838. 00:28:48,000 --> 00:28:50,000
  2839. 做exercise 所以大家多包涵
  2840.  
  2841. 711
  2842. 00:28:50,000 --> 00:28:52,000
  2843. 所以
  2844.  
  2845. 712
  2846. 00:28:52,000 --> 00:28:54,000
  2847. 分四組的話
  2848.  
  2849. 713
  2850. 00:28:54,000 --> 00:28:56,000
  2851. 白色椅子前後
  2852.  
  2853. 714
  2854. 00:28:56,000 --> 00:28:58,000
  2855. 是
  2856.  
  2857. 715
  2858. 00:28:58,000 --> 00:29:00,000
  2859. 兩邊
  2860.  
  2861. 716
  2862. 00:29:00,000 --> 00:29:02,000
  2863. 現在如果大家都已經知道自己屬於哪一組的話
  2864.  
  2865. 717
  2866. 00:29:02,000 --> 00:29:04,000
  2867. 我這邊再把問題
  2868.  
  2869. 718
  2870. 00:29:04,000 --> 00:29:06,000
  2871. 描述得清楚一點
  2872.  
  2873. 719
  2874. 00:29:06,000 --> 00:29:08,000
  2875. 為了要解決
  2876.  
  2877. 720
  2878. 00:29:08,000 --> 00:29:10,000
  2879. 精鑰傳遞的問題
  2880.  
  2881. 721
  2882. 00:29:10,000 --> 00:29:12,000
  2883. 我們剛剛提過可能可以用
  2884.  
  2885. 722
  2886. 00:29:12,000 --> 00:29:14,000
  2887. 現在上面所列的
  2888.  
  2889. 723
  2890. 00:29:14,000 --> 00:29:16,000
  2891. 你單純的用
  2892.  
  2893. 724
  2894. 00:29:16,000 --> 00:29:18,000
  2895. 非對稱式的加密來做
  2896.  
  2897. 725
  2898. 00:29:18,000 --> 00:29:20,000
  2899. 但是不推薦 因為他比較厚重
  2900.  
  2901. 726
  2902. 00:29:20,000 --> 00:29:22,000
  2903. 那有沒有
  2904.  
  2905. 727
  2906. 00:29:22,000 --> 00:29:24,000
  2907. 其他種方法可以混合
  2908.  
  2909. 728
  2910. 00:29:24,000 --> 00:29:26,000
  2911. 非對稱式跟
  2912.  
  2913. 729
  2914. 00:29:26,000 --> 00:29:28,000
  2915. 對稱式的使用
  2916.  
  2917. 730
  2918. 00:29:28,000 --> 00:29:30,000
  2919. 可以達到我們的目的
  2920.  
  2921. 731
  2922. 00:29:30,000 --> 00:29:32,000
  2923. 我再試著
  2924.  
  2925. 732
  2926. 00:29:32,000 --> 00:29:34,000
  2927. 把題目說明得清楚一點
  2928.  
  2929. 733
  2930. 00:29:34,000 --> 00:29:36,000
  2931. 就是說為了
  2932.  
  2933. 734
  2934. 00:29:36,000 --> 00:29:38,000
  2935. 要解決精鑰傳遞的問題
  2936.  
  2937. 735
  2938. 00:29:38,000 --> 00:29:40,000
  2939. 我們的目標是希望
  2940.  
  2941. 736
  2942. 00:29:40,000 --> 00:29:42,000
  2943. 溝通能夠使用
  2944.  
  2945. 737
  2946. 00:29:42,000 --> 00:29:44,000
  2947. 對稱式的密碼學演算法來做溝通
  2948.  
  2949. 738
  2950. 00:29:44,000 --> 00:29:46,000
  2951. 可是那一把key
  2952.  
  2953. 739
  2954. 00:29:46,000 --> 00:29:48,000
  2955. 要怎麼辦
  2956.  
  2957. 740
  2958. 00:29:48,000 --> 00:29:50,000
  2959. 因為一開始沒有兩邊都有同樣的
  2960.  
  2961. 741
  2962. 00:29:50,000 --> 00:29:52,000
  2963. 這把key
  2964.  
  2965. 742
  2966. 00:29:52,000 --> 00:29:56,000
  2967. 希望大家可以
  2968.  
  2969. 743
  2970. 00:29:56,000 --> 00:29:58,000
  2971. 稍微看看那個中間的那一行
  2972.  
  2973. 744
  2974. 00:29:58,000 --> 00:30:00,000
  2975. 就是灰色的那個字
  2976.  
  2977. 745
  2978. 00:30:00,000 --> 00:30:02,000
  2979. 有哪一組還需要時間討論嗎
  2980.  
  2981. 746
  2982. 00:30:02,000 --> 00:30:06,000
  2983. 沒有
  2984.  
  2985. 747
  2986. 00:30:08,000 --> 00:30:10,000
  2987. 那
  2988.  
  2989. 748
  2990. 00:30:10,000 --> 00:30:12,000
  2991. 有哪一組有人要自願嗎
  2992.  
  2993. 749
  2994. 00:30:12,000 --> 00:30:22,000
  2995. 那我們這一組的朋友
  2996.  
  2997. 750
  2998. 00:30:22,000 --> 00:30:24,000
  2999. 可以派一個代表回答嗎
  3000.  
  3001. 751
  3002. 00:30:24,000 --> 00:30:34,000
  3003. 用非對稱式加密去加密
  3004.  
  3005. 752
  3006. 00:30:34,000 --> 00:30:36,000
  3007. 你要傳輸的那一把鑰匙
  3008.  
  3009. 753
  3010. 00:30:36,000 --> 00:30:38,000
  3011. 這樣至少
  3012.  
  3013. 754
  3014. 00:30:38,000 --> 00:30:40,000
  3015. 因為鑰匙的長度基本上遠小於
  3016.  
  3017. 755
  3018. 00:30:40,000 --> 00:30:42,000
  3019. 你data要傳輸的長度
  3020.  
  3021. 756
  3022. 00:30:42,000 --> 00:30:44,000
  3023. 所以這樣的做法應該會
  3024.  
  3025. 757
  3026. 00:30:44,000 --> 00:30:46,000
  3027. 有效的節省你的運算資源
  3028.  
  3029. 758
  3030. 00:30:46,000 --> 00:30:48,000
  3031. 然後本身資料的部分
  3032.  
  3033. 759
  3034. 00:30:48,000 --> 00:30:50,000
  3035. 還是用對稱式加密加密就好
  3036.  
  3037. 760
  3038. 00:30:50,000 --> 00:31:00,000
  3039. 非常非常的正確且詳細
  3040.  
  3041. 761
  3042. 00:31:00,000 --> 00:31:02,000
  3043. 謝謝
  3044.  
  3045. 762
  3046. 00:31:02,000 --> 00:31:06,000
  3047. 本來應該要點第二組的
  3048.  
  3049. 763
  3050. 00:31:06,000 --> 00:31:08,000
  3051. 可是被你講完
  3052.  
  3053. 764
  3054. 00:31:08,000 --> 00:31:18,000
  3055. 得到了大家的尊重
  3056.  
  3057. 765
  3058. 00:31:18,000 --> 00:31:26,000
  3059. 所以確實
  3060.  
  3061. 766
  3062. 00:31:26,000 --> 00:31:28,000
  3063. 就是剛剛提的情境裡面
  3064.  
  3065. 767
  3066. 00:31:28,000 --> 00:31:30,000
  3067. 重點是在於說
  3068.  
  3069. 768
  3070. 00:31:30,000 --> 00:31:32,000
  3071. 最後在做加密傳輸
  3072.  
  3073. 769
  3074. 00:31:32,000 --> 00:31:34,000
  3075. 主要的溝通的
  3076.  
  3077. 770
  3078. 00:31:34,000 --> 00:31:36,000
  3079. 要加密的訊息的時候
  3080.  
  3081. 771
  3082. 00:31:36,000 --> 00:31:38,000
  3083. 我們絕對是希望使用對稱式的
  3084.  
  3085. 772
  3086. 00:31:38,000 --> 00:31:40,000
  3087. 演算法是比較有效率的
  3088.  
  3089. 773
  3090. 00:31:40,000 --> 00:31:42,000
  3091. 但是我們為了要解決前面的
  3092.  
  3093. 774
  3094. 00:31:42,000 --> 00:31:44,000
  3095. 鑰匙傳遞的問題
  3096.  
  3097. 775
  3098. 00:31:44,000 --> 00:31:46,000
  3099. 我們可以容許我們稍微的
  3100.  
  3101. 776
  3102. 00:31:46,000 --> 00:31:48,000
  3103. 使用非對稱式的
  3104.  
  3105. 777
  3106. 00:31:48,000 --> 00:31:50,000
  3107. 加密的方法
  3108.  
  3109. 778
  3110. 00:31:50,000 --> 00:31:52,000
  3111. 來去加密那一把鑰匙
  3112.  
  3113. 779
  3114. 00:31:52,000 --> 00:31:54,000
  3115. 因為鑰匙的長度絕對會是
  3116.  
  3117. 780
  3118. 00:31:54,000 --> 00:31:56,000
  3119. 比這個訊息還要短上很多
  3120.  
  3121. 781
  3122. 00:31:56,000 --> 00:31:58,000
  3123. 所以這邊有列幾個圖示
  3124.  
  3125. 782
  3126. 00:31:58,000 --> 00:32:02,000
  3127. 首先我們希望最後
  3128.  
  3129. 783
  3130. 00:32:02,000 --> 00:32:04,000
  3131. 能夠使用這一把
  3132.  
  3133. 784
  3134. 00:32:04,000 --> 00:32:06,000
  3135. 紅色的key來當作對稱式的
  3136.  
  3137. 785
  3138. 00:32:06,000 --> 00:32:08,000
  3139. 機要來做加密
  3140.  
  3141. 786
  3142. 00:32:08,000 --> 00:32:10,000
  3143. 所以一開始我們會要怎麼樣做
  3144.  
  3145. 787
  3146. 00:32:10,000 --> 00:32:12,000
  3147. 我們會把它
  3148.  
  3149. 788
  3150. 00:32:12,000 --> 00:32:14,000
  3151. 就像剛剛這位同仁講
  3152.  
  3153. 789
  3154. 00:32:14,000 --> 00:32:16,000
  3155. 我們會把鑰匙當作是
  3156.  
  3157. 790
  3158. 00:32:16,000 --> 00:32:18,000
  3159. 訊息
  3160.  
  3161. 791
  3162. 00:32:18,000 --> 00:32:20,000
  3163. 然後A
  3164.  
  3165. 792
  3166. 00:32:20,000 --> 00:32:22,000
  3167. 用接收方B的
  3168.  
  3169. 793
  3170. 00:32:22,000 --> 00:32:24,000
  3171. 公鑰做加密之後
  3172.  
  3173. 794
  3174. 00:32:24,000 --> 00:32:26,000
  3175. 然後傳送B用他的
  3176.  
  3177. 795
  3178. 00:32:26,000 --> 00:32:28,000
  3179. 鑰匙去做解密
  3180.  
  3181. 796
  3182. 00:32:28,000 --> 00:32:30,000
  3183. 然後得到這把紅色的鑰匙
  3184.  
  3185. 797
  3186. 00:32:30,000 --> 00:32:32,000
  3187. 接下來的溝通的話
  3188.  
  3189. 798
  3190. 00:32:32,000 --> 00:32:34,000
  3191. 就會是AV雙方是用這一把
  3192.  
  3193. 799
  3194. 00:32:34,000 --> 00:32:36,000
  3195. 已經傳過來並且
  3196.  
  3197. 800
  3198. 00:32:36,000 --> 00:32:38,000
  3199. 解回去的這把紅色的鑰匙
  3200.  
  3201. 801
  3202. 00:32:38,000 --> 00:32:40,000
  3203. 來做訊息的加密
  3204.  
  3205. 802
  3206. 00:32:40,000 --> 00:32:42,000
  3207. 所以這是簡化的圖示
  3208.  
  3209. 803
  3210. 00:32:42,000 --> 00:32:46,000
  3211. 所以幾個重點就是說
  3212.  
  3213. 804
  3214. 00:32:46,000 --> 00:32:50,000
  3215. 非對稱式的加密不是不能用
  3216.  
  3217. 805
  3218. 00:32:50,000 --> 00:32:52,000
  3219. 而是要小心使用
  3220.  
  3221. 806
  3222. 00:32:52,000 --> 00:32:54,000
  3223. 大量的用它
  3224.  
  3225. 807
  3226. 00:32:54,000 --> 00:32:56,000
  3227. 然後它會運算的時間比較久
  3228.  
  3229. 808
  3230. 00:32:56,000 --> 00:32:58,000
  3231. 或是耗比較多資源
  3232.  
  3233. 809
  3234. 00:32:58,000 --> 00:33:02,000
  3235. 接下來的話我們下一個
  3236.  
  3237. 810
  3238. 00:33:02,000 --> 00:33:04,000
  3239. 要提的是資料完整性
  3240.  
  3241. 811
  3242. 00:33:04,000 --> 00:33:06,000
  3243. 資料完整性的話像我們
  3244.  
  3245. 812
  3246. 00:33:06,000 --> 00:33:08,000
  3247. 前面定義裡面有看到的一個
  3248.  
  3249. 813
  3250. 00:33:08,000 --> 00:33:10,000
  3251. 果汁機我們通常會使用
  3252.  
  3253. 814
  3254. 00:33:10,000 --> 00:33:12,000
  3255. 雜湊函數
  3256.  
  3257. 815
  3258. 00:33:12,000 --> 00:33:14,000
  3259. 來做資料完整性
  3260.  
  3261. 816
  3262. 00:33:14,000 --> 00:33:16,000
  3263. 首先雜湊函數的話
  3264.  
  3265. 817
  3266. 00:33:16,000 --> 00:33:18,000
  3267. 大家可能也熟悉
  3268.  
  3269. 818
  3270. 00:33:18,000 --> 00:33:20,000
  3271. 它的重點跟我們剛剛提過一樣是說
  3272.  
  3273. 819
  3274. 00:33:20,000 --> 00:33:22,000
  3275. 它是有
  3276.  
  3277. 820
  3278. 00:33:22,000 --> 00:33:24,000
  3279. 它會有任意長度的輸入
  3280.  
  3281. 821
  3282. 00:33:24,000 --> 00:33:26,000
  3283. 把它進到這個
  3284.  
  3285. 822
  3286. 00:33:26,000 --> 00:33:28,000
  3287. Hash function之後
  3288.  
  3289. 823
  3290. 00:33:28,000 --> 00:33:30,000
  3291. 它會轉成固定長度的輸出
  3292.  
  3293. 824
  3294. 00:33:30,000 --> 00:33:34,000
  3295. 任意長度的輸入
  3296.  
  3297. 825
  3298. 00:33:34,000 --> 00:33:36,000
  3299. 進果汁機出來變成固定長度的輸出
  3300.  
  3301. 826
  3302. 00:33:36,000 --> 00:33:38,000
  3303. 所以我們一般
  3304.  
  3305. 827
  3306. 00:33:38,000 --> 00:33:40,000
  3307. 習慣叫它出來的
  3308.  
  3309. 828
  3310. 00:33:40,000 --> 00:33:42,000
  3311. output叫做digest
  3312.  
  3313. 829
  3314. 00:33:42,000 --> 00:33:44,000
  3315. 像載要一樣就是訊息載要
  3316.  
  3317. 830
  3318. 00:33:44,000 --> 00:33:46,000
  3319. 但這個載要並不包含它任何
  3320.  
  3321. 831
  3322. 00:33:46,000 --> 00:33:48,000
  3323. 字面的就是並不包含
  3324.  
  3325. 832
  3326. 00:33:48,000 --> 00:33:50,000
  3327. 訊息任何字面的意思
  3328.  
  3329. 833
  3330. 00:33:50,000 --> 00:33:52,000
  3331. 而是就是一串
  3332.  
  3333. 834
  3334. 00:33:52,000 --> 00:33:54,000
  3335. 一串Hax通常都是Hax
  3336.  
  3337. 835
  3338. 00:33:54,000 --> 00:33:58,000
  3339. 這樣的
  3340.  
  3341. 836
  3342. 00:33:58,000 --> 00:34:00,000
  3343. 雜湊函數
  3344.  
  3345. 837
  3346. 00:34:00,000 --> 00:34:02,000
  3347. 它就有幾個性質
  3348.  
  3349. 838
  3350. 00:34:02,000 --> 00:34:04,000
  3351. 我們一個一個看
  3352.  
  3353. 839
  3354. 00:34:04,000 --> 00:34:06,000
  3355. 首先來講就是剛剛這個
  3356.  
  3357. 840
  3358. 00:34:06,000 --> 00:34:08,000
  3359. 很重要的任意長度這件事情
  3360.  
  3361. 841
  3362. 00:34:08,000 --> 00:34:10,000
  3363. 依據
  3364.  
  3365. 842
  3366. 00:34:10,000 --> 00:34:12,000
  3367. 你所使用的雜湊函數
  3368.  
  3369. 843
  3370. 00:34:12,000 --> 00:34:14,000
  3371. 而不同
  3372.  
  3373. 844
  3374. 00:34:14,000 --> 00:34:16,000
  3375. 它的輸出的長度也會不同
  3376.  
  3377. 845
  3378. 00:34:16,000 --> 00:34:18,000
  3379. 短的可能128或64
  3380.  
  3381. 846
  3382. 00:34:18,000 --> 00:34:20,000
  3383. 或是到一般比較常
  3384.  
  3385. 847
  3386. 00:34:20,000 --> 00:34:22,000
  3387. 使用的256
  3388.  
  3389. 848
  3390. 00:34:22,000 --> 00:34:24,000
  3391. 或是更長的512這種
  3392.  
  3393. 849
  3394. 00:34:24,000 --> 00:34:26,000
  3395. 但是不管怎麼樣
  3396.  
  3397. 850
  3398. 00:34:26,000 --> 00:34:28,000
  3399. 它都一定要能夠吃任意
  3400.  
  3401. 851
  3402. 00:34:28,000 --> 00:34:30,000
  3403. 任意長度的輸入
  3404.  
  3405. 852
  3406. 00:34:30,000 --> 00:34:32,000
  3407. 注意是任意而且沒有上限
  3408.  
  3409. 853
  3410. 00:34:32,000 --> 00:34:36,000
  3411. 所以這邊的圖示大概就是這樣
  3412.  
  3413. 854
  3414. 00:34:36,000 --> 00:34:38,000
  3415. 你不管輸入的是
  3416.  
  3417. 855
  3418. 00:34:38,000 --> 00:34:40,000
  3419. 很長的或是很短的
  3420.  
  3421. 856
  3422. 00:34:40,000 --> 00:34:42,000
  3423. 只有一個字母
  3424.  
  3425. 857
  3426. 00:34:42,000 --> 00:34:44,000
  3427. 甚至是空集合
  3428.  
  3429. 858
  3430. 00:34:44,000 --> 00:34:46,000
  3431. 甚至你的input是空的
  3432.  
  3433. 859
  3434. 00:34:46,000 --> 00:34:48,000
  3435. 它都要有辦法凸東西給你
  3436.  
  3437. 860
  3438. 00:34:48,000 --> 00:34:50,000
  3439. 它都要有辦法凸出固定長度的摘要給你
  3440.  
  3441. 861
  3442. 00:34:50,000 --> 00:34:52,000
  3443. 那當然是比較極端的例子
  3444.  
  3445. 862
  3446. 00:34:52,000 --> 00:34:54,000
  3447. 但是它必須要能夠
  3448.  
  3449. 863
  3450. 00:34:54,000 --> 00:34:56,000
  3451. 做到這件事情
  3452.  
  3453. 864
  3454. 00:34:56,000 --> 00:34:58,000
  3455. 這是第一個性質
  3456.  
  3457. 865
  3458. 00:34:58,000 --> 00:35:00,000
  3459. 就是它任意長度
  3460.  
  3461. 866
  3462. 00:35:00,000 --> 00:35:02,000
  3463. 第二個性質這邊講的是說
  3464.  
  3465. 867
  3466. 00:35:02,000 --> 00:35:04,000
  3467. 只要你的
  3468.  
  3469. 868
  3470. 00:35:04,000 --> 00:35:06,000
  3471. 輸入是
  3472.  
  3473. 869
  3474. 00:35:06,000 --> 00:35:08,000
  3475. 一樣的
  3476.  
  3477. 870
  3478. 00:35:08,000 --> 00:35:10,000
  3479. 你的輸出就會要一模一樣
  3480.  
  3481. 871
  3482. 00:35:10,000 --> 00:35:12,000
  3483. 任意長度
  3484.  
  3485. 872
  3486. 00:35:12,000 --> 00:35:14,000
  3487. 所以搭配前面這個你會得到說
  3488.  
  3489. 873
  3490. 00:35:14,000 --> 00:35:16,000
  3491. 任意長度的輸入只要一樣
  3492.  
  3493. 874
  3494. 00:35:16,000 --> 00:35:18,000
  3495. 你都可以得到短短的
  3496.  
  3497. 875
  3498. 00:35:18,000 --> 00:35:20,000
  3499. 輸出而且這個短短的
  3500.  
  3501. 876
  3502. 00:35:20,000 --> 00:35:22,000
  3503. 輸出也一模一樣
  3504.  
  3505. 877
  3506. 00:35:22,000 --> 00:35:24,000
  3507. 大家可以再回想一下前面
  3508.  
  3509. 878
  3510. 00:35:24,000 --> 00:35:26,000
  3511. 我在解釋資料完整性的時候
  3512.  
  3513. 879
  3514. 00:35:26,000 --> 00:35:28,000
  3515. 舉的例子就是說
  3516.  
  3517. 880
  3518. 00:35:28,000 --> 00:35:30,000
  3519. 假設我們上傳了我們
  3520.  
  3521. 881
  3522. 00:35:30,000 --> 00:35:32,000
  3523. 之前存的資料到雲端
  3524.  
  3525. 882
  3526. 00:35:32,000 --> 00:35:34,000
  3527. 硬碟裡面
  3528.  
  3529. 883
  3530. 00:35:34,000 --> 00:35:36,000
  3531. 假設我寫了一本書
  3532.  
  3533. 884
  3534. 00:35:36,000 --> 00:35:38,000
  3535. 非常非常多字
  3536.  
  3537. 885
  3538. 00:35:38,000 --> 00:35:40,000
  3539. 到這個雲端連結裡面
  3540.  
  3541. 886
  3542. 00:35:40,000 --> 00:35:42,000
  3543. 雲端的硬碟裡面
  3544.  
  3545. 887
  3546. 00:35:42,000 --> 00:35:44,000
  3547. 過一陣子我再把它download回來
  3548.  
  3549. 888
  3550. 00:35:44,000 --> 00:35:46,000
  3551. 但是我怎麼知道
  3552.  
  3553. 889
  3554. 00:35:46,000 --> 00:35:48,000
  3555. 有沒有人動過它我不可能逐字的去比對
  3556.  
  3557. 890
  3558. 00:35:48,000 --> 00:35:50,000
  3559. 所以
  3560.  
  3561. 891
  3562. 00:35:50,000 --> 00:35:52,000
  3563. 套用到這兩個性質我們可以做到什麼事情
  3564.  
  3565. 892
  3566. 00:35:52,000 --> 00:35:54,000
  3567. 我們可以在上傳的時候
  3568.  
  3569. 893
  3570. 00:35:54,000 --> 00:35:56,000
  3571. 先把這樣子的一個資料
  3572.  
  3573. 894
  3574. 00:35:56,000 --> 00:35:58,000
  3575. 過這個hash得到一個摘要
  3576.  
  3577. 895
  3578. 00:35:58,000 --> 00:36:00,000
  3579. 到時候
  3580.  
  3581. 896
  3582. 00:36:00,000 --> 00:36:02,000
  3583. 過了一段時間我們在要把它download
  3584.  
  3585. 897
  3586. 00:36:02,000 --> 00:36:04,000
  3587. 回來的時候我們同樣的把我們
  3588.  
  3589. 898
  3590. 00:36:04,000 --> 00:36:06,000
  3591. 下載的這個file
  3592.  
  3593. 899
  3594. 00:36:06,000 --> 00:36:08,000
  3595. 也一樣過這個hash function得到一個短短
  3596.  
  3597. 900
  3598. 00:36:08,000 --> 00:36:10,000
  3599. 的摘要這個時候就會發現
  3600.  
  3601. 901
  3602. 00:36:10,000 --> 00:36:12,000
  3603. 我們只要比摘要
  3604.  
  3605. 902
  3606. 00:36:12,000 --> 00:36:14,000
  3607. 就好我們不需要去比裡面
  3608.  
  3609. 903
  3610. 00:36:14,000 --> 00:36:16,000
  3611. 完整的訊息的內容
  3612.  
  3613. 904
  3614. 00:36:16,000 --> 00:36:20,000
  3615. 再來是第三個性質
  3616.  
  3617. 905
  3618. 00:36:20,000 --> 00:36:22,000
  3619. 這個也跟剛剛提到的一樣就是說
  3620.  
  3621. 906
  3622. 00:36:22,000 --> 00:36:24,000
  3623. 只要你有
  3624.  
  3625. 907
  3626. 00:36:24,000 --> 00:36:26,000
  3627. 任何一點變化
  3628.  
  3629. 908
  3630. 00:36:26,000 --> 00:36:28,000
  3631. 這邊的例子說
  3632.  
  3633. 909
  3634. 00:36:28,000 --> 00:36:30,000
  3635. 從ABC改成ABD
  3636.  
  3637. 910
  3638. 00:36:30,000 --> 00:36:32,000
  3639. 你經過hash所出來的
  3640.  
  3641. 911
  3642. 00:36:32,000 --> 00:36:34,000
  3643. output
  3644.  
  3645. 912
  3646. 00:36:34,000 --> 00:36:36,000
  3647. 會劇烈的
  3648.  
  3649. 913
  3650. 00:36:36,000 --> 00:36:38,000
  3651. 變化會大大的不相同
  3652.  
  3653. 914
  3654. 00:36:38,000 --> 00:36:40,000
  3655. 到這邊
  3656.  
  3657. 915
  3658. 00:36:40,000 --> 00:36:42,000
  3659. 來講就有一個問題就是說
  3660.  
  3661. 916
  3662. 00:36:42,000 --> 00:36:44,000
  3663. 它的重點是在說
  3664.  
  3665. 917
  3666. 00:36:44,000 --> 00:36:46,000
  3667. 你就算是只改一個bit
  3668.  
  3669. 918
  3670. 00:36:46,000 --> 00:36:48,000
  3671. 你出來的結果也要很不一樣
  3672.  
  3673. 919
  3674. 00:36:48,000 --> 00:36:50,000
  3675. 所以下一個問題
  3676.  
  3677. 920
  3678. 00:36:50,000 --> 00:36:52,000
  3679. 來了就是說到底
  3680.  
  3681. 921
  3682. 00:36:52,000 --> 00:36:54,000
  3683. 應該要多不一樣
  3684.  
  3685. 922
  3686. 00:36:54,000 --> 00:36:56,000
  3687. 這一題的話我們用
  3688.  
  3689. 923
  3690. 00:36:56,000 --> 00:37:00,000
  3691. 我們用投票好了
  3692.  
  3693. 924
  3694. 00:37:00,000 --> 00:37:02,000
  3695. 有幾個選項
  3696.  
  3697. 925
  3698. 00:37:02,000 --> 00:37:04,000
  3699. 假設我們就看
  3700.  
  3701. 926
  3702. 00:37:04,000 --> 00:37:06,000
  3703. 現在的情境是在問說
  3704.  
  3705. 927
  3706. 00:37:06,000 --> 00:37:08,000
  3707. 我們把上面的input改了
  3708.  
  3709. 928
  3710. 00:37:08,000 --> 00:37:10,000
  3711. 一個bit
  3712.  
  3713. 929
  3714. 00:37:10,000 --> 00:37:12,000
  3715. 下面的這兩個output有多不一樣
  3716.  
  3717. 930
  3718. 00:37:12,000 --> 00:37:16,000
  3719. 當然我們指的是
  3720.  
  3721. 931
  3722. 00:37:16,000 --> 00:37:18,000
  3723. in general的情況不是要你去數說
  3724.  
  3725. 932
  3726. 00:37:18,000 --> 00:37:20,000
  3727. 這兩個到底有多少個不一樣
  3728.  
  3729. 933
  3730. 00:37:20,000 --> 00:37:22,000
  3731. 我們就用
  3732.  
  3733. 934
  3734. 00:37:22,000 --> 00:37:24,000
  3735. 這個兩個output
  3736.  
  3737. 935
  3738. 00:37:24,000 --> 00:37:26,000
  3739. 它有比方說完全不一樣
  3740.  
  3741. 936
  3742. 00:37:26,000 --> 00:37:28,000
  3743. 我們就是100%不一樣
  3744.  
  3745. 937
  3746. 00:37:28,000 --> 00:37:30,000
  3747. 或完全一樣就是
  3748.  
  3749. 938
  3750. 00:37:30,000 --> 00:37:32,000
  3751. 0%不一樣
  3752.  
  3753. 939
  3754. 00:37:32,000 --> 00:37:34,000
  3755. 我們就用這個%數來做判斷好了
  3756.  
  3757. 940
  3758. 00:37:34,000 --> 00:37:36,000
  3759. 我們就開放30%
  3760.  
  3761. 941
  3762. 00:37:36,000 --> 00:37:38,000
  3763. 50%70%的選項
  3764.  
  3765. 942
  3766. 00:37:38,000 --> 00:37:40,000
  3767. 大家認為
  3768.  
  3769. 943
  3770. 00:37:40,000 --> 00:37:42,000
  3771. 怎麼樣才是符合
  3772.  
  3773. 944
  3774. 00:37:42,000 --> 00:37:44,000
  3775. 它這樣的特性呢
  3776.  
  3777. 945
  3778. 00:37:44,000 --> 00:37:46,000
  3779. 覺得會有30%不一樣的舉手
  3780.  
  3781. 946
  3782. 00:37:46,000 --> 00:37:50,000
  3783. 就是說改動
  3784.  
  3785. 947
  3786. 00:37:50,000 --> 00:37:52,000
  3787. 平均而言
  3788.  
  3789. 948
  3790. 00:37:52,000 --> 00:37:54,000
  3791. 我的input改動一個bit
  3792.  
  3793. 949
  3794. 00:37:54,000 --> 00:37:56,000
  3795. 出來的output這兩種
  3796.  
  3797. 950
  3798. 00:37:56,000 --> 00:37:58,000
  3799. 會有30%的位元數不一樣
  3800.  
  3801. 951
  3802. 00:37:58,000 --> 00:38:00,000
  3803. 沒有人
  3804.  
  3805. 952
  3806. 00:38:00,000 --> 00:38:02,000
  3807. 那50%的
  3808.  
  3809. 953
  3810. 00:38:02,000 --> 00:38:12,000
  3811. 那70%的
  3812.  
  3813. 954
  3814. 00:38:12,000 --> 00:38:22,000
  3815. 好
  3816.  
  3817. 955
  3818. 00:38:22,000 --> 00:38:24,000
  3819. 那這邊容我解釋
  3820.  
  3821. 956
  3822. 00:38:24,000 --> 00:38:26,000
  3823. 就是說實際上正確的答案
  3824.  
  3825. 957
  3826. 00:38:26,000 --> 00:38:28,000
  3827. 應該要是50%
  3828.  
  3829. 958
  3830. 00:38:28,000 --> 00:38:30,000
  3831. 我們期待平均而言
  3832.  
  3833. 959
  3834. 00:38:30,000 --> 00:38:32,000
  3835. 平均而言你改動了一個bit
  3836.  
  3837. 960
  3838. 00:38:32,000 --> 00:38:34,000
  3839. 它的output會有50%不一樣
  3840.  
  3841. 961
  3842. 00:38:34,000 --> 00:38:36,000
  3843. 為什麼是50%
  3844.  
  3845. 962
  3846. 00:38:36,000 --> 00:38:40,000
  3847. 這樣講好
  3848.  
  3849. 963
  3850. 00:38:40,000 --> 00:38:42,000
  3851. 就是說
  3852.  
  3853. 964
  3854. 00:38:42,000 --> 00:38:44,000
  3855. 今天假設我們就玩
  3856.  
  3857. 965
  3858. 00:38:44,000 --> 00:38:46,000
  3859. 拆數字的遊戲
  3860.  
  3861. 966
  3862. 00:38:46,000 --> 00:38:48,000
  3863. 然後我說我有10個數字要拆
  3864.  
  3865. 967
  3866. 00:38:48,000 --> 00:38:50,000
  3867. 那我從一組
  3868.  
  3869. 968
  3870. 00:38:50,000 --> 00:38:52,000
  3871. 10個數字我要拆
  3872.  
  3873. 969
  3874. 00:38:52,000 --> 00:38:54,000
  3875. 下一組10個數字
  3876.  
  3877. 970
  3878. 00:38:56,000 --> 00:38:58,000
  3879. 我希望它怎麼樣設計
  3880.  
  3881. 971
  3882. 00:38:58,000 --> 00:39:00,000
  3883. 這個題目的難度才最高
  3884.  
  3885. 972
  3886. 00:39:00,000 --> 00:39:02,000
  3887. 其實它在問的是這件事情
  3888.  
  3889. 973
  3890. 00:39:02,000 --> 00:39:04,000
  3891. 我們希望它安全
  3892.  
  3893. 974
  3894. 00:39:04,000 --> 00:39:06,000
  3895. 所以這邊來講
  3896.  
  3897. 975
  3898. 00:39:06,000 --> 00:39:08,000
  3899. 我們要講的意思是說
  3900.  
  3901. 976
  3902. 00:39:08,000 --> 00:39:10,000
  3903. 它有50%不一樣的時候是最安全
  3904.  
  3905. 977
  3906. 00:39:10,000 --> 00:39:14,000
  3907. 70%不一樣的時候
  3908.  
  3909. 978
  3910. 00:39:14,000 --> 00:39:16,000
  3911. 剛剛的題目
  3912.  
  3913. 979
  3914. 00:39:16,000 --> 00:39:18,000
  3915. 剛剛我們10個拆10個的題目
  3916.  
  3917. 980
  3918. 00:39:18,000 --> 00:39:20,000
  3919. 我們再把它簡化
  3920.  
  3921. 981
  3922. 00:39:20,000 --> 00:39:22,000
  3923. 我們是講說10個
  3924.  
  3925. 982
  3926. 00:39:22,000 --> 00:39:24,000
  3927. binary bit
  3928.  
  3929. 983
  3930. 00:39:24,000 --> 00:39:26,000
  3931. 我想大家可能比較容易可以理解
  3932.  
  3933. 984
  3934. 00:39:26,000 --> 00:39:28,000
  3935. 假設這10個bit
  3936.  
  3937. 985
  3938. 00:39:28,000 --> 00:39:30,000
  3939. 只有1跟0
  3940.  
  3941. 986
  3942. 00:39:30,000 --> 00:39:32,000
  3943. 那我從這1跟0去拆下一組
  3944.  
  3945. 987
  3946. 00:39:32,000 --> 00:39:34,000
  3947. 1跟0的時候
  3948.  
  3949. 988
  3950. 00:39:34,000 --> 00:39:36,000
  3951. 並且如果它大部分都不一樣
  3952.  
  3953. 989
  3954. 00:39:36,000 --> 00:39:38,000
  3955. 那我就知道我要反著拆
  3956.  
  3957. 990
  3958. 00:39:38,000 --> 00:39:40,000
  3959. 如果它大部分都一樣
  3960.  
  3961. 991
  3962. 00:39:40,000 --> 00:39:42,000
  3963. 我就知道我不用什麼改
  3964.  
  3965. 992
  3966. 00:39:42,000 --> 00:39:44,000
  3967. 拆的會比較接近
  3968.  
  3969. 993
  3970. 00:39:44,000 --> 00:39:46,000
  3971. 但是只有在它
  3972.  
  3973. 994
  3974. 00:39:46,000 --> 00:39:48,000
  3975. 一半一半不一樣的時候
  3976.  
  3977. 995
  3978. 00:39:48,000 --> 00:39:50,000
  3979. 是最難拆的
  3980.  
  3981. 996
  3982. 00:39:50,000 --> 00:39:52,000
  3983. 大家可以理解嗎
  3984.  
  3985. 997
  3986. 00:39:52,000 --> 00:39:54,000
  3987. 這個其實跟我們
  3988.  
  3989. 998
  3990. 00:39:54,000 --> 00:39:56,000
  3991. 講的這個比方說Puff
  3992.  
  3993. 999
  3994. 00:39:56,000 --> 00:39:58,000
  3995. 它有很好的叫
  3996.  
  3997. 1000
  3998. 00:39:58,000 --> 00:40:00,000
  3999. unique的一樣的事情
  4000.  
  4001. 1001
  4002. 00:40:00,000 --> 00:40:02,000
  4003. 我們常常會用的是
  4004.  
  4005. 1002
  4006. 00:40:02,000 --> 00:40:04,000
  4007. 叫做Hemming Distance
  4008.  
  4009. 1003
  4010. 00:40:04,000 --> 00:40:06,000
  4011. Inter-Hemming Distance
  4012.  
  4013. 1004
  4014. 00:40:06,000 --> 00:40:08,000
  4015. 就是說你今天一組128 bit的Puff
  4016.  
  4017. 1005
  4018. 00:40:08,000 --> 00:40:10,000
  4019. 跟另外一組128 bit的Puff
  4020.  
  4021. 1006
  4022. 00:40:10,000 --> 00:40:12,000
  4023. 它裡面的值
  4024.  
  4025. 1007
  4026. 00:40:12,000 --> 00:40:14,000
  4027. 大概會有多少不一樣
  4028.  
  4029. 1008
  4030. 00:40:14,000 --> 00:40:16,000
  4031. 其實它的大概
  4032.  
  4033. 1009
  4034. 00:40:16,000 --> 00:40:18,000
  4035. 你bit by bit去比的話大概會是50%
  4036.  
  4037. 1010
  4038. 00:40:18,000 --> 00:40:20,000
  4039. 這個是NeoPuff的特性
  4040.  
  4041. 1011
  4042. 00:40:20,000 --> 00:40:22,000
  4043. 但是這個在密碼學裡面
  4044.  
  4045. 1012
  4046. 00:40:22,000 --> 00:40:24,000
  4047. 是非常常見
  4048.  
  4049. 1013
  4050. 00:40:24,000 --> 00:40:26,000
  4051. 也非常重要的一個性質
  4052.  
  4053. 1014
  4054. 00:40:26,000 --> 00:40:28,000
  4055. 就是所謂改一個bit
  4056.  
  4057. 1015
  4058. 00:40:28,000 --> 00:40:30,000
  4059. 就有50%不一樣的
  4060.  
  4061. 1016
  4062. 00:40:30,000 --> 00:40:32,000
  4063. 這個是一個理想的密碼學上會用到的性質
  4064.  
  4065. 1017
  4066. 00:40:32,000 --> 00:40:34,000
  4067. 然後這在密碼學裡面叫做雪崩效應
  4068.  
  4069. 1018
  4070. 00:40:34,000 --> 00:40:36,000
  4071. 就是說你只要動了一點
  4072.  
  4073. 1019
  4074. 00:40:36,000 --> 00:40:38,000
  4075. 牽一髮動全身
  4076.  
  4077. 1020
  4078. 00:40:38,000 --> 00:40:40,000
  4079. 你的輸入有一點變化的時候
  4080.  
  4081. 1021
  4082. 00:40:40,000 --> 00:40:42,000
  4083. 你的輸出會劇烈的改變
  4084.  
  4085. 1022
  4086. 00:40:42,000 --> 00:40:44,000
  4087. 但是也不希望太劇烈劇烈到完全變反
  4088.  
  4089. 1023
  4090. 00:40:44,000 --> 00:40:46,000
  4091. 也就好拆
  4092.  
  4093. 1024
  4094. 00:40:46,000 --> 00:40:48,000
  4095. 所以它其實變不一樣是差不多50%不一樣
  4096.  
  4097. 1025
  4098. 00:40:48,000 --> 00:40:50,000
  4099. 所以前面我們剛剛看到的各種
  4100.  
  4101. 1026
  4102. 00:40:50,000 --> 00:40:52,000
  4103. 不管是ECC
  4104.  
  4105. 1027
  4106. 00:40:52,000 --> 00:40:54,000
  4107. 不管是RSA
  4108.  
  4109. 1028
  4110. 00:40:54,000 --> 00:40:56,000
  4111. 也都會具備有這種的性質
  4112.  
  4113. 1029
  4114. 00:40:56,000 --> 00:40:58,000
  4115. 因為這樣才會難破解
  4116.  
  4117. 1030
  4118. 00:40:58,000 --> 00:41:00,000
  4119. 所以這邊
  4120.  
  4121. 1031
  4122. 00:41:00,000 --> 00:41:02,000
  4123. 這邊是針對這樣的特性在做補充
  4124.  
  4125. 1032
  4126. 00:41:02,000 --> 00:41:04,000
  4127. 就是說同樣的
  4128.  
  4129. 1033
  4130. 00:41:04,000 --> 00:41:06,000
  4131. 一個好的雜臭函數
  4132.  
  4133. 1034
  4134. 00:41:06,000 --> 00:41:08,000
  4135. 它勢必也會帶有這樣的雪崩效應的性質
  4136.  
  4137. 1035
  4138. 00:41:08,000 --> 00:41:14,000
  4139. 好再來是第四個特性
  4140.  
  4141. 1036
  4142. 00:41:14,000 --> 00:41:16,000
  4143. 第四個特性我們講的叫說
  4144.  
  4145. 1037
  4146. 00:41:16,000 --> 00:41:18,000
  4147. 即便問題來了
  4148.  
  4149. 1038
  4150. 00:41:18,000 --> 00:41:20,000
  4151. 即便你的這個輸入
  4152.  
  4153. 1039
  4154. 00:41:20,000 --> 00:41:22,000
  4155. 完全不一樣
  4156.  
  4157. 1040
  4158. 00:41:22,000 --> 00:41:24,000
  4159. 但是你
  4160.  
  4161. 1041
  4162. 00:41:24,000 --> 00:41:26,000
  4163. 還是有可能得到
  4164.  
  4165. 1042
  4166. 00:41:26,000 --> 00:41:28,000
  4167. 同樣的兩個輸出
  4168.  
  4169. 1043
  4170. 00:41:28,000 --> 00:41:30,000
  4171. 兩個一樣的摘要
  4172.  
  4173. 1044
  4174. 00:41:30,000 --> 00:41:32,000
  4175. 這個跟前面
  4176.  
  4177. 1045
  4178. 00:41:32,000 --> 00:41:34,000
  4179. 講的
  4180.  
  4181. 1046
  4182. 00:41:34,000 --> 00:41:36,000
  4183. 跟整個雜臭函數的目的
  4184.  
  4185. 1047
  4186. 00:41:36,000 --> 00:41:38,000
  4187. 似乎有點衝突
  4188.  
  4189. 1048
  4190. 00:41:38,000 --> 00:41:42,000
  4191. 有沒有
  4192.  
  4193. 1049
  4194. 00:41:42,000 --> 00:41:44,000
  4195. 厲害的
  4196.  
  4197. 1050
  4198. 00:41:44,000 --> 00:41:46,000
  4199. 同仁可以發表一下
  4200.  
  4201. 1051
  4202. 00:41:46,000 --> 00:41:48,000
  4203. 覺得為什麼會是這樣
  4204.  
  4205. 1052
  4206. 00:41:48,000 --> 00:41:54,000
  4207. 這邊我在描述的
  4208.  
  4209. 1053
  4210. 00:41:54,000 --> 00:41:56,000
  4211. 再仔細一點
  4212.  
  4213. 1054
  4214. 00:41:56,000 --> 00:41:58,000
  4215. 就是說
  4216.  
  4217. 1055
  4218. 00:41:58,000 --> 00:42:00,000
  4219. 我們就假設
  4220.  
  4221. 1056
  4222. 00:42:00,000 --> 00:42:02,000
  4223. 我們所使用的這一板果汁機
  4224.  
  4225. 1057
  4226. 00:42:02,000 --> 00:42:04,000
  4227. 它能夠出來的
  4228.  
  4229. 1058
  4230. 00:42:04,000 --> 00:42:06,000
  4231. 摘要
  4232.  
  4233. 1059
  4234. 00:42:06,000 --> 00:42:08,000
  4235. 我們就說是32bit好了
  4236.  
  4237. 1060
  4238. 00:42:08,000 --> 00:42:12,000
  4239. 那為什麼
  4240.  
  4241. 1061
  4242. 00:42:12,000 --> 00:42:14,000
  4243. 會發生
  4244.  
  4245. 1062
  4246. 00:42:14,000 --> 00:42:16,000
  4247. 為什麼有可能會發生這個不同的
  4248.  
  4249. 1063
  4250. 00:42:16,000 --> 00:42:18,000
  4251. 輸入得到一樣的
  4252.  
  4253. 1064
  4254. 00:42:18,000 --> 00:42:20,000
  4255. 輸出的結果
  4256.  
  4257. 1065
  4258. 00:42:20,000 --> 00:42:22,000
  4259. 請說
  4260.  
  4261. 1066
  4262. 00:42:22,000 --> 00:42:30,000
  4263. 因為那個這個世界
  4264.  
  4265. 1067
  4266. 00:42:30,000 --> 00:42:32,000
  4267. 的東西
  4268.  
  4269. 1068
  4270. 00:42:32,000 --> 00:42:34,000
  4271. 遠比那些摘要還要多
  4272.  
  4273. 1069
  4274. 00:42:34,000 --> 00:42:36,000
  4275. 所以有可能不一樣的
  4276.  
  4277. 1070
  4278. 00:42:36,000 --> 00:42:38,000
  4279. 東西進入這個
  4280.  
  4281. 1071
  4282. 00:42:38,000 --> 00:42:40,000
  4283. 雜臭函數以後會得到
  4284.  
  4285. 1072
  4286. 00:42:40,000 --> 00:42:42,000
  4287. 相同的數字
  4288.  
  4289. 1073
  4290. 00:42:42,000 --> 00:42:44,000
  4291. 是的
  4292.  
  4293. 1074
  4294. 00:42:44,000 --> 00:42:46,000
  4295. 意思是
  4296.  
  4297. 1075
  4298. 00:42:46,000 --> 00:42:48,000
  4299. 注意我們前面講到任意長度的輸入
  4300.  
  4301. 1076
  4302. 00:42:48,000 --> 00:42:50,000
  4303. 所以在你
  4304.  
  4305. 1077
  4306. 00:42:50,000 --> 00:42:52,000
  4307. 基本上是在你輸出的長度
  4308.  
  4309. 1078
  4310. 00:42:52,000 --> 00:42:54,000
  4311. 是固定的狀況下
  4312.  
  4313. 1079
  4314. 00:42:54,000 --> 00:42:56,000
  4315. 一定一定會有機會
  4316.  
  4317. 1080
  4318. 00:42:56,000 --> 00:42:58,000
  4319. 你的輸入的
  4320.  
  4321. 1081
  4322. 00:42:58,000 --> 00:43:00,000
  4323. 會超過輸出的質率
  4324.  
  4325. 1082
  4326. 00:43:00,000 --> 00:43:02,000
  4327. 所以
  4328.  
  4329. 1083
  4330. 00:43:02,000 --> 00:43:04,000
  4331. 當然這個是
  4332.  
  4333. 1084
  4334. 00:43:04,000 --> 00:43:06,000
  4335. 必須會要發生的
  4336.  
  4337. 1085
  4338. 00:43:06,000 --> 00:43:08,000
  4339. 因為你的設計就是讓
  4340.  
  4341. 1086
  4342. 00:43:08,000 --> 00:43:10,000
  4343. 雜臭函數可以吃任意長度的輸入
  4344.  
  4345. 1087
  4346. 00:43:10,000 --> 00:43:12,000
  4347. 所以這個是勢必會發生的
  4348.  
  4349. 1088
  4350. 00:43:12,000 --> 00:43:14,000
  4351. 但是
  4352.  
  4353. 1089
  4354. 00:43:14,000 --> 00:43:16,000
  4355. 我們一般在密碼學上面會用到的
  4356.  
  4357. 1090
  4358. 00:43:16,000 --> 00:43:18,000
  4359. 雜臭函數我們希望
  4360.  
  4361. 1091
  4362. 00:43:18,000 --> 00:43:20,000
  4363. 這樣的發生機率我們把這叫做碰撞
  4364.  
  4365. 1092
  4366. 00:43:20,000 --> 00:43:22,000
  4367. 要碰撞
  4368.  
  4369. 1093
  4370. 00:43:22,000 --> 00:43:24,000
  4371. 我們希望這個發生機率極低
  4372.  
  4373. 1094
  4374. 00:43:24,000 --> 00:43:26,000
  4375. 而且不能被操控
  4376.  
  4377. 1095
  4378. 00:43:26,000 --> 00:43:28,000
  4379. 不能我想要它碰撞它就碰撞
  4380.  
  4381. 1096
  4382. 00:43:28,000 --> 00:43:30,000
  4383. 不能說
  4384.  
  4385. 1097
  4386. 00:43:30,000 --> 00:43:32,000
  4387. 我看到一個摘要我就知道
  4388.  
  4389. 1098
  4390. 00:43:32,000 --> 00:43:34,000
  4391. 什麼樣的輸入可以得到
  4392.  
  4393. 1099
  4394. 00:43:34,000 --> 00:43:36,000
  4395. 這樣的摘要
  4396.  
  4397. 1100
  4398. 00:43:36,000 --> 00:43:38,000
  4399. 不能輕易的被操作
  4400.  
  4401. 1101
  4402. 00:43:38,000 --> 00:43:40,000
  4403. 所以碰撞是一定會發生
  4404.  
  4405. 1102
  4406. 00:43:40,000 --> 00:43:42,000
  4407. 但是密碼學上面機率
  4408.  
  4409. 1103
  4410. 00:43:42,000 --> 00:43:44,000
  4411. 極低
  4412.  
  4413. 1104
  4414. 00:43:44,000 --> 00:43:46,000
  4415. 並且也不容易被實現
  4416.  
  4417. 1105
  4418. 00:43:46,000 --> 00:43:50,000
  4419. 再來第五項特性的話
  4420.  
  4421. 1106
  4422. 00:43:50,000 --> 00:43:52,000
  4423. 前面
  4424.  
  4425. 1107
  4426. 00:43:52,000 --> 00:43:54,000
  4427. 有講到就是說它是
  4428.  
  4429. 1108
  4430. 00:43:54,000 --> 00:43:56,000
  4431. 不可逆的
  4432.  
  4433. 1109
  4434. 00:43:56,000 --> 00:43:58,000
  4435. 它是單項的函數
  4436.  
  4437. 1110
  4438. 00:43:58,000 --> 00:44:00,000
  4439. 具體
  4440.  
  4441. 1111
  4442. 00:44:00,000 --> 00:44:02,000
  4443. 為什麼它是單項的
  4444.  
  4445. 1112
  4446. 00:44:02,000 --> 00:44:04,000
  4447. 多半你就算是用哪一種的
  4448.  
  4449. 1113
  4450. 00:44:04,000 --> 00:44:06,000
  4451. 不管是用哪一種的雜臭函數
  4452.  
  4453. 1114
  4454. 00:44:06,000 --> 00:44:08,000
  4455. 它的流程裡面一定會包含到
  4456.  
  4457. 1115
  4458. 00:44:08,000 --> 00:44:10,000
  4459. 多對一的mapping
  4460.  
  4461. 1116
  4462. 00:44:10,000 --> 00:44:12,000
  4463. 本來你再有
  4464.  
  4465. 1117
  4466. 00:44:12,000 --> 00:44:14,000
  4467. 多個輸入都可能會得到
  4468.  
  4469. 1118
  4470. 00:44:14,000 --> 00:44:16,000
  4471. 同一個輸出的結果下
  4472.  
  4473. 1119
  4474. 00:44:16,000 --> 00:44:18,000
  4475. 你當然不可能知道那個輸出
  4476.  
  4477. 1120
  4478. 00:44:18,000 --> 00:44:20,000
  4479. 就返回去推回去輸入
  4480.  
  4481. 1121
  4482. 00:44:20,000 --> 00:44:22,000
  4483. 你根本就不知道你要走哪一條路回去
  4484.  
  4485. 1122
  4486. 00:44:22,000 --> 00:44:26,000
  4487. 再來是第六個性質
  4488.  
  4489. 1123
  4490. 00:44:26,000 --> 00:44:28,000
  4491. 這邊第六個性質指的是說
  4492.  
  4493. 1124
  4494. 00:44:28,000 --> 00:44:30,000
  4495. 當然這樣的雜臭函數會經過世代更迭
  4496.  
  4497. 1125
  4498. 00:44:30,000 --> 00:44:32,000
  4499. 所以以前在用的這種叫
  4500.  
  4501. 1126
  4502. 00:44:32,000 --> 00:44:34,000
  4503. Message Digest
  4504.  
  4505. 1127
  4506. 00:44:34,000 --> 00:44:36,000
  4507. 第四代第五代這種都已經
  4508.  
  4509. 1128
  4510. 00:44:36,000 --> 00:44:38,000
  4511. 除役
  4512.  
  4513. 1129
  4514. 00:44:38,000 --> 00:44:40,000
  4515. 現在最常使用的是這個紅色框框
  4516.  
  4517. 1130
  4518. 00:44:40,000 --> 00:44:42,000
  4519. 框起來的叫做Share2
  4520.  
  4521. 1131
  4522. 00:44:42,000 --> 00:44:44,000
  4523. Share2來講它當然是
  4524.  
  4525. 1132
  4526. 00:44:44,000 --> 00:44:46,000
  4527. 前面幾個的後代
  4528.  
  4529. 1133
  4530. 00:44:46,000 --> 00:44:48,000
  4531. 就是從Share0開始
  4532.  
  4533. 1134
  4534. 00:44:48,000 --> 00:44:50,000
  4535. 跟Share1然後到現在來講
  4536.  
  4537. 1135
  4538. 00:44:50,000 --> 00:44:52,000
  4539. 在使用的是Share2
  4540.  
  4541. 1136
  4542. 00:44:52,000 --> 00:44:54,000
  4543. Share0跟Share1來講的話
  4544.  
  4545. 1137
  4546. 00:44:54,000 --> 00:44:56,000
  4547. Share0是本身
  4548.  
  4549. 1138
  4550. 00:44:56,000 --> 00:44:58,000
  4551. 它的演算法就有缺陷
  4552.  
  4553. 1139
  4554. 00:44:58,000 --> 00:45:00,000
  4555. Share1的話是它的運算
  4556.  
  4557. 1140
  4558. 00:45:00,000 --> 00:45:02,000
  4559. 可以開始被操弄
  4560.  
  4561. 1141
  4562. 00:45:02,000 --> 00:45:04,000
  4563. 所以已經被除役
  4564.  
  4565. 1142
  4566. 00:45:04,000 --> 00:45:06,000
  4567. 現在所使用的
  4568.  
  4569. 1143
  4570. 00:45:06,000 --> 00:45:08,000
  4571. Share2呢
  4572.  
  4573. 1144
  4574. 00:45:08,000 --> 00:45:10,000
  4575. 大概是這樣就是說Share2是
  4576.  
  4577. 1145
  4578. 00:45:10,000 --> 00:45:12,000
  4579. 一整個組它這個組裡面
  4580.  
  4581. 1146
  4582. 00:45:12,000 --> 00:45:14,000
  4583. 它有不同的版本
  4584.  
  4585. 1147
  4586. 00:45:14,000 --> 00:45:16,000
  4587. 可以讓你得到不同
  4588.  
  4589. 1148
  4590. 00:45:16,000 --> 00:45:18,000
  4591. 長度的摘要的輸出
  4592.  
  4593. 1149
  4594. 00:45:18,000 --> 00:45:20,000
  4595. 所以比方說這邊是224的256的
  4596.  
  4597. 1150
  4598. 00:45:20,000 --> 00:45:22,000
  4599. 384 512
  4600.  
  4601. 1151
  4602. 00:45:22,000 --> 00:45:24,000
  4603. 跟它這邊寫有512/224
  4604.  
  4605. 1152
  4606. 00:45:24,000 --> 00:45:26,000
  4607. 跟512/256
  4608.  
  4609. 1153
  4610. 00:45:26,000 --> 00:45:28,000
  4611. 這個是什麼意思
  4612.  
  4613. 1154
  4614. 00:45:28,000 --> 00:45:30,000
  4615. 大概補充一下就是說
  4616.  
  4617. 1155
  4618. 00:45:30,000 --> 00:45:32,000
  4619. 當然這幾個224/256
  4620.  
  4621. 1156
  4622. 00:45:32,000 --> 00:45:34,000
  4623. 這些函數的構造是不同的
  4624.  
  4625. 1157
  4626. 00:45:34,000 --> 00:45:36,000
  4627. 但是只要是512開頭的
  4628.  
  4629. 1158
  4630. 00:45:36,000 --> 00:45:38,000
  4631. 它都是相同的
  4632.  
  4633. 1159
  4634. 00:45:38,000 --> 00:45:40,000
  4635. 但是它是用
  4636.  
  4637. 1160
  4638. 00:45:40,000 --> 00:45:42,000
  4639. 類似這樣子512的
  4640.  
  4641. 1161
  4642. 00:45:42,000 --> 00:45:44,000
  4643. 這樣的函數的架構
  4644.  
  4645. 1162
  4646. 00:45:44,000 --> 00:45:46,000
  4647. 它能夠去幫你轉出
  4648.  
  4649. 1163
  4650. 00:45:46,000 --> 00:45:48,000
  4651. 224或是256bit
  4652.  
  4653. 1164
  4654. 00:45:48,000 --> 00:45:50,000
  4655. 的摘要的長度
  4656.  
  4657. 1165
  4658. 00:45:50,000 --> 00:45:52,000
  4659. 這邊的/224/256是這個意思
  4660.  
  4661. 1166
  4662. 00:45:52,000 --> 00:45:54,000
  4663. 那目前來講
  4664.  
  4665. 1167
  4666. 00:45:54,000 --> 00:45:56,000
  4667. 針對Share2還並沒有
  4668.  
  4669. 1168
  4670. 00:45:56,000 --> 00:45:58,000
  4671. 有效的攻擊
  4672.  
  4673. 1169
  4674. 00:45:58,000 --> 00:46:00,000
  4675. 在這邊講這個
  4676.  
  4677. 1170
  4678. 00:46:00,000 --> 00:46:02,000
  4679. 所謂沒有有效的攻擊
  4680.  
  4681. 1171
  4682. 00:46:02,000 --> 00:46:04,000
  4683. 跟我們講說為什麼我們講說
  4684.  
  4685. 1172
  4686. 00:46:04,000 --> 00:46:06,000
  4687. 下零跟下萬被破解
  4688.  
  4689. 1173
  4690. 00:46:06,000 --> 00:46:08,000
  4691. 這邊給大家一個觀念就是說
  4692.  
  4693. 1174
  4694. 00:46:08,000 --> 00:46:10,000
  4695. 所謂被破解來講的話
  4696.  
  4697. 1175
  4698. 00:46:10,000 --> 00:46:12,000
  4699. 絕對不是說你馬上一秒就能
  4700.  
  4701. 1176
  4702. 00:46:12,000 --> 00:46:14,000
  4703. 短短的時間內就能變出
  4704.  
  4705. 1177
  4706. 00:46:14,000 --> 00:46:16,000
  4707. 答案
  4708.  
  4709. 1178
  4710. 00:46:16,000 --> 00:46:18,000
  4711. 不是這個意思
  4712.  
  4713. 1179
  4714. 00:46:18,000 --> 00:46:20,000
  4715. 而是說先從這邊講的被破解
  4716.  
  4717. 1180
  4718. 00:46:20,000 --> 00:46:22,000
  4719. 來說的話
  4720.  
  4721. 1181
  4722. 00:46:22,000 --> 00:46:24,000
  4723. 一般來講說被破解或是說有有效的攻擊
  4724.  
  4725. 1182
  4726. 00:46:24,000 --> 00:46:26,000
  4727. 指的是說有比暴力破解
  4728.  
  4729. 1183
  4730. 00:46:26,000 --> 00:46:28,000
  4731. 更有效率的方法
  4732.  
  4733. 1184
  4734. 00:46:28,000 --> 00:46:30,000
  4735. 可以降低它的
  4736.  
  4737. 1185
  4738. 00:46:30,000 --> 00:46:32,000
  4739. 運算的複雜度
  4740.  
  4741. 1186
  4742. 00:46:32,000 --> 00:46:34,000
  4743. 這樣應該比較精確
  4744.  
  4745. 1187
  4746. 00:46:34,000 --> 00:46:36,000
  4747. 只要能夠做到這樣的話
  4748.  
  4749. 1188
  4750. 00:46:36,000 --> 00:46:38,000
  4751. 那大致上我們就等於說
  4752.  
  4753. 1189
  4754. 00:46:38,000 --> 00:46:40,000
  4755. 這樣的演算法它的安全性已經打折了
  4756.  
  4757. 1190
  4758. 00:46:40,000 --> 00:46:42,000
  4759. 那打多少折其實不用管
  4760.  
  4761. 1191
  4762. 00:46:42,000 --> 00:46:44,000
  4763. 很多很多時候當然
  4764.  
  4765. 1192
  4766. 00:46:44,000 --> 00:46:46,000
  4767. 所謂宣稱被破解而言
  4768.  
  4769. 1193
  4770. 00:46:46,000 --> 00:46:48,000
  4771. 它不過是運算的複雜度降低了
  4772.  
  4773. 1194
  4774. 00:46:48,000 --> 00:46:50,000
  4775. 一點而已
  4776.  
  4777. 1195
  4778. 00:46:50,000 --> 00:46:52,000
  4779. 降低了二的幾次方而已
  4780.  
  4781. 1196
  4782. 00:46:52,000 --> 00:46:54,000
  4783. 不見得
  4784.  
  4785. 1197
  4786. 00:46:54,000 --> 00:46:56,000
  4787. 所以說真的雖然說不建議使用
  4788.  
  4789. 1198
  4790. 00:46:56,000 --> 00:46:58,000
  4791. 但是很多時候那些被處理的
  4792.  
  4793. 1199
  4794. 00:46:58,000 --> 00:47:00,000
  4795. 被處理的做法來講
  4796.  
  4797. 1200
  4798. 00:47:00,000 --> 00:47:02,000
  4799. 它其實也沒有馬上就能夠
  4800.  
  4801. 1201
  4802. 00:47:02,000 --> 00:47:04,000
  4803. 破解
  4804.  
  4805. 1202
  4806. 00:47:04,000 --> 00:47:06,000
  4807. 破滅
  4808.  
  4809. 1203
  4810. 00:47:06,000 --> 00:47:08,000
  4811. 這回事並沒有
  4812.  
  4813. 1204
  4814. 00:47:08,000 --> 00:47:10,000
  4815. 那
  4816.  
  4817. 1205
  4818. 00:47:10,000 --> 00:47:12,000
  4819. 這邊就帶來另外一個問題
  4820.  
  4821. 1206
  4822. 00:47:12,000 --> 00:47:14,000
  4823. 就是說剛剛已經講過說
  4824.  
  4825. 1207
  4826. 00:47:14,000 --> 00:47:16,000
  4827. 所謂的被破解
  4828.  
  4829. 1208
  4830. 00:47:16,000 --> 00:47:18,000
  4831. 或是說
  4832.  
  4833. 1209
  4834. 00:47:18,000 --> 00:47:20,000
  4835. 已經被處理的這種指的是說
  4836.  
  4837. 1210
  4838. 00:47:20,000 --> 00:47:22,000
  4839. 存在比暴力破解
  4840.  
  4841. 1211
  4842. 00:47:22,000 --> 00:47:24,000
  4843. 更有效的更有效率的做法
  4844.  
  4845. 1212
  4846. 00:47:24,000 --> 00:47:26,000
  4847. 那也有另外一種是
  4848.  
  4849. 1213
  4850. 00:47:26,000 --> 00:47:28,000
  4851. 它的本身的
  4852.  
  4853. 1214
  4854. 00:47:28,000 --> 00:47:30,000
  4855. 這個演算法
  4856.  
  4857. 1215
  4858. 00:47:30,000 --> 00:47:32,000
  4859. 的設計是有問題的它是有數學上的
  4860.  
  4861. 1216
  4862. 00:47:32,000 --> 00:47:34,000
  4863. 缺陷的但是
  4864.  
  4865. 1217
  4866. 00:47:34,000 --> 00:47:36,000
  4867. 特別是像數學有缺陷這件事情
  4868.  
  4869. 1218
  4870. 00:47:36,000 --> 00:47:38,000
  4871. 以現在的審查制度
  4872.  
  4873. 1219
  4874. 00:47:38,000 --> 00:47:40,000
  4875. 來講現在這種都是類似
  4876.  
  4877. 1220
  4878. 00:47:40,000 --> 00:47:42,000
  4879. 去投標去做競賽
  4880.  
  4881. 1221
  4882. 00:47:42,000 --> 00:47:44,000
  4883. 以這種狀況來講
  4884.  
  4885. 1222
  4886. 00:47:44,000 --> 00:47:46,000
  4887. 現在有數學缺陷還能夠
  4888.  
  4889. 1223
  4890. 00:47:46,000 --> 00:47:48,000
  4891. 通過成為正式標準的會
  4892.  
  4893. 1224
  4894. 00:47:48,000 --> 00:47:50,000
  4895. 比較難一般比較不大會有這種狀況
  4896.  
  4897. 1225
  4898. 00:47:50,000 --> 00:47:52,000
  4899. 以前可能會有現在很少
  4900.  
  4901. 1226
  4902. 00:47:52,000 --> 00:47:54,000
  4903. 那這邊來講
  4904.  
  4905. 1227
  4906. 00:47:54,000 --> 00:47:56,000
  4907. 有另外一個另外一個事情要提的就是說
  4908.  
  4909. 1228
  4910. 00:47:56,000 --> 00:47:58,000
  4911. 那
  4912.  
  4913. 1229
  4914. 00:47:58,000 --> 00:48:00,000
  4915. 所謂被破解還有什麼樣的可能
  4916.  
  4917. 1230
  4918. 00:48:00,000 --> 00:48:02,000
  4919. 其實一種是說
  4920.  
  4921. 1231
  4922. 00:48:02,000 --> 00:48:04,000
  4923. 有一種簡單的情境就是說
  4924.  
  4925. 1232
  4926. 00:48:04,000 --> 00:48:06,000
  4927. 我們希望我們希望
  4928.  
  4929. 1233
  4930. 00:48:06,000 --> 00:48:08,000
  4931. 這個系統安全
  4932.  
  4933. 1234
  4934. 00:48:08,000 --> 00:48:10,000
  4935. 除了它的演算法要健康之外
  4936.  
  4937. 1235
  4938. 00:48:10,000 --> 00:48:12,000
  4939. 就是它不是它不是被
  4940.  
  4941. 1236
  4942. 00:48:12,000 --> 00:48:14,000
  4943. 這個破解的演算法
  4944.  
  4945. 1237
  4946. 00:48:14,000 --> 00:48:16,000
  4947. 另外一種另外一種
  4948.  
  4949. 1238
  4950. 00:48:16,000 --> 00:48:18,000
  4951. 我們常常會用來保護
  4952.  
  4953. 1239
  4954. 00:48:18,000 --> 00:48:20,000
  4955. 安全的一種東西我們
  4956.  
  4957. 1240
  4958. 00:48:20,000 --> 00:48:22,000
  4959. 把它叫做協定
  4960.  
  4961. 1241
  4962. 00:48:22,000 --> 00:48:24,000
  4963. 最簡單的說法就是說
  4964.  
  4965. 1242
  4966. 00:48:24,000 --> 00:48:26,000
  4967. 假設
  4968.  
  4969. 1243
  4970. 00:48:26,000 --> 00:48:28,000
  4971. 我今天我所使用的加密
  4972.  
  4973. 1244
  4974. 00:48:28,000 --> 00:48:30,000
  4975. 演算法
  4976.  
  4977. 1245
  4978. 00:48:30,000 --> 00:48:32,000
  4979. 它在100個
  4980.  
  4981. 1246
  4982. 00:48:32,000 --> 00:48:34,000
  4983. microsecond內會被破解
  4984.  
  4985. 1247
  4986. 00:48:34,000 --> 00:48:36,000
  4987. 那很簡單
  4988.  
  4989. 1248
  4990. 00:48:36,000 --> 00:48:38,000
  4991. 如果要
  4992.  
  4993. 1249
  4994. 00:48:38,000 --> 00:48:40,000
  4995. 如果還是只能使用這個的話
  4996.  
  4997. 1250
  4998. 00:48:40,000 --> 00:48:42,000
  4999. 也很簡單我只要跟對方約定好說
  5000.  
  5001. 1251
  5002. 00:48:42,000 --> 00:48:44,000
  5003. 我們10 microsecond就換一次key
  5004.  
  5005. 1252
  5006. 00:48:44,000 --> 00:48:46,000
  5007. 這樣會讓你沒有
  5008.  
  5009. 1253
  5010. 00:48:46,000 --> 00:48:48,000
  5011. 那個100 microsecond去破解
  5012.  
  5013. 1254
  5014. 00:48:48,000 --> 00:48:50,000
  5015. 這個就是所謂協定的意思
  5016.  
  5017. 1255
  5018. 00:48:50,000 --> 00:48:52,000
  5019. 所以一般來講
  5020.  
  5021. 1256
  5022. 00:48:52,000 --> 00:48:54,000
  5023. 協定跟演算法那這邊我們
  5024.  
  5025. 1257
  5026. 00:48:54,000 --> 00:48:56,000
  5027. 比較不會去討論協定因為協定
  5028.  
  5029. 1258
  5030. 00:48:56,000 --> 00:48:58,000
  5031. 通常來講更
  5032.  
  5033. 1259
  5034. 00:48:58,000 --> 00:49:00,000
  5035. 更比較
  5036.  
  5037. 1260
  5038. 00:49:00,000 --> 00:49:02,000
  5039. 大家會都比較用
  5040.  
  5041. 1261
  5042. 00:49:02,000 --> 00:49:04,000
  5043. 這種公開的標準比方說HTTPS
  5044.  
  5045. 1262
  5046. 00:49:04,000 --> 00:49:06,000
  5047. 這種東西我們常常看到的
  5048.  
  5049. 1263
  5050. 00:49:06,000 --> 00:49:08,000
  5051. 那所以協定這邊的話我們就
  5052.  
  5053. 1264
  5054. 00:49:08,000 --> 00:49:10,000
  5055. 不會再去多談這邊的話比較會
  5056.  
  5057. 1265
  5058. 00:49:10,000 --> 00:49:12,000
  5059. 多講一點點的是演算法
  5060.  
  5061. 1266
  5062. 00:49:14,000 --> 00:49:16,000
  5063. 好那接下來
  5064.  
  5065. 1267
  5066. 00:49:16,000 --> 00:49:18,000
  5067. 記得我們有四個
  5068.  
  5069. 1268
  5070. 00:49:18,000 --> 00:49:20,000
  5071. 大單權目標有保密性
  5072.  
  5073. 1269
  5074. 00:49:20,000 --> 00:49:22,000
  5075. 有資料完整性
  5076.  
  5077. 1270
  5078. 00:49:22,000 --> 00:49:24,000
  5079. 然後有認證性
  5080.  
  5081. 1271
  5082. 00:49:24,000 --> 00:49:26,000
  5083. 跟不可否認性這四個
  5084.  
  5085. 1272
  5086. 00:49:26,000 --> 00:49:28,000
  5087. 對應的有四種
  5088.  
  5089. 1273
  5090. 00:49:28,000 --> 00:49:30,000
  5091. 比較常用的做法就是加密
  5092.  
  5093. 1274
  5094. 00:49:30,000 --> 00:49:32,000
  5095. 或是雜誌函數
  5096.  
  5097. 1275
  5098. 00:49:32,000 --> 00:49:34,000
  5099. 或是認證
  5100.  
  5101. 1276
  5102. 00:49:34,000 --> 00:49:36,000
  5103. 的機制或者是現在要談的叫
  5104.  
  5105. 1277
  5106. 00:49:36,000 --> 00:49:38,000
  5107. 不可否認性我們會用數位前章
  5108.  
  5109. 1278
  5110. 00:49:38,000 --> 00:49:40,000
  5111. 注意這邊我們是先跳到
  5112.  
  5113. 1279
  5114. 00:49:40,000 --> 00:49:42,000
  5115. 第四項
  5116.  
  5117. 1280
  5118. 00:49:42,000 --> 00:49:44,000
  5119. 先跳到不可否認性的簽章
  5120.  
  5121. 1281
  5122. 00:49:44,000 --> 00:49:46,000
  5123. 因為主要的原因是因為
  5124.  
  5125. 1282
  5126. 00:49:46,000 --> 00:49:48,000
  5127. 認證它稍微複雜一些所以我們會
  5128.  
  5129. 1283
  5130. 00:49:48,000 --> 00:49:50,000
  5131. 比較後面才提
  5132.  
  5133. 1284
  5134. 00:49:50,000 --> 00:49:54,000
  5135. 好那
  5136.  
  5137. 1285
  5138. 00:49:54,000 --> 00:49:56,000
  5139. 不可否認性
  5140.  
  5141. 1286
  5142. 00:49:56,000 --> 00:49:58,000
  5143. 就是說簽章這件事情我們前面
  5144.  
  5145. 1287
  5146. 00:49:58,000 --> 00:50:00,000
  5147. 大概有提過就好比
  5148.  
  5149. 1288
  5150. 00:50:00,000 --> 00:50:02,000
  5151. 好比藉錢之所以要簽借據
  5152.  
  5153. 1289
  5154. 00:50:02,000 --> 00:50:04,000
  5155. 就是因為怕口說無憑
  5156.  
  5157. 1290
  5158. 00:50:04,000 --> 00:50:06,000
  5159. 那所以這種情況就是說
  5160.  
  5161. 1291
  5162. 00:50:06,000 --> 00:50:08,000
  5163. 的確有可能
  5164.  
  5165. 1292
  5166. 00:50:08,000 --> 00:50:10,000
  5167. 惡意的A傳送了一個訊息
  5168.  
  5169. 1293
  5170. 00:50:10,000 --> 00:50:12,000
  5171. 然後過了一陣子之後他說
  5172.  
  5173. 1294
  5174. 00:50:12,000 --> 00:50:14,000
  5175. 否認說delay或否認說
  5176.  
  5177. 1295
  5178. 00:50:14,000 --> 00:50:16,000
  5179. 我從來沒有送過
  5180.  
  5181. 1296
  5182. 00:50:16,000 --> 00:50:18,000
  5183. 那所以
  5184.  
  5185. 1297
  5186. 00:50:18,000 --> 00:50:20,000
  5187. 為了要解決這個問題呢
  5188.  
  5189. 1298
  5190. 00:50:20,000 --> 00:50:22,000
  5191. 我們會用類似叫簽章的方式
  5192.  
  5193. 1299
  5194. 00:50:22,000 --> 00:50:24,000
  5195. 用簽章的方式可以避免什麼
  5196.  
  5197. 1300
  5198. 00:50:24,000 --> 00:50:26,000
  5199. 可以避免兩種情況
  5200.  
  5201. 1301
  5202. 00:50:26,000 --> 00:50:28,000
  5203. 第一種是說
  5204.  
  5205. 1302
  5206. 00:50:28,000 --> 00:50:30,000
  5207. 第一種是說
  5208.  
  5209. 1303
  5210. 00:50:30,000 --> 00:50:32,000
  5211. 冒用身份的問題
  5212.  
  5213. 1304
  5214. 00:50:32,000 --> 00:50:34,000
  5215. 我們會假定只有我們自己
  5216.  
  5217. 1305
  5218. 00:50:34,000 --> 00:50:36,000
  5219. 才能簽出我們自己的簽名別人
  5220.  
  5221. 1306
  5222. 00:50:36,000 --> 00:50:38,000
  5223. 沒有辦法偽造你的簽名
  5224.  
  5225. 1307
  5226. 00:50:38,000 --> 00:50:40,000
  5227. 那再來就是說
  5228.  
  5229. 1308
  5230. 00:50:40,000 --> 00:50:42,000
  5231. 也一樣跟前面提到說
  5232.  
  5233. 1309
  5234. 00:50:42,000 --> 00:50:44,000
  5235. 有可能會偽造
  5236.  
  5237. 1310
  5238. 00:50:44,000 --> 00:50:46,000
  5239. 有可能會偽造訊息
  5240.  
  5241. 1311
  5242. 00:50:46,000 --> 00:50:48,000
  5243. 簽章能夠解決這兩個問題
  5244.  
  5245. 1312
  5246. 00:50:48,000 --> 00:50:50,000
  5247. 那簽章
  5248.  
  5249. 1313
  5250. 00:50:50,000 --> 00:50:52,000
  5251. 簽章呢他也同樣都是用
  5252.  
  5253. 1314
  5254. 00:50:52,000 --> 00:50:54,000
  5255. 這個非對稱式的演算法來做
  5256.  
  5257. 1315
  5258. 00:50:54,000 --> 00:51:00,000
  5259. 所以他的簡單的流程來講的話
  5260.  
  5261. 1316
  5262. 00:51:00,000 --> 00:51:02,000
  5263. 大概簡單的概念大概會是說
  5264.  
  5265. 1317
  5266. 00:51:02,000 --> 00:51:04,000
  5267. 同樣我每一個人
  5268.  
  5269. 1318
  5270. 00:51:04,000 --> 00:51:06,000
  5271. 有自己的一對
  5272.  
  5273. 1319
  5274. 00:51:06,000 --> 00:51:08,000
  5275. 私藥和公藥
  5276.  
  5277. 1320
  5278. 00:51:08,000 --> 00:51:10,000
  5279. 並且我很有可能是通常都是從
  5280.  
  5281. 1321
  5282. 00:51:10,000 --> 00:51:12,000
  5283. 私藥開始去產生公藥
  5284.  
  5285. 1322
  5286. 00:51:12,000 --> 00:51:14,000
  5287. 那
  5288.  
  5289. 1323
  5290. 00:51:14,000 --> 00:51:16,000
  5291. 這邊講的是說
  5292.  
  5293. 1324
  5294. 00:51:16,000 --> 00:51:18,000
  5295. 這邊講的是說為什麼
  5296.  
  5297. 1325
  5298. 00:51:18,000 --> 00:51:20,000
  5299. 為什麼會有簽章 簽章的安全基礎在哪裡
  5300.  
  5301. 1326
  5302. 00:51:20,000 --> 00:51:22,000
  5303. 簽章的安全基礎是在於說
  5304.  
  5305. 1327
  5306. 00:51:22,000 --> 00:51:24,000
  5307. 只有我自己
  5308.  
  5309. 1328
  5310. 00:51:24,000 --> 00:51:26,000
  5311. 擁有我自己的私藥
  5312.  
  5313. 1329
  5314. 00:51:26,000 --> 00:51:28,000
  5315. 因為他絕對不外洩
  5316.  
  5317. 1330
  5318. 00:51:28,000 --> 00:51:30,000
  5319. 只有我自己有
  5320.  
  5321. 1331
  5322. 00:51:30,000 --> 00:51:32,000
  5323. 那並且我公藥事善在外
  5324.  
  5325. 1332
  5326. 00:51:32,000 --> 00:51:34,000
  5327. 你單有公藥是推不回私藥的
  5328.  
  5329. 1333
  5330. 00:51:34,000 --> 00:51:36,000
  5331. 他的數學基礎
  5332.  
  5333. 1334
  5334. 00:51:36,000 --> 00:51:38,000
  5335. 這兩個前提之下呢
  5336.  
  5337. 1335
  5338. 00:51:38,000 --> 00:51:40,000
  5339. 這兩個前提之下
  5340.  
  5341. 1336
  5342. 00:51:40,000 --> 00:51:42,000
  5343. 要做這個簽章的人
  5344.  
  5345. 1337
  5346. 00:51:42,000 --> 00:51:44,000
  5347. 要generate這個簽章的人
  5348.  
  5349. 1338
  5350. 00:51:44,000 --> 00:51:46,000
  5351. 他會去用他自己的私藥
  5352.  
  5353. 1339
  5354. 00:51:46,000 --> 00:51:48,000
  5355. 去簽
  5356.  
  5357. 1340
  5358. 00:51:48,000 --> 00:51:50,000
  5359. 去簽一個訊息
  5360.  
  5361. 1341
  5362. 00:51:50,000 --> 00:51:52,000
  5363. 然後所有其他人
  5364.  
  5365. 1342
  5366. 00:51:52,000 --> 00:51:54,000
  5367. 因為都可以取得這個人的公藥
  5368.  
  5369. 1343
  5370. 00:51:54,000 --> 00:51:56,000
  5371. 所有其他人都可以用這個
  5372.  
  5373. 1344
  5374. 00:51:56,000 --> 00:51:58,000
  5375. 用這個簽署方的
  5376.  
  5377. 1345
  5378. 00:51:58,000 --> 00:52:00,000
  5379. 公藥來確認這個
  5380.  
  5381. 1346
  5382. 00:52:00,000 --> 00:52:02,000
  5383. 簽名是否有效
  5384.  
  5385. 1347
  5386. 00:52:02,000 --> 00:52:04,000
  5387. 所以
  5388.  
  5389. 1348
  5390. 00:52:04,000 --> 00:52:06,000
  5391. 概念跟我們一般會用
  5392.  
  5393. 1349
  5394. 00:52:06,000 --> 00:52:08,000
  5395. 蠻類似就是說假設你去
  5396.  
  5397. 1350
  5398. 00:52:08,000 --> 00:52:10,000
  5399. 有去到什麼做什麼簽名
  5400.  
  5401. 1351
  5402. 00:52:10,000 --> 00:52:12,000
  5403. 鑑定這種 也是因為我們會認定
  5404.  
  5405. 1352
  5406. 00:52:12,000 --> 00:52:14,000
  5407. 有人能夠驗得出你的
  5408.  
  5409. 1353
  5410. 00:52:14,000 --> 00:52:16,000
  5411. 簽名是否由你所簽
  5412.  
  5413. 1354
  5414. 00:52:16,000 --> 00:52:18,000
  5415. 並且我們會假定只有你能簽
  5416.  
  5417. 1355
  5418. 00:52:18,000 --> 00:52:20,000
  5419. 出你自己的簽名 整個簽名
  5420.  
  5421. 1356
  5422. 00:52:20,000 --> 00:52:22,000
  5423. 這件事情的安全性主要是建立在這裡
  5424.  
  5425. 1357
  5426. 00:52:22,000 --> 00:52:26,000
  5427. 所以實用上的話
  5428.  
  5429. 1358
  5430. 00:52:26,000 --> 00:52:28,000
  5431. 就會是類似說我這個
  5432.  
  5433. 1359
  5434. 00:52:28,000 --> 00:52:30,000
  5435. 他要做簽章的時候
  5436.  
  5437. 1360
  5438. 00:52:30,000 --> 00:52:34,000
  5439. 對不同人他都會用他同一把
  5440.  
  5441. 1361
  5442. 00:52:34,000 --> 00:52:36,000
  5443. 私藥去做簽署
  5444.  
  5445. 1362
  5446. 00:52:36,000 --> 00:52:38,000
  5447. 所有人都用
  5448.  
  5449. 1363
  5450. 00:52:38,000 --> 00:52:40,000
  5451. 這個人的公藥
  5452.  
  5453. 1364
  5454. 00:52:40,000 --> 00:52:42,000
  5455. 去確認
  5456.  
  5457. 1365
  5458. 00:52:42,000 --> 00:52:44,000
  5459. 注意是確認這個簽名
  5460.  
  5461. 1366
  5462. 00:52:44,000 --> 00:52:46,000
  5463. 這個方向
  5464.  
  5465. 1367
  5466. 00:52:46,000 --> 00:52:48,000
  5467. 跟我們前面提到過用非對稱式
  5468.  
  5469. 1368
  5470. 00:52:48,000 --> 00:52:50,000
  5471. 演算法做加密是反過來的
  5472.  
  5473. 1369
  5474. 00:52:50,000 --> 00:52:52,000
  5475. 前面我們在講非對稱式的加密
  5476.  
  5477. 1370
  5478. 00:52:52,000 --> 00:52:54,000
  5479. 的時候我們說
  5480.  
  5481. 1371
  5482. 00:52:54,000 --> 00:52:56,000
  5483. 傳送方用
  5484.  
  5485. 1372
  5486. 00:52:56,000 --> 00:52:58,000
  5487. 接收方的公藥加密
  5488.  
  5489. 1373
  5490. 00:52:58,000 --> 00:53:00,000
  5491. 並且只有接收方自己
  5492.  
  5493. 1374
  5494. 00:53:00,000 --> 00:53:02,000
  5495. 擁有那一把私藥能夠去解密
  5496.  
  5497. 1375
  5498. 00:53:02,000 --> 00:53:04,000
  5499. 這邊的方向是反過來的
  5500.  
  5501. 1376
  5502. 00:53:04,000 --> 00:53:06,000
  5503. 我要
  5504.  
  5505. 1377
  5506. 00:53:06,000 --> 00:53:08,000
  5507. issue一個簽章
  5508.  
  5509. 1378
  5510. 00:53:08,000 --> 00:53:10,000
  5511. 是由我自己
  5512.  
  5513. 1379
  5514. 00:53:10,000 --> 00:53:12,000
  5515. 用我的私藥才能證明我的
  5516.  
  5517. 1380
  5518. 00:53:12,000 --> 00:53:14,000
  5519. 身份去簽
  5520.  
  5521. 1381
  5522. 00:53:14,000 --> 00:53:16,000
  5523. 所有人都可以用我的公藥
  5524.  
  5525. 1382
  5526. 00:53:16,000 --> 00:53:18,000
  5527. 所有人都可以用我的公藥去確認
  5528.  
  5529. 1383
  5530. 00:53:18,000 --> 00:53:20,000
  5531. 這個簽名
  5532.  
  5533. 1384
  5534. 00:53:24,000 --> 00:53:26,000
  5535. 再來我們再看一下
  5536.  
  5537. 1385
  5538. 00:53:26,000 --> 00:53:28,000
  5539. 比較簡易的流程
  5540.  
  5541. 1386
  5542. 00:53:28,000 --> 00:53:30,000
  5543. 通常會怎麼做
  5544.  
  5545. 1387
  5546. 00:53:30,000 --> 00:53:32,000
  5547. 通常我們第一步會把
  5548.  
  5549. 1388
  5550. 00:53:32,000 --> 00:53:34,000
  5551. 我們所要簽的這個訊息
  5552.  
  5553. 1389
  5554. 00:53:34,000 --> 00:53:36,000
  5555. 我們所要簽的這個訊息
  5556.  
  5557. 1390
  5558. 00:53:36,000 --> 00:53:38,000
  5559. 我們先經過 hash
  5560.  
  5561. 1391
  5562. 00:53:38,000 --> 00:53:40,000
  5563. 得到摘要
  5564.  
  5565. 1392
  5566. 00:53:40,000 --> 00:53:42,000
  5567. 再來
  5568.  
  5569. 1393
  5570. 00:53:42,000 --> 00:53:44,000
  5571. 我們會用這一個私藥
  5572.  
  5573. 1394
  5574. 00:53:44,000 --> 00:53:46,000
  5575. 我說的A要做簽名
  5576.  
  5577. 1395
  5578. 00:53:46,000 --> 00:53:48,000
  5579. A會把A的私藥拿來
  5580.  
  5581. 1396
  5582. 00:53:48,000 --> 00:53:50,000
  5583. 然後對這個
  5584.  
  5585. 1397
  5586. 00:53:50,000 --> 00:53:52,000
  5587. 訊息做
  5588.  
  5589. 1398
  5590. 00:53:52,000 --> 00:53:54,000
  5591. 簽章,但是這邊我們講
  5592.  
  5593. 1399
  5594. 00:53:54,000 --> 00:53:56,000
  5595. 好比是用私藥去做加密
  5596.  
  5597. 1400
  5598. 00:53:56,000 --> 00:53:58,000
  5599. 所以這邊的加密我放了
  5600.  
  5601. 1401
  5602. 00:53:58,000 --> 00:54:00,000
  5603. call on call
  5604.  
  5605. 1402
  5606. 00:54:00,000 --> 00:54:04,000
  5607. 當然為什麼我們要用
  5608.  
  5609. 1403
  5610. 00:54:04,000 --> 00:54:06,000
  5611. 為什麼我們要經過一個hash,很簡單
  5612.  
  5613. 1404
  5614. 00:54:06,000 --> 00:54:08,000
  5615. 因為背對測試的演算法
  5616.  
  5617. 1405
  5618. 00:54:08,000 --> 00:54:10,000
  5619. 運算複雜,我們不希望它過
  5620.  
  5621. 1406
  5622. 00:54:10,000 --> 00:54:12,000
  5623. 大量的input
  5624.  
  5625. 1407
  5626. 00:54:12,000 --> 00:54:14,000
  5627. 所以
  5628.  
  5629. 1408
  5630. 00:54:14,000 --> 00:54:16,000
  5631. 因為我們沒有要去確認
  5632.  
  5633. 1409
  5634. 00:54:16,000 --> 00:54:18,000
  5635. 這個
  5636.  
  5637. 1410
  5638. 00:54:18,000 --> 00:54:20,000
  5639. 就是簽章來講它並沒有要去
  5640.  
  5641. 1411
  5642. 00:54:20,000 --> 00:54:22,000
  5643. 它並沒有要帶有那個訊息
  5644.  
  5645. 1412
  5646. 00:54:22,000 --> 00:54:24,000
  5647. 你訊息是分開傳的
  5648.  
  5649. 1413
  5650. 00:54:24,000 --> 00:54:26,000
  5651. 訊息夾帶簽章
  5652.  
  5653. 1414
  5654. 00:54:26,000 --> 00:54:28,000
  5655. 所以你不用去管
  5656.  
  5657. 1415
  5658. 00:54:28,000 --> 00:54:30,000
  5659. 那個訊息一不一樣
  5660.  
  5661. 1416
  5662. 00:54:30,000 --> 00:54:32,000
  5663. 簽章裡面只要包含
  5664.  
  5665. 1417
  5666. 00:54:32,000 --> 00:54:34,000
  5667. 成份就可以,所以它會用
  5668.  
  5669. 1418
  5670. 00:54:34,000 --> 00:54:36,000
  5671. hash
  5672.  
  5673. 1419
  5674. 00:54:36,000 --> 00:54:38,000
  5675. 那再來
  5676.  
  5677. 1420
  5678. 00:54:38,000 --> 00:54:40,000
  5679. 再來它有了這個簽名做好了
  5680.  
  5681. 1421
  5682. 00:54:40,000 --> 00:54:42,000
  5683. 之後
  5684.  
  5685. 1422
  5686. 00:54:42,000 --> 00:54:44,000
  5687. 它會把訊息
  5688.  
  5689. 1423
  5690. 00:54:44,000 --> 00:54:46,000
  5691. 也傳送給B
  5692.  
  5693. 1424
  5694. 00:54:46,000 --> 00:54:48,000
  5695. 然後簽章也傳送
  5696.  
  5697. 1425
  5698. 00:54:48,000 --> 00:54:50,000
  5699. 給B,所以剛剛講的訊息跟
  5700.  
  5701. 1426
  5702. 00:54:50,000 --> 00:54:52,000
  5703. 附件,這邊為了簡化
  5704.  
  5705. 1427
  5706. 00:54:52,000 --> 00:54:54,000
  5707. 我們不去討論訊息的加密
  5708.  
  5709. 1428
  5710. 00:54:54,000 --> 00:54:56,000
  5711. 我們就假設不可能
  5712.  
  5713. 1429
  5714. 00:54:56,000 --> 00:54:58,000
  5715. 它有沒有加密,總之這個
  5716.  
  5717. 1430
  5718. 00:54:58,000 --> 00:55:00,000
  5719. 訊息接收方它得到的訊息和
  5720.  
  5721. 1431
  5722. 00:55:00,000 --> 00:55:02,000
  5723. 這個簽章
  5724.  
  5725. 1432
  5726. 00:55:02,000 --> 00:55:04,000
  5727. 最後會做什麼事
  5728.  
  5729. 1433
  5730. 00:55:04,000 --> 00:55:06,000
  5731. 最後我們這個
  5732.  
  5733. 1434
  5734. 00:55:06,000 --> 00:55:08,000
  5735. 接收方B它會用一樣的
  5736.  
  5737. 1435
  5738. 00:55:08,000 --> 00:55:10,000
  5739. 過程,把
  5740.  
  5741. 1436
  5742. 00:55:10,000 --> 00:55:12,000
  5743. 收到的這個訊息經過hash
  5744.  
  5745. 1437
  5746. 00:55:12,000 --> 00:55:14,000
  5747. 也得到摘要
  5748.  
  5749. 1438
  5750. 00:55:14,000 --> 00:55:16,000
  5751. 然後把它收到的這個
  5752.  
  5753. 1439
  5754. 00:55:16,000 --> 00:55:18,000
  5755. 簽章好比
  5756.  
  5757. 1440
  5758. 00:55:18,000 --> 00:55:20,000
  5759. 是用A的公要去
  5760.  
  5761. 1441
  5762. 00:55:20,000 --> 00:55:22,000
  5763. 做解密
  5764.  
  5765. 1442
  5766. 00:55:22,000 --> 00:55:24,000
  5767. 好比是解密
  5768.  
  5769. 1443
  5770. 00:55:24,000 --> 00:55:26,000
  5771. 但是實際上我們叫確認
  5772.  
  5773. 1444
  5774. 00:55:26,000 --> 00:55:28,000
  5775. 做一個確認的函數
  5776.  
  5777. 1445
  5778. 00:55:28,000 --> 00:55:30,000
  5779. verification的函數,然後最後再來
  5780.  
  5781. 1446
  5782. 00:55:30,000 --> 00:55:32,000
  5783. 比對這兩個hash值是否
  5784.  
  5785. 1447
  5786. 00:55:32,000 --> 00:55:34,000
  5787. 相同
  5788.  
  5789. 1448
  5790. 00:55:34,000 --> 00:55:36,000
  5791. 它大概是這樣的過程
  5792.  
  5793. 1449
  5794. 00:55:36,000 --> 00:55:42,000
  5795. 所以到這邊為止有問題嗎
  5796.  
  5797. 1450
  5798. 00:55:42,000 --> 00:55:44,000
  5799. 有問題嗎
  5800.  
  5801. 1451
  5802. 00:55:44,000 --> 00:55:50,000
  5803. 我想我們先休息
  5804.  
  5805. 1452
  5806. 00:55:50,000 --> 00:55:52,000
  5807. 10分鐘
  5808.  
  5809. 1453
  5810. 00:55:52,000 --> 00:55:54,000
  5811. 10分鐘好了
  5812.  
  5813. 1454
  5814. 00:55:54,000 --> 00:55:56,000
  5815. 我們回來的時候會再接著講
  5816.  
  5817. 1455
  5818. 00:55:56,000 --> 00:55:58,000
  5819. 第四個authentication
  5820.  
  5821. 1456
  5822. 00:55:58,000 --> 00:56:00,000
  5823. 我想時間差不多我們就
  5824.  
  5825. 1457
  5826. 00:56:00,000 --> 00:56:02,000
  5827. 繼續,所以到剛剛為止
  5828.  
  5829. 1458
  5830. 00:56:02,000 --> 00:56:04,000
  5831. 我們大概看了
  5832.  
  5833. 1459
  5834. 00:56:04,000 --> 00:56:06,000
  5835. 四個安全目標的其中三種
  5836.  
  5837. 1460
  5838. 00:56:06,000 --> 00:56:08,000
  5839. 保密性,資料完整性
  5840.  
  5841. 1461
  5842. 00:56:08,000 --> 00:56:10,000
  5843. 跟不可否認性
  5844.  
  5845. 1462
  5846. 00:56:10,000 --> 00:56:12,000
  5847. 接下來我們要看的是叫認證
  5848.  
  5849. 1463
  5850. 00:56:12,000 --> 00:56:14,000
  5851. 為什麼認證放在最後
  5852.  
  5853. 1464
  5854. 00:56:14,000 --> 00:56:16,000
  5855. 講,是因為它其實
  5856.  
  5857. 1465
  5858. 00:56:16,000 --> 00:56:18,000
  5859. 要考量的細節比較多
  5860.  
  5861. 1466
  5862. 00:56:18,000 --> 00:56:20,000
  5863. 然後它的做法也比較複雜
  5864.  
  5865. 1467
  5866. 00:56:20,000 --> 00:56:22,000
  5867. 算是一個複合型的功能
  5868.  
  5869. 1468
  5870. 00:56:22,000 --> 00:56:24,000
  5871. 所以我們把它擺在最後
  5872.  
  5873. 1469
  5874. 00:56:24,000 --> 00:56:28,000
  5875. 基本上
  5876.  
  5877. 1470
  5878. 00:56:28,000 --> 00:56:30,000
  5879. 就像加密
  5880.  
  5881. 1471
  5882. 00:56:30,000 --> 00:56:32,000
  5883. 一樣
  5884.  
  5885. 1472
  5886. 00:56:32,000 --> 00:56:34,000
  5887. 認證其實也可以簡單的分為
  5888.  
  5889. 1473
  5890. 00:56:34,000 --> 00:56:36,000
  5891. 對稱式或是非對稱式的做法
  5892.  
  5893. 1474
  5894. 00:56:36,000 --> 00:56:38,000
  5895. 這邊兩種我們會各舉
  5896.  
  5897. 1475
  5898. 00:56:38,000 --> 00:56:40,000
  5899. 一個例子
  5900.  
  5901. 1476
  5902. 00:56:40,000 --> 00:56:42,000
  5903. 首先要看到的是對稱式的
  5904.  
  5905. 1477
  5906. 00:56:42,000 --> 00:56:44,000
  5907. 對稱式的認證
  5908.  
  5909. 1478
  5910. 00:56:44,000 --> 00:56:46,000
  5911. 我們常常會使用的一種方法
  5912.  
  5913. 1479
  5914. 00:56:46,000 --> 00:56:48,000
  5915. 叫做訊息驗證碼
  5916.  
  5917. 1480
  5918. 00:56:48,000 --> 00:56:50,000
  5919. 或我們叫MAC
  5920.  
  5921. 1481
  5922. 00:56:50,000 --> 00:56:52,000
  5923. 訊息驗證碼
  5924.  
  5925. 1482
  5926. 00:56:52,000 --> 00:56:54,000
  5927. 它的基本的原理
  5928.  
  5929. 1483
  5930. 00:56:54,000 --> 00:56:56,000
  5931. 就是會去把
  5932.  
  5933. 1484
  5934. 00:56:56,000 --> 00:56:58,000
  5935. 我們要加密的密文
  5936.  
  5937. 1485
  5938. 00:56:58,000 --> 00:57:00,000
  5939. 跟一個
  5940.  
  5941. 1486
  5942. 00:57:00,000 --> 00:57:02,000
  5943. 專門用來做
  5944.  
  5945. 1487
  5946. 00:57:02,000 --> 00:57:04,000
  5947. 訊息驗證碼用的key
  5948.  
  5949. 1488
  5950. 00:57:04,000 --> 00:57:06,000
  5951. 然後經過這個hash
  5952.  
  5953. 1489
  5954. 00:57:06,000 --> 00:57:08,000
  5955. 得到這個摘要
  5956.  
  5957. 1490
  5958. 00:57:08,000 --> 00:57:10,000
  5959. 或是在這邊我們叫做訊息驗證碼
  5960.  
  5961. 1491
  5962. 00:57:10,000 --> 00:57:12,000
  5963. 在這時候
  5964.  
  5965. 1492
  5966. 00:57:12,000 --> 00:57:14,000
  5967. 它的基本的原理是
  5968.  
  5969. 1493
  5970. 00:57:14,000 --> 00:57:16,000
  5971. 它會把密文
  5972.  
  5973. 1494
  5974. 00:57:16,000 --> 00:57:18,000
  5975. 跟一把專門用來做
  5976.  
  5977. 1495
  5978. 00:57:18,000 --> 00:57:20,000
  5979. MAC的MAC key
  5980.  
  5981. 1496
  5982. 00:57:20,000 --> 00:57:22,000
  5983. 然後進到這個hash
  5984.  
  5985. 1497
  5986. 00:57:22,000 --> 00:57:24,000
  5987. 然後得到一個摘要
  5988.  
  5989. 1498
  5990. 00:57:24,000 --> 00:57:26,000
  5991. 或是在這邊叫做訊息驗證碼
  5992.  
  5993. 1499
  5994. 00:57:26,000 --> 00:57:28,000
  5995. 那它的
  5996.  
  5997. 1500
  5998. 00:57:28,000 --> 00:57:30,000
  5999. 最主要的目的是說
  6000.  
  6001. 1501
  6002. 00:57:30,000 --> 00:57:32,000
  6003. 除了能夠確認身份之外
  6004.  
  6005. 1502
  6006. 00:57:32,000 --> 00:57:34,000
  6007. 也能夠確認訊息有沒有被篡改
  6008.  
  6009. 1503
  6010. 00:57:34,000 --> 00:57:36,000
  6011. 所以我們簡單的
  6012.  
  6013. 1504
  6014. 00:57:36,000 --> 00:57:38,000
  6015. 再過一下這個流程的話
  6016.  
  6017. 1505
  6018. 00:57:38,000 --> 00:57:40,000
  6019. 首先我們假設
  6020.  
  6021. 1506
  6022. 00:57:40,000 --> 00:57:42,000
  6023. 可能用我們前面所提過的
  6024.  
  6025. 1507
  6026. 00:57:42,000 --> 00:57:44,000
  6027. 這些方法呢
  6028.  
  6029. 1508
  6030. 00:57:44,000 --> 00:57:46,000
  6031. 我們可以把一把藍色的這把MAC key
  6032.  
  6033. 1509
  6034. 00:57:46,000 --> 00:57:48,000
  6035. 安全的傳送給
  6036.  
  6037. 1510
  6038. 00:57:48,000 --> 00:57:50,000
  6039. 接收方B
  6040.  
  6041. 1511
  6042. 00:57:50,000 --> 00:57:52,000
  6043. 所以這邊這個驚要的
  6044.  
  6045. 1512
  6046. 00:57:52,000 --> 00:57:54,000
  6047. 的傳送我們就先不考慮
  6048.  
  6049. 1513
  6050. 00:57:54,000 --> 00:57:56,000
  6051. 兩邊都有這把藍色的key
  6052.  
  6053. 1514
  6054. 00:57:56,000 --> 00:57:58,000
  6055. 並且他們有
  6056.  
  6057. 1515
  6058. 00:57:58,000 --> 00:58:00,000
  6059. 這個加密過的訊息
  6060.  
  6061. 1516
  6062. 00:58:00,000 --> 00:58:02,000
  6063. 加密過的訊息呢我們在這邊
  6064.  
  6065. 1517
  6066. 00:58:02,000 --> 00:58:04,000
  6067. 是用另外一把黃色的key
  6068.  
  6069. 1518
  6070. 00:58:04,000 --> 00:58:06,000
  6071. 來做的,簡單來說就是要區分
  6072.  
  6073. 1519
  6074. 00:58:06,000 --> 00:58:08,000
  6075. 就是要
  6076.  
  6077. 1520
  6078. 00:58:08,000 --> 00:58:10,000
  6079. 多加一重保險的意思
  6080.  
  6081. 1521
  6082. 00:58:10,000 --> 00:58:12,000
  6083. 加密訊息用的
  6084.  
  6085. 1522
  6086. 00:58:12,000 --> 00:58:14,000
  6087. 這把黃色的key跟用來
  6088.  
  6089. 1523
  6090. 00:58:14,000 --> 00:58:16,000
  6091. 做MAC的MAC key可以是不一樣
  6092.  
  6093. 1524
  6094. 00:58:16,000 --> 00:58:22,000
  6095. 所以它會去
  6096.  
  6097. 1525
  6098. 00:58:22,000 --> 00:58:24,000
  6099. 它的原理
  6100.  
  6101. 1526
  6102. 00:58:24,000 --> 00:58:26,000
  6103. 上就是說
  6104.  
  6105. 1527
  6106. 00:58:26,000 --> 00:58:28,000
  6107. 我們看步驟好了,就是首先
  6108.  
  6109. 1528
  6110. 00:58:28,000 --> 00:58:30,000
  6111. 它是把用這個黃色
  6112.  
  6113. 1529
  6114. 00:58:30,000 --> 00:58:32,000
  6115. 的這把key來加密它所要傳送的名文
  6116.  
  6117. 1530
  6118. 00:58:32,000 --> 00:58:34,000
  6119. 然後把它變成
  6120.  
  6121. 1531
  6122. 00:58:34,000 --> 00:58:36,000
  6123. 密文之後,那再來
  6124.  
  6125. 1532
  6126. 00:58:36,000 --> 00:58:38,000
  6127. 安全的傳送過了這把藍色的MAC key
  6128.  
  6129. 1533
  6130. 00:58:38,000 --> 00:58:40,000
  6131. 那
  6132.  
  6133. 1534
  6134. 00:58:40,000 --> 00:58:42,000
  6135. 再來就可以像我們剛剛講的流程
  6136.  
  6137. 1535
  6138. 00:58:42,000 --> 00:58:44,000
  6139. 一樣去把這個訊息驗證碼做出來
  6140.  
  6141. 1536
  6142. 00:58:44,000 --> 00:58:46,000
  6143. 它會把密文
  6144.  
  6145. 1537
  6146. 00:58:46,000 --> 00:58:48,000
  6147. 加上這把MAC key
  6148.  
  6149. 1538
  6150. 00:58:48,000 --> 00:58:50,000
  6151. 經過hash得到
  6152.  
  6153. 1539
  6154. 00:58:50,000 --> 00:58:52,000
  6155. 訊息驗證碼MAC
  6156.  
  6157. 1540
  6158. 00:58:52,000 --> 00:58:54,000
  6159. 那再來下一步的話呢
  6160.  
  6161. 1541
  6162. 00:58:54,000 --> 00:58:56,000
  6163. 我們傳送過去
  6164.  
  6165. 1542
  6166. 00:58:56,000 --> 00:58:58,000
  6167. 的會是兩個東西,一樣是
  6168.  
  6169. 1543
  6170. 00:58:58,000 --> 00:59:00,000
  6171. 加密的密文跟它附帶的
  6172.  
  6173. 1544
  6174. 00:59:00,000 --> 00:59:02,000
  6175. 一個附件,就是訊息驗證碼
  6176.  
  6177. 1545
  6178. 00:59:02,000 --> 00:59:04,000
  6179. 等於說我們把它attach在後面
  6180.  
  6181. 1546
  6182. 00:59:04,000 --> 00:59:06,000
  6183. 那接收到的人
  6184.  
  6185. 1547
  6186. 00:59:06,000 --> 00:59:08,000
  6187. 會做什麼事,他會去做驗證
  6188.  
  6189. 1548
  6190. 00:59:08,000 --> 00:59:10,000
  6191. 驗證這個訊息
  6192.  
  6193. 1549
  6194. 00:59:10,000 --> 00:59:12,000
  6195. 認證碼,首先呢
  6196.  
  6197. 1550
  6198. 00:59:12,000 --> 00:59:14,000
  6199. 是正確的情境,是說
  6200.  
  6201. 1551
  6202. 00:59:14,000 --> 00:59:16,000
  6203. 它如果是正確的話
  6204.  
  6205. 1552
  6206. 00:59:16,000 --> 00:59:18,000
  6207. 它會收到,它會把一樣
  6208.  
  6209. 1553
  6210. 00:59:18,000 --> 00:59:20,000
  6211. 收到這個密文,加上它有的MAC key
  6212.  
  6213. 1554
  6214. 00:59:20,000 --> 00:59:22,000
  6215. 去做一樣的這個
  6216.  
  6217. 1555
  6218. 00:59:22,000 --> 00:59:24,000
  6219. 訊息驗證碼,並且因為這個是
  6220.  
  6221. 1556
  6222. 00:59:24,000 --> 00:59:26,000
  6223. 健康的
  6224.  
  6225. 1557
  6226. 00:59:26,000 --> 00:59:28,000
  6227. 情境,所以它得到的這個訊息驗證碼會是一模一樣
  6228.  
  6229. 1558
  6230. 00:59:28,000 --> 00:59:30,000
  6231. 前面我們提過
  6232.  
  6233. 1559
  6234. 00:59:30,000 --> 00:59:32,000
  6235. 你進到hash來講
  6236.  
  6237. 1560
  6238. 00:59:32,000 --> 00:59:34,000
  6239. 你只要輸入一樣
  6240.  
  6241. 1561
  6242. 00:59:34,000 --> 00:59:36,000
  6243. 你的輸出一定會一樣
  6244.  
  6245. 1562
  6246. 00:59:36,000 --> 00:59:38,000
  6247. 那如果
  6248.  
  6249. 1563
  6250. 00:59:38,000 --> 00:59:40,000
  6251. 如果有出問題的話呢
  6252.  
  6253. 1564
  6254. 00:59:40,000 --> 00:59:42,000
  6255. 一個可能是你的
  6256.  
  6257. 1565
  6258. 00:59:42,000 --> 00:59:44,000
  6259. 訊息被篡改
  6260.  
  6261. 1566
  6262. 00:59:44,000 --> 00:59:46,000
  6263. 就算你持有
  6264.  
  6265. 1567
  6266. 00:59:46,000 --> 00:59:48,000
  6267. 相同的key,但是你
  6268.  
  6269. 1568
  6270. 00:59:48,000 --> 00:59:50,000
  6271. 得不出一樣的這個MAC
  6272.  
  6273. 1569
  6274. 00:59:50,000 --> 00:59:52,000
  6275. 所以
  6276.  
  6277. 1570
  6278. 00:59:52,000 --> 00:59:54,000
  6279. 在這邊的話,B就知道說
  6280.  
  6281. 1571
  6282. 00:59:54,000 --> 00:59:56,000
  6283. 這個訊息
  6284.  
  6285. 1572
  6286. 00:59:56,000 --> 00:59:58,000
  6287. 我需要ignore
  6288.  
  6289. 1573
  6290. 00:59:58,000 --> 01:00:00,000
  6291. 因為它有可能錯在兩種
  6292.  
  6293. 1574
  6294. 01:00:00,000 --> 01:00:02,000
  6295. 環節,它錯的
  6296.  
  6297. 1575
  6298. 01:00:02,000 --> 01:00:04,000
  6299. 可能性就是兩個
  6300.  
  6301. 1576
  6302. 01:00:04,000 --> 01:00:06,000
  6303. input,它有可能
  6304.  
  6305. 1577
  6306. 01:00:06,000 --> 01:00:08,000
  6307. 是密文錯了,像這邊畫的是密文
  6308.  
  6309. 1578
  6310. 01:00:08,000 --> 01:00:10,000
  6311. 錯了,或者是
  6312.  
  6313. 1579
  6314. 01:00:10,000 --> 01:00:12,000
  6315. 它的MAC key是錯的
  6316.  
  6317. 1580
  6318. 01:00:12,000 --> 01:00:14,000
  6319. 它只要輸入
  6320.  
  6321. 1581
  6322. 01:00:14,000 --> 01:00:16,000
  6323. 的兩個裡面有一個不一樣
  6324.  
  6325. 1582
  6326. 01:00:16,000 --> 01:00:18,000
  6327. 它的結果就會差很多
  6328.  
  6329. 1583
  6330. 01:00:18,000 --> 01:00:20,000
  6331. 剛剛我們提過
  6332.  
  6333. 1584
  6334. 01:00:20,000 --> 01:00:22,000
  6335. 所以以這種例子
  6336.  
  6337. 1585
  6338. 01:00:22,000 --> 01:00:24,000
  6339. 你如果是惡意的第三方
  6340.  
  6341. 1586
  6342. 01:00:24,000 --> 01:00:26,000
  6343. hikeX去篡改這個密文的話
  6344.  
  6345. 1587
  6346. 01:00:26,000 --> 01:00:28,000
  6347. 那它的得到的MAC
  6348.  
  6349. 1588
  6350. 01:00:28,000 --> 01:00:30,000
  6351. 會是錯的,或者是
  6352.  
  6353. 1589
  6354. 01:00:30,000 --> 01:00:32,000
  6355. 你本來就不是
  6356.  
  6357. 1590
  6358. 01:00:32,000 --> 01:00:34,000
  6359. 合法的接收方B
  6360.  
  6361. 1591
  6362. 01:00:34,000 --> 01:00:36,000
  6363. 然後你就不會有
  6364.  
  6365. 1592
  6366. 01:00:36,000 --> 01:00:38,000
  6367. 這一把要用來
  6368.  
  6369. 1593
  6370. 01:00:38,000 --> 01:00:40,000
  6371. 做訊息驗證碼用的MAC key
  6372.  
  6373. 1594
  6374. 01:00:40,000 --> 01:00:42,000
  6375. 那你當然就得不出正確的MAC
  6376.  
  6377. 1595
  6378. 01:00:42,000 --> 01:00:46,000
  6379. 所以大概的
  6380.  
  6381. 1596
  6382. 01:00:46,000 --> 01:00:48,000
  6383. 情況會有這兩種
  6384.  
  6385. 1597
  6386. 01:00:48,000 --> 01:00:50,000
  6387. 這個來講
  6388.  
  6389. 1598
  6390. 01:00:50,000 --> 01:00:52,000
  6391. 相對來講是單純
  6392.  
  6393. 1599
  6394. 01:00:52,000 --> 01:00:54,000
  6395. 跟對稱是
  6396.  
  6397. 1600
  6398. 01:00:54,000 --> 01:00:56,000
  6399. 加密的概念很像
  6400.  
  6401. 1601
  6402. 01:00:56,000 --> 01:00:58,000
  6403. 它就建立在說,你有一把
  6404.  
  6405. 1602
  6406. 01:00:58,000 --> 01:01:00,000
  6407. 加密用的key是可以來確保說
  6408.  
  6409. 1603
  6410. 01:01:00,000 --> 01:01:02,000
  6411. 溝通只有我們兩個人
  6412.  
  6413. 1604
  6414. 01:01:02,000 --> 01:01:04,000
  6415. 可以看得到內容,並且你有
  6416.  
  6417. 1605
  6418. 01:01:04,000 --> 01:01:06,000
  6419. 另外一個MAC key是
  6420.  
  6421. 1606
  6422. 01:01:06,000 --> 01:01:08,000
  6423. 用來做類似是
  6424.  
  6425. 1607
  6426. 01:01:08,000 --> 01:01:10,000
  6427. 作為身份的信物
  6428.  
  6429. 1608
  6430. 01:01:10,000 --> 01:01:12,000
  6431. 只要我有這把MAC key,我就是合法的
  6432.  
  6433. 1609
  6434. 01:01:12,000 --> 01:01:14,000
  6435. 接收方或傳送方
  6436.  
  6437. 1610
  6438. 01:01:14,000 --> 01:01:16,000
  6439. 它的概念上大概
  6440.  
  6441. 1611
  6442. 01:01:16,000 --> 01:01:18,000
  6443. 是這樣
  6444.  
  6445. 1612
  6446. 01:01:18,000 --> 01:01:20,000
  6447. 接下來要看到的這個是
  6448.  
  6449. 1613
  6450. 01:01:20,000 --> 01:01:22,000
  6451. 開始是叫非對甚私的做法
  6452.  
  6453. 1614
  6454. 01:01:22,000 --> 01:01:24,000
  6455. 這個叫做我們一般講叫憑證
  6456.  
  6457. 1615
  6458. 01:01:24,000 --> 01:01:26,000
  6459. 憑證這邊一個很簡單的示意圖
  6460.  
  6461. 1616
  6462. 01:01:26,000 --> 01:01:28,000
  6463. 就是說
  6464.  
  6465. 1617
  6466. 01:01:28,000 --> 01:01:30,000
  6467. 有一個人
  6468.  
  6469. 1618
  6470. 01:01:30,000 --> 01:01:32,000
  6471. A,他去把他的個人的
  6472.  
  6473. 1619
  6474. 01:01:32,000 --> 01:01:34,000
  6475. 一些資訊跟他的公要
  6476.  
  6477. 1620
  6478. 01:01:34,000 --> 01:01:36,000
  6479. 交給這個我們叫CA
  6480.  
  6481. 1621
  6482. 01:01:36,000 --> 01:01:38,000
  6483. 叫做Certificate Authority,憑證機構
  6484.  
  6485. 1622
  6486. 01:01:38,000 --> 01:01:40,000
  6487. 機關,他
  6488.  
  6489. 1623
  6490. 01:01:40,000 --> 01:01:42,000
  6491. 會頒發一個憑證過來
  6492.  
  6493. 1624
  6494. 01:01:42,000 --> 01:01:44,000
  6495. 類似於我們去
  6496.  
  6497. 1625
  6498. 01:01:44,000 --> 01:01:46,000
  6499. 像護證事務所
  6500.  
  6501. 1626
  6502. 01:01:46,000 --> 01:01:48,000
  6503. 怎麼樣的地方去辦身份證的感覺
  6504.  
  6505. 1627
  6506. 01:01:48,000 --> 01:01:50,000
  6507. 我們得到了一個身份的
  6508.  
  6509. 1628
  6510. 01:01:50,000 --> 01:01:52,000
  6511. 憑證
  6512.  
  6513. 1629
  6514. 01:01:52,000 --> 01:01:54,000
  6515. 那為什麼要有這個東西
  6516.  
  6517. 1630
  6518. 01:01:54,000 --> 01:01:56,000
  6519. 那為什麼要有這個東西
  6520.  
  6521. 1631
  6522. 01:01:56,000 --> 01:01:58,000
  6523. 我們前面講過
  6524.  
  6525. 1632
  6526. 01:01:58,000 --> 01:02:00,000
  6527. 在公開
  6528.  
  6529. 1633
  6530. 01:02:00,000 --> 01:02:02,000
  6531. 經要密碼學,或是叫非對甚私
  6532.  
  6533. 1634
  6534. 01:02:02,000 --> 01:02:04,000
  6535. 密碼學的世界裡面
  6536.  
  6537. 1635
  6538. 01:02:04,000 --> 01:02:06,000
  6539. 公要可以釋善在外,私要
  6540.  
  6541. 1636
  6542. 01:02:06,000 --> 01:02:08,000
  6543. 只能自己持有,絕對不外洩
  6544.  
  6545. 1637
  6546. 01:02:08,000 --> 01:02:10,000
  6547. 公要可以釋善在外
  6548.  
  6549. 1638
  6550. 01:02:10,000 --> 01:02:12,000
  6551. 代表什麼事情,就是說任何人都可以
  6552.  
  6553. 1639
  6554. 01:02:12,000 --> 01:02:14,000
  6555. 去Access,或者是去
  6556.  
  6557. 1640
  6558. 01:02:14,000 --> 01:02:16,000
  6559. 去派發公要
  6560.  
  6561. 1641
  6562. 01:02:16,000 --> 01:02:18,000
  6563. 但是問題在於說,你怎麼知道
  6564.  
  6565. 1642
  6566. 01:02:18,000 --> 01:02:20,000
  6567. 這個公要是誰的
  6568.  
  6569. 1643
  6570. 01:02:20,000 --> 01:02:22,000
  6571. 所以這邊我們舉一個
  6572.  
  6573. 1644
  6574. 01:02:22,000 --> 01:02:24,000
  6575. 例子
  6576.  
  6577. 1645
  6578. 01:02:24,000 --> 01:02:28,000
  6579. 這邊有一個惡意的駭客X
  6580.  
  6581. 1646
  6582. 01:02:28,000 --> 01:02:30,000
  6583. 他首先
  6584.  
  6585. 1647
  6586. 01:02:30,000 --> 01:02:32,000
  6587. 他就聲稱自己是B
  6588.  
  6589. 1648
  6590. 01:02:32,000 --> 01:02:34,000
  6591. 把他的公要
  6592.  
  6593. 1649
  6594. 01:02:34,000 --> 01:02:36,000
  6595. PX交給A
  6596.  
  6597. 1650
  6598. 01:02:36,000 --> 01:02:38,000
  6599. A不知道
  6600.  
  6601. 1651
  6602. 01:02:38,000 --> 01:02:40,000
  6603. 他以為
  6604.  
  6605. 1652
  6606. 01:02:40,000 --> 01:02:42,000
  6607. 這個公要是屬於B的
  6608.  
  6609. 1653
  6610. 01:02:42,000 --> 01:02:44,000
  6611. 他用這個公要
  6612.  
  6613. 1654
  6614. 01:02:44,000 --> 01:02:46,000
  6615. 去加密訊息
  6616.  
  6617. 1655
  6618. 01:02:46,000 --> 01:02:48,000
  6619. 傳給駭客X
  6620.  
  6621. 1656
  6622. 01:02:48,000 --> 01:02:50,000
  6623. 那駭客X
  6624.  
  6625. 1657
  6626. 01:02:50,000 --> 01:02:52,000
  6627. 他有他自己的私要
  6628.  
  6629. 1658
  6630. 01:02:52,000 --> 01:02:54,000
  6631. 他當然可以解讀這個訊息
  6632.  
  6633. 1659
  6634. 01:02:54,000 --> 01:02:56,000
  6635. 這個是我們前面講的非對甚私的加密
  6636.  
  6637. 1660
  6638. 01:02:56,000 --> 01:02:58,000
  6639. 各位應該還記得
  6640.  
  6641. 1661
  6642. 01:02:58,000 --> 01:03:00,000
  6643. 所以他可以解讀這個訊息
  6644.  
  6645. 1662
  6646. 01:03:00,000 --> 01:03:02,000
  6647. 假設他拿到的是
  6648.  
  6649. 1663
  6650. 01:03:02,000 --> 01:03:04,000
  6651. 正確的這個PB的話
  6652.  
  6653. 1664
  6654. 01:03:04,000 --> 01:03:06,000
  6655. 他可以隨心所欲的
  6656.  
  6657. 1665
  6658. 01:03:06,000 --> 01:03:08,000
  6659. 改這個訊息,交給B
  6660.  
  6661. 1666
  6662. 01:03:08,000 --> 01:03:10,000
  6663. 因為他有拿到B的公要
  6664.  
  6665. 1667
  6666. 01:03:10,000 --> 01:03:12,000
  6667. 並且B會依照駭客X
  6668.  
  6669. 1668
  6670. 01:03:12,000 --> 01:03:14,000
  6671. 所設定的
  6672.  
  6673. 1669
  6674. 01:03:14,000 --> 01:03:16,000
  6675. 用他的私要去做解密
  6676.  
  6677. 1670
  6678. 01:03:16,000 --> 01:03:18,000
  6679. 然後得到一個假的訊息
  6680.  
  6681. 1671
  6682. 01:03:18,000 --> 01:03:20,000
  6683. 這個是有可能發生的一種狀況
  6684.  
  6685. 1672
  6686. 01:03:20,000 --> 01:03:22,000
  6687. 那大家可以想
  6688.  
  6689. 1673
  6690. 01:03:22,000 --> 01:03:24,000
  6691. 更恐怖的狀況
  6692.  
  6693. 1674
  6694. 01:03:24,000 --> 01:03:26,000
  6695. 會是說,他可以
  6696.  
  6697. 1675
  6698. 01:03:26,000 --> 01:03:28,000
  6699. 他可以自己解讀這個訊息之外
  6700.  
  6701. 1676
  6702. 01:03:28,000 --> 01:03:30,000
  6703. 他甚至可以把正確的
  6704.  
  6705. 1677
  6706. 01:03:30,000 --> 01:03:32,000
  6707. 訊息傳給B
  6708.  
  6709. 1678
  6710. 01:03:32,000 --> 01:03:34,000
  6711. 他可以,並且A
  6712.  
  6713. 1679
  6714. 01:03:34,000 --> 01:03:36,000
  6715. B以為溝通暢通無阻
  6716.  
  6717. 1680
  6718. 01:03:36,000 --> 01:03:38,000
  6719. 可是不知道有人
  6720.  
  6721. 1681
  6722. 01:03:38,000 --> 01:03:40,000
  6723. 完全的竊聽了這整個通訊
  6724.  
  6725. 1682
  6726. 01:03:40,000 --> 01:03:42,000
  6727. 各位應該可以想像
  6728.  
  6729. 1683
  6730. 01:03:42,000 --> 01:03:44,000
  6731. 就是這兩種都是有可能發生的
  6732.  
  6733. 1684
  6734. 01:03:44,000 --> 01:03:46,000
  6735. 所以這樣的關鍵的
  6736.  
  6737. 1685
  6738. 01:03:46,000 --> 01:03:48,000
  6739. 這樣的事發的原因是在於說
  6740.  
  6741. 1686
  6742. 01:03:48,000 --> 01:03:50,000
  6743. 因為認錯了這一把公要
  6744.  
  6745. 1687
  6746. 01:03:50,000 --> 01:03:52,000
  6747. 以為他是合法的
  6748.  
  6749. 1688
  6750. 01:03:52,000 --> 01:03:54,000
  6751. 以為他是合法的
  6752.  
  6753. 1689
  6754. 01:03:54,000 --> 01:03:56,000
  6755. 接收方B的公要
  6756.  
  6757. 1690
  6758. 01:03:56,000 --> 01:03:58,000
  6759. 但其實他是駭客X的公要
  6760.  
  6761. 1691
  6762. 01:03:58,000 --> 01:04:00,000
  6763. 因為我們前面講過公要示範在外
  6764.  
  6765. 1692
  6766. 01:04:00,000 --> 01:04:02,000
  6767. 但是你不知道
  6768.  
  6769. 1693
  6770. 01:04:02,000 --> 01:04:04,000
  6771. 如何去證明這個公要的身份
  6772.  
  6773. 1694
  6774. 01:04:06,000 --> 01:04:08,000
  6775. OK,所以
  6776.  
  6777. 1695
  6778. 01:04:08,000 --> 01:04:10,000
  6779. 像前面講的
  6780.  
  6781. 1696
  6782. 01:04:10,000 --> 01:04:12,000
  6783. 假設有這個憑證
  6784.  
  6785. 1697
  6786. 01:04:12,000 --> 01:04:14,000
  6787. 事先
  6788.  
  6789. 1698
  6790. 01:04:14,000 --> 01:04:16,000
  6791. A就先把他的憑證
  6792.  
  6793. 1699
  6794. 01:04:16,000 --> 01:04:18,000
  6795. 交給B
  6796.  
  6797. 1700
  6798. 01:04:18,000 --> 01:04:20,000
  6799. 我們再回頭看一下憑證的內容
  6800.  
  6801. 1701
  6802. 01:04:20,000 --> 01:04:22,000
  6803. 憑證的內容有什麼呢
  6804.  
  6805. 1702
  6806. 01:04:22,000 --> 01:04:24,000
  6807. 憑證的內容有A的身份
  6808.  
  6809. 1703
  6810. 01:04:24,000 --> 01:04:26,000
  6811. 要知道這個是誰
  6812.  
  6813. 1704
  6814. 01:04:26,000 --> 01:04:28,000
  6815. 綁定了他的公要
  6816.  
  6817. 1705
  6818. 01:04:28,000 --> 01:04:30,000
  6819. 這樣就把身份跟公要綁定在一起
  6820.  
  6821. 1706
  6822. 01:04:30,000 --> 01:04:32,000
  6823. 再來
  6824.  
  6825. 1707
  6826. 01:04:32,000 --> 01:04:34,000
  6827. 這邊有一個CA在這裡
  6828.  
  6829. 1708
  6830. 01:04:34,000 --> 01:04:36,000
  6831. 就是說
  6832.  
  6833. 1709
  6834. 01:04:36,000 --> 01:04:38,000
  6835. 這一個憑證是由
  6836.  
  6837. 1710
  6838. 01:04:38,000 --> 01:04:40,000
  6839. CA所頒發
  6840.  
  6841. 1711
  6842. 01:04:40,000 --> 01:04:42,000
  6843. 並且有CA的簽名
  6844.  
  6845. 1712
  6846. 01:04:42,000 --> 01:04:44,000
  6847. 換回我們
  6848.  
  6849. 1713
  6850. 01:04:44,000 --> 01:04:46,000
  6851. 具體一點的例子來講
  6852.  
  6853. 1714
  6854. 01:04:46,000 --> 01:04:48,000
  6855. 我們的身份證會有什麼
  6856.  
  6857. 1715
  6858. 01:04:48,000 --> 01:04:50,000
  6859. 就是我們的身份證會有
  6860.  
  6861. 1716
  6862. 01:04:50,000 --> 01:04:52,000
  6863. 到底是誰
  6864.  
  6865. 1717
  6866. 01:04:52,000 --> 01:04:54,000
  6867. 一些個人的資訊,父母配偶
  6868.  
  6869. 1718
  6870. 01:04:54,000 --> 01:04:56,000
  6871. 並且有我們最重要的
  6872.  
  6873. 1719
  6874. 01:04:56,000 --> 01:04:58,000
  6875. 用來證明身份用的
  6876.  
  6877. 1720
  6878. 01:04:58,000 --> 01:05:00,000
  6879. 我們可能叫做身份證字號
  6880.  
  6881. 1721
  6882. 01:05:00,000 --> 01:05:02,000
  6883. 同時
  6884.  
  6885. 1722
  6886. 01:05:02,000 --> 01:05:04,000
  6887. 他會告訴你說
  6888.  
  6889. 1723
  6890. 01:05:04,000 --> 01:05:06,000
  6891. 到底是
  6892.  
  6893. 1724
  6894. 01:05:06,000 --> 01:05:08,000
  6895. 為什麼他是身份證
  6896.  
  6897. 1725
  6898. 01:05:08,000 --> 01:05:10,000
  6899. 是因為他的規定是這樣
  6900.  
  6901. 1726
  6902. 01:05:10,000 --> 01:05:12,000
  6903. 他是由什麼機構所頒發
  6904.  
  6905. 1727
  6906. 01:05:12,000 --> 01:05:14,000
  6907. 然後怎麼做成這樣身份證
  6908.  
  6909. 1728
  6910. 01:05:14,000 --> 01:05:16,000
  6911. 然後跟一些你絕對不可能
  6912.  
  6913. 1729
  6914. 01:05:16,000 --> 01:05:18,000
  6915. 去輕易去篡改的一些
  6916.  
  6917. 1730
  6918. 01:05:18,000 --> 01:05:20,000
  6919. 加工
  6920.  
  6921. 1731
  6922. 01:05:20,000 --> 01:05:22,000
  6923. 大概的概念
  6924.  
  6925. 1732
  6926. 01:05:22,000 --> 01:05:24,000
  6927. 是類似這樣子
  6928.  
  6929. 1733
  6930. 01:05:24,000 --> 01:05:26,000
  6931. 所以只要今天
  6932.  
  6933. 1734
  6934. 01:05:26,000 --> 01:05:28,000
  6935. A有先把這個憑證交給B
  6936.  
  6937. 1735
  6938. 01:05:28,000 --> 01:05:30,000
  6939. 這個憑證上面會載明
  6940.  
  6941. 1736
  6942. 01:05:30,000 --> 01:05:32,000
  6943. A到底是誰,公要到底是什麼
  6944.  
  6945. 1737
  6946. 01:05:32,000 --> 01:05:34,000
  6947. 那
  6948.  
  6949. 1738
  6950. 01:05:34,000 --> 01:05:36,000
  6951. 再來,駭客X要去
  6952.  
  6953. 1739
  6954. 01:05:36,000 --> 01:05:38,000
  6955. 冒充成A的時候
  6956.  
  6957. 1740
  6958. 01:05:38,000 --> 01:05:40,000
  6959. 他就會遇到問題,因為他沒有辦法
  6960.  
  6961. 1741
  6962. 01:05:40,000 --> 01:05:42,000
  6963. 提出正確的
  6964.  
  6965. 1742
  6966. 01:05:42,000 --> 01:05:44,000
  6967. 公要加上
  6968.  
  6969. 1743
  6970. 01:05:44,000 --> 01:05:46,000
  6971. 他的,就他沒有辦法提出一個
  6972.  
  6973. 1744
  6974. 01:05:46,000 --> 01:05:48,000
  6975. 偽造的證書
  6976.  
  6977. 1745
  6978. 01:05:48,000 --> 01:05:50,000
  6979. 沒有辦法把他的公要
  6980.  
  6981. 1746
  6982. 01:05:50,000 --> 01:05:52,000
  6983. PX跟A的身份綁在
  6984.  
  6985. 1747
  6986. 01:05:52,000 --> 01:05:54,000
  6987. 一起,因為A的
  6988.  
  6989. 1748
  6990. 01:05:54,000 --> 01:05:56,000
  6991. 身份已經跟A的公要綁在一起
  6992.  
  6993. 1749
  6994. 01:05:56,000 --> 01:05:58,000
  6995. 他的大概的概念是這樣子
  6996.  
  6997. 1750
  6998. 01:05:58,000 --> 01:06:02,000
  6999. 好,那我們這邊
  7000.  
  7001. 1751
  7002. 01:06:02,000 --> 01:06:04,000
  7003. 會先看一個簡圖,就是說
  7004.  
  7005. 1752
  7006. 01:06:04,000 --> 01:06:06,000
  7007. 到底這個
  7008.  
  7009. 1753
  7010. 01:06:06,000 --> 01:06:08,000
  7011. 證書是怎麼樣,憑證
  7012.  
  7013. 1754
  7014. 01:06:08,000 --> 01:06:10,000
  7015. 是怎麼樣做出來的
  7016.  
  7017. 1755
  7018. 01:06:10,000 --> 01:06:12,000
  7019. 所以前面講過了,我們
  7020.  
  7021. 1756
  7022. 01:06:12,000 --> 01:06:14,000
  7023. 這裡面我們講的是,我們要去
  7024.  
  7025. 1757
  7026. 01:06:14,000 --> 01:06:16,000
  7027. 證明,我們要做一張給Bub的憑證
  7028.  
  7029. 1758
  7030. 01:06:16,000 --> 01:06:18,000
  7031. 那我們分為
  7032.  
  7033. 1759
  7034. 01:06:18,000 --> 01:06:20,000
  7035. 左半邊是
  7036.  
  7037. 1760
  7038. 01:06:20,000 --> 01:06:22,000
  7039. 就是左半邊是
  7040.  
  7041. 1761
  7042. 01:06:22,000 --> 01:06:24,000
  7043. 建立這個憑證的過程
  7044.  
  7045. 1762
  7046. 01:06:24,000 --> 01:06:26,000
  7047. 右半邊是確認
  7048.  
  7049. 1763
  7050. 01:06:26,000 --> 01:06:28,000
  7051. 這個憑證的過程
  7052.  
  7053. 1764
  7054. 01:06:28,000 --> 01:06:30,000
  7055. 左半邊來講,我們先從他的
  7056.  
  7057. 1765
  7058. 01:06:30,000 --> 01:06:32,000
  7059. 成分來,他會包含Bub的ID
  7060.  
  7061. 1766
  7062. 01:06:32,000 --> 01:06:34,000
  7063. 就是他的個人的一些
  7064.  
  7065. 1767
  7066. 01:06:34,000 --> 01:06:36,000
  7067. 資訊
  7068.  
  7069. 1768
  7070. 01:06:36,000 --> 01:06:38,000
  7071. 跟最重要的Bub的公要
  7072.  
  7073. 1769
  7074. 01:06:38,000 --> 01:06:40,000
  7075. 然後再來,這一張憑證
  7076.  
  7077. 1770
  7078. 01:06:40,000 --> 01:06:42,000
  7079. 是由誰所簽發的
  7080.  
  7081. 1771
  7082. 01:06:42,000 --> 01:06:44,000
  7083. 然後最後下面
  7084.  
  7085. 1772
  7086. 01:06:44,000 --> 01:06:46,000
  7087. 再配合一段簽章
  7088.  
  7089. 1773
  7090. 01:06:46,000 --> 01:06:48,000
  7091. 好,那
  7092.  
  7093. 1774
  7094. 01:06:48,000 --> 01:06:50,000
  7095. 他怎麼做的,他會把前面這三
  7096.  
  7097. 1775
  7098. 01:06:50,000 --> 01:06:52,000
  7099. 前面這三個,上面這三個成分
  7100.  
  7101. 1776
  7102. 01:06:52,000 --> 01:06:54,000
  7103. 過一個
  7104.  
  7105. 1777
  7106. 01:06:54,000 --> 01:06:56,000
  7107. Hash一樣,過一個Hash,然後得到
  7108.  
  7109. 1778
  7110. 01:06:56,000 --> 01:06:58,000
  7111. 一個短的摘要
  7112.  
  7113. 1779
  7114. 01:06:58,000 --> 01:07:00,000
  7115. 再來用,再來就是用
  7116.  
  7117. 1780
  7118. 01:07:00,000 --> 01:07:02,000
  7119. 簽章,我們剛剛講說,簽章是類似
  7120.  
  7121. 1781
  7122. 01:07:02,000 --> 01:07:04,000
  7123. 於你用私要去
  7124.  
  7125. 1782
  7126. 01:07:04,000 --> 01:07:06,000
  7127. 做加密
  7128.  
  7129. 1783
  7130. 01:07:06,000 --> 01:07:08,000
  7131. 這邊的話,這個簽章是由
  7132.  
  7133. 1784
  7134. 01:07:08,000 --> 01:07:10,000
  7135. CA來做的
  7136.  
  7137. 1785
  7138. 01:07:10,000 --> 01:07:12,000
  7139. 由這個
  7140.  
  7141. 1786
  7142. 01:07:12,000 --> 01:07:14,000
  7143. 國家單位或是憑證機構來幫你
  7144.  
  7145. 1787
  7146. 01:07:14,000 --> 01:07:16,000
  7147. 的公要背書
  7148.  
  7149. 1788
  7150. 01:07:16,000 --> 01:07:18,000
  7151. 他用他的私要去簽
  7152.  
  7153. 1789
  7154. 01:07:18,000 --> 01:07:20,000
  7155. 得到了這個簽章
  7156.  
  7157. 1790
  7158. 01:07:20,000 --> 01:07:22,000
  7159. 所以把這三個
  7160.  
  7161. 1791
  7162. 01:07:22,000 --> 01:07:24,000
  7163. 資訊欄跟這一個
  7164.  
  7165. 1792
  7166. 01:07:24,000 --> 01:07:26,000
  7167. 簽章的這個
  7168.  
  7169. 1793
  7170. 01:07:26,000 --> 01:07:28,000
  7171. 附件,組合起來,這就是一張
  7172.  
  7173. 1794
  7174. 01:07:28,000 --> 01:07:30,000
  7175. 完整的憑證
  7176.  
  7177. 1795
  7178. 01:07:30,000 --> 01:07:32,000
  7179. 這樣的憑證,收到的人會做什麼事
  7180.  
  7181. 1796
  7182. 01:07:32,000 --> 01:07:34,000
  7183. 收到的人會一樣把
  7184.  
  7185. 1797
  7186. 01:07:34,000 --> 01:07:36,000
  7187. 這三個資訊過Hash
  7188.  
  7189. 1798
  7190. 01:07:36,000 --> 01:07:38,000
  7191. 然後並且,也就是去
  7192.  
  7193. 1799
  7194. 01:07:38,000 --> 01:07:40,000
  7195. Verify這個Signature
  7196.  
  7197. 1800
  7198. 01:07:40,000 --> 01:07:42,000
  7199. 確認這個簽名,他們會用
  7200.  
  7201. 1801
  7202. 01:07:42,000 --> 01:07:44,000
  7203. CA的公要
  7204.  
  7205. 1802
  7206. 01:07:44,000 --> 01:07:46,000
  7207. 來去,類似於
  7208.  
  7209. 1803
  7210. 01:07:46,000 --> 01:07:48,000
  7211. 對這個簽章做解密
  7212.  
  7213. 1804
  7214. 01:07:48,000 --> 01:07:50,000
  7215. 我們叫做確認簽名,得出來的是
  7216.  
  7217. 1805
  7218. 01:07:50,000 --> 01:07:52,000
  7219. 會應該要跟這個Hash
  7220.  
  7221. 1806
  7222. 01:07:52,000 --> 01:07:54,000
  7223. 能夠做比對
  7224.  
  7225. 1807
  7226. 01:07:54,000 --> 01:07:56,000
  7227. 這個會太
  7228.  
  7229. 1808
  7230. 01:07:56,000 --> 01:07:58,000
  7231. 複雜嗎
  7232.  
  7233. 1809
  7234. 01:07:58,000 --> 01:08:02,000
  7235. 所以
  7236.  
  7237. 1810
  7238. 01:08:02,000 --> 01:08:04,000
  7239. 整體來說呢
  7240.  
  7241. 1811
  7242. 01:08:04,000 --> 01:08:06,000
  7243. 這樣的就包含了說
  7244.  
  7245. 1812
  7246. 01:08:06,000 --> 01:08:08,000
  7247. 應該說,整件事情
  7248.  
  7249. 1813
  7250. 01:08:08,000 --> 01:08:10,000
  7251. 的關鍵在於,我們
  7252.  
  7253. 1814
  7254. 01:08:10,000 --> 01:08:12,000
  7255. 如何解決公要事善在外
  7256.  
  7257. 1815
  7258. 01:08:12,000 --> 01:08:14,000
  7259. 不可信的問題
  7260.  
  7261. 1816
  7262. 01:08:14,000 --> 01:08:16,000
  7263. 他的解法其實非常的單純
  7264.  
  7265. 1817
  7266. 01:08:16,000 --> 01:08:18,000
  7267. 我們就是找人幫我們背書
  7268.  
  7269. 1818
  7270. 01:08:18,000 --> 01:08:20,000
  7271. 找人幫我們背書
  7272.  
  7273. 1819
  7274. 01:08:20,000 --> 01:08:22,000
  7275. 誰有資格幫我們背書
  7276.  
  7277. 1820
  7278. 01:08:22,000 --> 01:08:24,000
  7279. 誰有資格幫我們背書,我們
  7280.  
  7281. 1821
  7282. 01:08:24,000 --> 01:08:26,000
  7283. 誰有資格幫我們背書的話
  7284.  
  7285. 1822
  7286. 01:08:26,000 --> 01:08:28,000
  7287. 那個答案會是說,我們不會去懷疑
  7288.  
  7289. 1823
  7290. 01:08:28,000 --> 01:08:30,000
  7291. 他的公要
  7292.  
  7293. 1824
  7294. 01:08:30,000 --> 01:08:32,000
  7295. 普通人的公要
  7296.  
  7297. 1825
  7298. 01:08:32,000 --> 01:08:34,000
  7299. 我們不信,有利人士的
  7300.  
  7301. 1826
  7302. 01:08:34,000 --> 01:08:36,000
  7303. 公要我們相信
  7304.  
  7305. 1827
  7306. 01:08:36,000 --> 01:08:38,000
  7307. 關鍵就在這裡,他的解法就是
  7308.  
  7309. 1828
  7310. 01:08:38,000 --> 01:08:40,000
  7311. 這麼樣的單純
  7312.  
  7313. 1829
  7314. 01:08:40,000 --> 01:08:42,000
  7315. 所以,等於說
  7316.  
  7317. 1830
  7318. 01:08:42,000 --> 01:08:44,000
  7319. 再回來看到,這邊的關鍵是什麼
  7320.  
  7321. 1831
  7322. 01:08:44,000 --> 01:08:46,000
  7323. 你明明就已經要證明公要
  7324.  
  7325. 1832
  7326. 01:08:46,000 --> 01:08:48,000
  7327. 公要跟身份的關係了
  7328.  
  7329. 1833
  7330. 01:08:48,000 --> 01:08:50,000
  7331. 為什麼你這邊可以用一個CA的公要
  7332.  
  7333. 1834
  7334. 01:08:50,000 --> 01:08:52,000
  7335. 去確認這個簽名
  7336.  
  7337. 1835
  7338. 01:08:52,000 --> 01:08:54,000
  7339. 原因很單純,因為CA是有利人士
  7340.  
  7341. 1836
  7342. 01:08:54,000 --> 01:08:56,000
  7343. 我們不會去懷疑他的公要
  7344.  
  7345. 1837
  7346. 01:08:56,000 --> 01:08:58,000
  7347. 就這樣而已
  7348.  
  7349. 1838
  7350. 01:08:58,000 --> 01:09:00,000
  7351. 那當然來講
  7352.  
  7353. 1839
  7354. 01:09:00,000 --> 01:09:02,000
  7355. 這樣的CA就會慢慢的
  7356.  
  7357. 1840
  7358. 01:09:02,000 --> 01:09:04,000
  7359. 構成一個類似
  7360.  
  7361. 1841
  7362. 01:09:04,000 --> 01:09:06,000
  7363. 樹狀的結構,你可能有
  7364.  
  7365. 1842
  7366. 01:09:06,000 --> 01:09:08,000
  7367. 普通等級的有利人士
  7368.  
  7369. 1843
  7370. 01:09:08,000 --> 01:09:10,000
  7371. 可能到
  7372.  
  7373. 1844
  7374. 01:09:10,000 --> 01:09:12,000
  7375. 地方代表,往上一路到政府
  7376.  
  7377. 1845
  7378. 01:09:12,000 --> 01:09:14,000
  7379. 之類的,這樣子的情況
  7380.  
  7381. 1846
  7382. 01:09:14,000 --> 01:09:16,000
  7383. 可能最後會停在
  7384.  
  7385. 1847
  7386. 01:09:16,000 --> 01:09:18,000
  7387. RootCA這樣的機構
  7388.  
  7389. 1848
  7390. 01:09:18,000 --> 01:09:20,000
  7391. 並且,他的
  7392.  
  7393. 1849
  7394. 01:09:20,000 --> 01:09:22,000
  7395. 憑證是由自己來簽自己
  7396.  
  7397. 1850
  7398. 01:09:22,000 --> 01:09:24,000
  7399. 因為他是最有利的人士
  7400.  
  7401. 1851
  7402. 01:09:24,000 --> 01:09:28,000
  7403. 所以,剛剛提的是
  7404.  
  7405. 1852
  7406. 01:09:28,000 --> 01:09:30,000
  7407. 比較簡化的情境
  7408.  
  7409. 1853
  7410. 01:09:30,000 --> 01:09:32,000
  7411. 就是說,我們剛剛所提到的
  7412.  
  7413. 1854
  7414. 01:09:32,000 --> 01:09:34,000
  7415. 憑證,大概是
  7416.  
  7417. 1855
  7418. 01:09:34,000 --> 01:09:36,000
  7419. 包含這幾個基本的資訊
  7420.  
  7421. 1856
  7422. 01:09:36,000 --> 01:09:38,000
  7423. 實務上來講的話
  7424.  
  7425. 1857
  7426. 01:09:38,000 --> 01:09:40,000
  7427. 現在會在
  7428.  
  7429. 1858
  7430. 01:09:40,000 --> 01:09:42,000
  7431. 比較常使用的憑證的系統
  7432.  
  7433. 1859
  7434. 01:09:42,000 --> 01:09:44,000
  7435. 我們都是叫做X.509
  7436.  
  7437. 1860
  7438. 01:09:44,000 --> 01:09:46,000
  7439. 這一套的憑證
  7440.  
  7441. 1861
  7442. 01:09:46,000 --> 01:09:48,000
  7443. 他現在是在第七版
  7444.  
  7445. 1862
  7446. 01:09:48,000 --> 01:09:50,000
  7447. 簡單的講他的內容的話
  7448.  
  7449. 1863
  7450. 01:09:50,000 --> 01:09:52,000
  7451. 左邊這個是
  7452.  
  7453. 1864
  7454. 01:09:52,000 --> 01:09:54,000
  7455. 他完整的憑證的資料結構
  7456.  
  7457. 1865
  7458. 01:09:54,000 --> 01:09:56,000
  7459. 那他裡面會包含
  7460.  
  7461. 1866
  7462. 01:09:56,000 --> 01:09:58,000
  7463. 很快的帶過,就是包含
  7464.  
  7465. 1867
  7466. 01:09:58,000 --> 01:10:00,000
  7467. 除了剛剛提到的那些簡易的話
  7468.  
  7469. 1868
  7470. 01:10:00,000 --> 01:10:02,000
  7471. 包含他的版本號,可能他的
  7472.  
  7473. 1869
  7474. 01:10:02,000 --> 01:10:04,000
  7475. 證書號
  7476.  
  7477. 1870
  7478. 01:10:04,000 --> 01:10:06,000
  7479. 或者是說,他用哪些演算法
  7480.  
  7481. 1871
  7482. 01:10:06,000 --> 01:10:08,000
  7483. 他是用哪些演算法做的憑證
  7484.  
  7485. 1872
  7486. 01:10:08,000 --> 01:10:10,000
  7487. 或是說,他用哪一個演算法
  7488.  
  7489. 1873
  7490. 01:10:10,000 --> 01:10:12,000
  7491. 跟哪一些參數等等的
  7492.  
  7493. 1874
  7494. 01:10:12,000 --> 01:10:14,000
  7495. 這些資訊,總之
  7496.  
  7497. 1875
  7498. 01:10:14,000 --> 01:10:16,000
  7499. Ease跟前面我們看到的製作憑證
  7500.  
  7501. 1876
  7502. 01:10:16,000 --> 01:10:18,000
  7503. 確認憑證的那一套是
  7504.  
  7505. 1877
  7506. 01:10:18,000 --> 01:10:20,000
  7507. 類似的
  7508.  
  7509. 1878
  7510. 01:10:20,000 --> 01:10:22,000
  7511. 並且他也會有另外一個是
  7512.  
  7513. 1879
  7514. 01:10:22,000 --> 01:10:24,000
  7515. 叫做Revification List
  7516.  
  7517. 1880
  7518. 01:10:24,000 --> 01:10:26,000
  7519. 就是說,你憑證會有效期
  7520.  
  7521. 1881
  7522. 01:10:26,000 --> 01:10:28,000
  7523. 當然我們希望你過一陣子之後
  7524.  
  7525. 1882
  7526. 01:10:28,000 --> 01:10:30,000
  7527. 再去更新你的憑證
  7528.  
  7529. 1883
  7530. 01:10:30,000 --> 01:10:32,000
  7531. 所以,他會有一個
  7532.  
  7533. 1884
  7534. 01:10:32,000 --> 01:10:34,000
  7535. 憑證撤回的時候,他也需要
  7536.  
  7537. 1885
  7538. 01:10:34,000 --> 01:10:36,000
  7539. 留存做記錄,然後以後可以做集合
  7540.  
  7541. 1886
  7542. 01:10:36,000 --> 01:10:38,000
  7543. 所以
  7544.  
  7545. 1887
  7546. 01:10:38,000 --> 01:10:40,000
  7547. 這樣的,提這件事情的
  7548.  
  7549. 1888
  7550. 01:10:40,000 --> 01:10:42,000
  7551. 重點是跟大家講說
  7552.  
  7553. 1889
  7554. 01:10:42,000 --> 01:10:44,000
  7555. 現在來講,最常使用的
  7556.  
  7557. 1890
  7558. 01:10:44,000 --> 01:10:46,000
  7559. 不管是在怎麼樣的
  7560.  
  7561. 1891
  7562. 01:10:46,000 --> 01:10:48,000
  7563. Cloud的結構什麼,都會用這種
  7564.  
  7565. 1892
  7566. 01:10:48,000 --> 01:10:50,000
  7567. 叫做公開
  7568.  
  7569. 1893
  7570. 01:10:50,000 --> 01:10:52,000
  7571. 基要基礎建設
  7572.  
  7573. 1894
  7574. 01:10:52,000 --> 01:10:54,000
  7575. Infrastructure,或叫做Public Key Infrastructure
  7576.  
  7577. 1895
  7578. 01:10:54,000 --> 01:10:56,000
  7579. 就是PKI這種東西
  7580.  
  7581. 1896
  7582. 01:10:56,000 --> 01:10:58,000
  7583. 這個東西的重點是什麼,我們這邊提供一個
  7584.  
  7585. 1897
  7586. 01:10:58,000 --> 01:11:00,000
  7587. 簡單的定義,就是說
  7588.  
  7589. 1898
  7590. 01:11:00,000 --> 01:11:02,000
  7591. 他是有,可能是有硬體,有軟體
  7592.  
  7593. 1899
  7594. 01:11:02,000 --> 01:11:04,000
  7595. 有人,有政策,有流程
  7596.  
  7597. 1900
  7598. 01:11:04,000 --> 01:11:06,000
  7599. 但是,他來做什麼呢
  7600.  
  7601. 1901
  7602. 01:11:06,000 --> 01:11:08,000
  7603. 他會去建立
  7604.  
  7605. 1902
  7606. 01:11:08,000 --> 01:11:10,000
  7607. 管理,儲存,派發
  7608.  
  7609. 1903
  7610. 01:11:10,000 --> 01:11:12,000
  7611. 或者是去撤回憑證
  7612.  
  7613. 1904
  7614. 01:11:12,000 --> 01:11:14,000
  7615. 這邊的重點是在於說
  7616.  
  7617. 1905
  7618. 01:11:14,000 --> 01:11:16,000
  7619. 他整件事情,整個Public Key Infrastructure
  7620.  
  7621. 1906
  7622. 01:11:16,000 --> 01:11:18,000
  7623. 他能夠去做認證的
  7624.  
  7625. 1907
  7626. 01:11:18,000 --> 01:11:20,000
  7627. 基礎,都建立在
  7628.  
  7629. 1908
  7630. 01:11:20,000 --> 01:11:22,000
  7631. 憑證上面
  7632.  
  7633. 1909
  7634. 01:11:22,000 --> 01:11:24,000
  7635. 下面這邊就是
  7636.  
  7637. 1910
  7638. 01:11:24,000 --> 01:11:26,000
  7639. 下面這邊就是多一些包含說
  7640.  
  7641. 1911
  7642. 01:11:26,000 --> 01:11:28,000
  7643. 他的這個PKI裡面
  7644.  
  7645. 1912
  7646. 01:11:28,000 --> 01:11:30,000
  7647. 有什麼樣的成員
  7648.  
  7649. 1913
  7650. 01:11:30,000 --> 01:11:32,000
  7651. 成員可能就會有各個
  7652.  
  7653. 1914
  7654. 01:11:32,000 --> 01:11:34,000
  7655. 那個中端的實體
  7656.  
  7657. 1915
  7658. 01:11:34,000 --> 01:11:36,000
  7659. 比方說像Bob,可能是
  7660.  
  7661. 1916
  7662. 01:11:36,000 --> 01:11:38,000
  7663. 系統裡面的成員
  7664.  
  7665. 1917
  7666. 01:11:38,000 --> 01:11:40,000
  7667. 然後是,也會有我們剛剛講到的CA
  7668.  
  7669. 1918
  7670. 01:11:40,000 --> 01:11:42,000
  7671. 那,有CA之外呢
  7672.  
  7673. 1919
  7674. 01:11:42,000 --> 01:11:44,000
  7675. 也有可能會有RA
  7676.  
  7677. 1920
  7678. 01:11:44,000 --> 01:11:46,000
  7679. RA是專門做註冊的,就是說
  7680.  
  7681. 1921
  7682. 01:11:46,000 --> 01:11:48,000
  7683. 剛剛在
  7684.  
  7685. 1922
  7686. 01:11:48,000 --> 01:11:50,000
  7687. 我們舉的例子裡面,我們人去
  7688.  
  7689. 1923
  7690. 01:11:50,000 --> 01:11:52,000
  7691. 然後護政事務所辦,然後拿到
  7692.  
  7693. 1924
  7694. 01:11:52,000 --> 01:11:54,000
  7695. 那個身分證,之所以
  7696.  
  7697. 1925
  7698. 01:11:54,000 --> 01:11:56,000
  7699. 我們以後能夠用身分證暢行無阻
  7700.  
  7701. 1926
  7702. 01:11:56,000 --> 01:11:58,000
  7703. 是因為,我們在去辦的時候
  7704.  
  7705. 1927
  7706. 01:11:58,000 --> 01:12:00,000
  7707. 他經過了嚴格的確認
  7708.  
  7709. 1928
  7710. 01:12:00,000 --> 01:12:02,000
  7711. 確認你是正確的人,才頒發給你
  7712.  
  7713. 1929
  7714. 01:12:02,000 --> 01:12:04,000
  7715. 你的身分證,所以註冊的時候
  7716.  
  7717. 1930
  7718. 01:12:04,000 --> 01:12:06,000
  7719. 也是非常重要的一步,你當然不會希望說
  7720.  
  7721. 1931
  7722. 01:12:06,000 --> 01:12:08,000
  7723. 註冊
  7724.  
  7725. 1932
  7726. 01:12:08,000 --> 01:12:10,000
  7727. 註冊的時候可以輕易的
  7728.  
  7729. 1933
  7730. 01:12:10,000 --> 01:12:12,000
  7731. 可以輕易的把駭客X的身分跟
  7732.  
  7733. 1934
  7734. 01:12:12,000 --> 01:12:14,000
  7735. A的公要綁在一起
  7736.  
  7737. 1935
  7738. 01:12:14,000 --> 01:12:16,000
  7739. 所以註冊也是另外一個難題
  7740.  
  7741. 1936
  7742. 01:12:16,000 --> 01:12:18,000
  7743. 所以註冊有可能是會分開另外一個RA來做的
  7744.  
  7745. 1937
  7746. 01:12:18,000 --> 01:12:20,000
  7747. 然後並且也會有
  7748.  
  7749. 1938
  7750. 01:12:20,000 --> 01:12:22,000
  7751. 憑證測回,叫revocation list
  7752.  
  7753. 1939
  7754. 01:12:22,000 --> 01:12:24,000
  7755. revocation list
  7756.  
  7757. 1940
  7758. 01:12:24,000 --> 01:12:26,000
  7759. 的管理
  7760.  
  7761. 1941
  7762. 01:12:26,000 --> 01:12:28,000
  7763. 跟,最後就是
  7764.  
  7765. 1942
  7766. 01:12:28,000 --> 01:12:30,000
  7767. storage,所以整個
  7768.  
  7769. 1943
  7770. 01:12:30,000 --> 01:12:32,000
  7771. PKI大概會有類似這樣的
  7772.  
  7773. 1944
  7774. 01:12:32,000 --> 01:12:34,000
  7775. 架構,跟他的目的是
  7776.  
  7777. 1945
  7778. 01:12:34,000 --> 01:12:36,000
  7779. 在這裡,所以
  7780.  
  7781. 1946
  7782. 01:12:36,000 --> 01:12:38,000
  7783. 重點
  7784.  
  7785. 1947
  7786. 01:12:38,000 --> 01:12:40,000
  7787. 還是回到說,現在來講
  7788.  
  7789. 1948
  7790. 01:12:40,000 --> 01:12:42,000
  7791. 最常用的這些,特別是
  7792.  
  7793. 1949
  7794. 01:12:42,000 --> 01:12:44,000
  7795. 認證的手段,大部分都圍繞
  7796.  
  7797. 1950
  7798. 01:12:44,000 --> 01:12:46,000
  7799. 在這個憑證上面
  7800.  
  7801. 1951
  7802. 01:12:46,000 --> 01:12:50,000
  7803. 好,那,所以
  7804.  
  7805. 1952
  7806. 01:12:50,000 --> 01:12:52,000
  7807. 到剛剛為止
  7808.  
  7809. 1953
  7810. 01:12:52,000 --> 01:12:54,000
  7811. 到剛剛為止
  7812.  
  7813. 1954
  7814. 01:12:54,000 --> 01:12:56,000
  7815. 大概講了
  7816.  
  7817. 1955
  7818. 01:12:56,000 --> 01:12:58,000
  7819. 我們大概是已經完成了四個
  7820.  
  7821. 1956
  7822. 01:12:58,000 --> 01:13:00,000
  7823. 安全的目標
  7824.  
  7825. 1957
  7826. 01:13:00,000 --> 01:13:02,000
  7827. 那剛剛
  7828.  
  7829. 1958
  7830. 01:13:02,000 --> 01:13:04,000
  7831. 剛才講完的認證
  7832.  
  7833. 1959
  7834. 01:13:04,000 --> 01:13:06,000
  7835. 我們有講了所謂
  7836.  
  7837. 1960
  7838. 01:13:06,000 --> 01:13:08,000
  7839. 有對稱式的跟非對稱式的認證
  7840.  
  7841. 1961
  7842. 01:13:08,000 --> 01:13:10,000
  7843. 再來的話
  7844.  
  7845. 1962
  7846. 01:13:10,000 --> 01:13:12,000
  7847. 我們要提的是,這邊
  7848.  
  7849. 1963
  7850. 01:13:12,000 --> 01:13:14,000
  7851. 先幫大家整理了我們前面所提過的
  7852.  
  7853. 1964
  7854. 01:13:14,000 --> 01:13:16,000
  7855. 下面有四個
  7856.  
  7857. 1965
  7858. 01:13:16,000 --> 01:13:18,000
  7859. 下面有四個我們前面提到的
  7860.  
  7861. 1966
  7862. 01:13:18,000 --> 01:13:20,000
  7863. 安全的目標,跟對應的做法
  7864.  
  7865. 1967
  7866. 01:13:20,000 --> 01:13:22,000
  7867. 在保密性,以保密性而言
  7868.  
  7869. 1968
  7870. 01:13:22,000 --> 01:13:24,000
  7871. 我們會利用加密
  7872.  
  7873. 1969
  7874. 01:13:24,000 --> 01:13:26,000
  7875. 可能包含了對稱跟非對稱式的加密
  7876.  
  7877. 1970
  7878. 01:13:26,000 --> 01:13:28,000
  7879. 那資料完整性的話,我們用雜湊函數
  7880.  
  7881. 1971
  7882. 01:13:28,000 --> 01:13:30,000
  7883. 用來比對摘要是否一樣
  7884.  
  7885. 1972
  7886. 01:13:30,000 --> 01:13:32,000
  7887. 來確認資料完整性
  7888.  
  7889. 1973
  7890. 01:13:32,000 --> 01:13:34,000
  7891. 那這個認證的話
  7892.  
  7893. 1974
  7894. 01:13:34,000 --> 01:13:36,000
  7895. 剛剛最後提的,比較難一點
  7896.  
  7897. 1975
  7898. 01:13:36,000 --> 01:13:38,000
  7899. 我們會用對稱式的,我們會用這個
  7900.  
  7901. 1976
  7902. 01:13:38,000 --> 01:13:40,000
  7903. 訊息認證碼
  7904.  
  7905. 1977
  7906. 01:13:40,000 --> 01:13:42,000
  7907. 或者是用非對稱式的時候,我們會用這個
  7908.  
  7909. 1978
  7910. 01:13:42,000 --> 01:13:44,000
  7911. 憑證來做
  7912.  
  7913. 1979
  7914. 01:13:44,000 --> 01:13:46,000
  7915. 那不可否認性的話
  7916.  
  7917. 1980
  7918. 01:13:46,000 --> 01:13:48,000
  7919. 就通常是依靠數位簽章
  7920.  
  7921. 1981
  7922. 01:13:48,000 --> 01:13:50,000
  7923. 那可以
  7924.  
  7925. 1982
  7926. 01:13:50,000 --> 01:13:52,000
  7927. 值得注意的是說,這裡面大部分
  7928.  
  7929. 1983
  7930. 01:13:52,000 --> 01:13:54,000
  7931. 都會有牽涉到key
  7932.  
  7933. 1984
  7934. 01:13:54,000 --> 01:13:56,000
  7935. 所以其實在我們在講整套
  7936.  
  7937. 1985
  7938. 01:13:56,000 --> 01:13:58,000
  7939. 要去做密碼學的時候,也有一個
  7940.  
  7941. 1986
  7942. 01:13:58,000 --> 01:14:00,000
  7943. 組,也有一個種類的
  7944.  
  7945. 1987
  7946. 01:14:00,000 --> 01:14:02,000
  7947. 這個算法是很常會被用到的
  7948.  
  7949. 1988
  7950. 01:14:02,000 --> 01:14:04,000
  7951. 它都是跟經要有關
  7952.  
  7953. 1989
  7954. 01:14:04,000 --> 01:14:06,000
  7955. 那我們這邊放叫key schemes
  7956.  
  7957. 1990
  7958. 01:14:06,000 --> 01:14:08,000
  7959. 接下來要講的,就是其中一個
  7960.  
  7961. 1991
  7962. 01:14:08,000 --> 01:14:10,000
  7963. 叫做share secret
  7964.  
  7965. 1992
  7966. 01:14:10,000 --> 01:14:14,000
  7967. 所以在講share secret之前,我們要回顧一下
  7968.  
  7969. 1993
  7970. 01:14:14,000 --> 01:14:16,000
  7971. 前面所提到的經要傳遞的問題
  7972.  
  7973. 1994
  7974. 01:14:16,000 --> 01:14:18,000
  7975. 再一次呢,這個經要
  7976.  
  7977. 1995
  7978. 01:14:18,000 --> 01:14:20,000
  7979. 的傳遞的問題是來自於說
  7980.  
  7981. 1996
  7982. 01:14:20,000 --> 01:14:22,000
  7983. 在要做正常的加密
  7984.  
  7985. 1997
  7986. 01:14:22,000 --> 01:14:24,000
  7987. 傳輸訊息的時候,我們會推薦
  7988.  
  7989. 1998
  7990. 01:14:24,000 --> 01:14:26,000
  7991. 使用對稱式的加密的算法
  7992.  
  7993. 1999
  7994. 01:14:26,000 --> 01:14:28,000
  7995. 比較快,也很安全
  7996.  
  7997. 2000
  7998. 01:14:28,000 --> 01:14:30,000
  7999. 但是它的致命的缺陷是在於說
  8000.  
  8001. 2001
  8002. 01:14:30,000 --> 01:14:32,000
  8003. 你會需要有包含有經要的傳遞
  8004.  
  8005. 2002
  8006. 01:14:32,000 --> 01:14:34,000
  8007. 所以前面講過了兩種
  8008.  
  8009. 2003
  8010. 01:14:34,000 --> 01:14:36,000
  8011. 解決這個經要傳遞
  8012.  
  8013. 2004
  8014. 01:14:36,000 --> 01:14:38,000
  8015. 問題的方法,第一種是說
  8016.  
  8017. 2005
  8018. 01:14:38,000 --> 01:14:40,000
  8019. 你就單純的直接使用
  8020.  
  8021. 2006
  8022. 01:14:40,000 --> 01:14:42,000
  8023. 非對稱式經要來做
  8024.  
  8025. 2007
  8026. 01:14:42,000 --> 01:14:44,000
  8027. 那這個比較不推薦
  8028.  
  8029. 2008
  8030. 01:14:44,000 --> 01:14:46,000
  8031. 因為你會變成,你會用複雜的算法
  8032.  
  8033. 2009
  8034. 01:14:46,000 --> 01:14:48,000
  8035. 去算到大量的這個資料
  8036.  
  8037. 2010
  8038. 01:14:48,000 --> 01:14:50,000
  8039. 那第二種我們提的是說
  8040.  
  8041. 2011
  8042. 01:14:50,000 --> 01:14:52,000
  8043. 我們簡化一些,我們先用
  8044.  
  8045. 2012
  8046. 01:14:52,000 --> 01:14:54,000
  8047. 先用這個非對稱式的加密
  8048.  
  8049. 2013
  8050. 01:14:54,000 --> 01:14:56,000
  8051. 來把鑰匙做加密
  8052.  
  8053. 2014
  8054. 01:14:56,000 --> 01:14:58,000
  8055. 之後我們就用那一把鑰匙
  8056.  
  8057. 2015
  8058. 01:14:58,000 --> 01:15:00,000
  8059. 來做對稱式的溝通
  8060.  
  8061. 2016
  8062. 01:15:00,000 --> 01:15:02,000
  8063. 那現在要講的這一種叫做
  8064.  
  8065. 2017
  8066. 01:15:02,000 --> 01:15:04,000
  8067. 用經要交換的協定,那這個是
  8068.  
  8069. 2018
  8070. 01:15:04,000 --> 01:15:06,000
  8071. 其實是一種更快的做法
  8072.  
  8073. 2019
  8074. 01:15:06,000 --> 01:15:08,000
  8075. 你只要有公司要就可以做
  8076.  
  8077. 2020
  8078. 01:15:08,000 --> 01:15:10,000
  8079. 那大部分的
  8080.  
  8081. 2021
  8082. 01:15:10,000 --> 01:15:12,000
  8083. 我們大部分的這種經要交換的協定
  8084.  
  8085. 2022
  8086. 01:15:12,000 --> 01:15:14,000
  8087. 前面有提過
  8088.  
  8089. 2023
  8090. 01:15:14,000 --> 01:15:16,000
  8091. 都是根源於一種叫
  8092.  
  8093. 2024
  8094. 01:15:16,000 --> 01:15:18,000
  8095. DevHellman,是整套
  8096.  
  8097. 2025
  8098. 01:15:18,000 --> 01:15:20,000
  8099. 非對稱式密碼系統的始祖
  8100.  
  8101. 2026
  8102. 01:15:20,000 --> 01:15:22,000
  8103. 所以我們這邊看的
  8104.  
  8105. 2027
  8106. 01:15:22,000 --> 01:15:24,000
  8107. 就是DevHellman的結構
  8108.  
  8109. 2028
  8110. 01:15:24,000 --> 01:15:26,000
  8111. 那大致上很簡單,它就是
  8112.  
  8113. 2029
  8114. 01:15:26,000 --> 01:15:28,000
  8115. A跟B各自有他們的公私要對
  8116.  
  8117. 2030
  8118. 01:15:28,000 --> 01:15:30,000
  8119. 私要跟公要是成對的
  8120.  
  8121. 2031
  8122. 01:15:30,000 --> 01:15:32,000
  8123. 所以A會有
  8124.  
  8125. 2032
  8126. 01:15:32,000 --> 01:15:34,000
  8127. Secret Key of A跟Public Key of A
  8128.  
  8129. 2033
  8130. 01:15:34,000 --> 01:15:36,000
  8131. 這邊是SA跟PA
  8132.  
  8133. 2034
  8134. 01:15:36,000 --> 01:15:38,000
  8135. 同樣的B會有SV跟PB
  8136.  
  8137. 2035
  8138. 01:15:38,000 --> 01:15:40,000
  8139. 那按照道理
  8140.  
  8141. 2036
  8142. 01:15:40,000 --> 01:15:42,000
  8143. 我們前面講過了
  8144.  
  8145. 2037
  8146. 01:15:42,000 --> 01:15:44,000
  8147. 就是私要是絕對不會外洩
  8148.  
  8149. 2038
  8150. 01:15:44,000 --> 01:15:46,000
  8151. 可以四散在外
  8152.  
  8153. 2039
  8154. 01:15:46,000 --> 01:15:48,000
  8155. 所以這邊的話
  8156.  
  8157. 2040
  8158. 01:15:48,000 --> 01:15:50,000
  8159. 我們把PA交給B
  8160.  
  8161. 2041
  8162. 01:15:50,000 --> 01:15:52,000
  8163. 把PB交給A
  8164.  
  8165. 2042
  8166. 01:15:52,000 --> 01:15:54,000
  8167. 也只有這種選項了,就是你不會把
  8168.  
  8169. 2043
  8170. 01:15:54,000 --> 01:15:56,000
  8171. 私要系列的都交出去
  8172.  
  8173. 2044
  8174. 01:15:56,000 --> 01:15:58,000
  8175. 所以你只會交公要
  8176.  
  8177. 2045
  8178. 01:15:58,000 --> 01:16:00,000
  8179. 交了以後發生什麼事情呢
  8180.  
  8181. 2046
  8182. 01:16:00,000 --> 01:16:02,000
  8183. A這邊有SA跟PB,B這邊有
  8184.  
  8185. 2047
  8186. 01:16:02,000 --> 01:16:04,000
  8187. SV跟PA,就是他們各自的
  8188.  
  8189. 2048
  8190. 01:16:04,000 --> 01:16:06,000
  8191. 私要都保留得
  8192.  
  8193. 2049
  8194. 01:16:06,000 --> 01:16:08,000
  8195. 好好的,跟對方的公要
  8196.  
  8197. 2050
  8198. 01:16:08,000 --> 01:16:10,000
  8199. 因為公要可以隨意取用
  8200.  
  8201. 2051
  8202. 01:16:10,000 --> 01:16:12,000
  8203. 那很神奇的
  8204.  
  8205. 2052
  8206. 01:16:12,000 --> 01:16:14,000
  8207. 因為數學上設計的原因
  8208.  
  8209. 2053
  8210. 01:16:14,000 --> 01:16:16,000
  8211. 你的SA去跟PB
  8212.  
  8213. 2054
  8214. 01:16:16,000 --> 01:16:18,000
  8215. 做operation得到的這一把G
  8216.  
  8217. 2055
  8218. 01:16:18,000 --> 01:16:20,000
  8219. 會跟SV跟PA
  8220.  
  8221. 2056
  8222. 01:16:20,000 --> 01:16:22,000
  8223. operate做出來的這一把G
  8224.  
  8225. 2057
  8226. 01:16:22,000 --> 01:16:24,000
  8227. 一模一樣
  8228.  
  8229. 2058
  8230. 01:16:24,000 --> 01:16:26,000
  8231. 就很神奇的數學原因
  8232.  
  8233. 2059
  8234. 01:16:26,000 --> 01:16:28,000
  8235. 造成了這一把得到的G
  8236.  
  8237. 2060
  8238. 01:16:28,000 --> 01:16:30,000
  8239. 是一樣的,也就是說
  8240.  
  8241. 2061
  8242. 01:16:30,000 --> 01:16:32,000
  8243. 你只要有這樣子的成分
  8244.  
  8245. 2062
  8246. 01:16:32,000 --> 01:16:34,000
  8247. 這兩個人就相當於有一把
  8248.  
  8249. 2063
  8250. 01:16:34,000 --> 01:16:36,000
  8251. 一模一樣的key
  8252.  
  8253. 2064
  8254. 01:16:36,000 --> 01:16:38,000
  8255. 因此就可以開始做對稱式的
  8256.  
  8257. 2065
  8258. 01:16:38,000 --> 01:16:40,000
  8259. 加密的傳輸
  8260.  
  8261. 2066
  8262. 01:16:40,000 --> 01:16:42,000
  8263. 所以這邊再舉個例子
  8264.  
  8265. 2067
  8266. 01:16:42,000 --> 01:16:44,000
  8267. 就是說,這邊開始會有一些
  8268.  
  8269. 2068
  8270. 01:16:44,000 --> 01:16:46,000
  8271. 數學細節我們不會去提
  8272.  
  8273. 2069
  8274. 01:16:46,000 --> 01:16:48,000
  8275. 但是最重要的是希望大家
  8276.  
  8277. 2070
  8278. 01:16:48,000 --> 01:16:50,000
  8279. 可以藉由類似圖像記憶的方式
  8280.  
  8281. 2071
  8282. 01:16:50,000 --> 01:16:52,000
  8283. 只要知道結構就好
  8284.  
  8285. 2072
  8286. 01:16:52,000 --> 01:16:54,000
  8287. 結構會是說各自
  8288.  
  8289. 2073
  8290. 01:16:54,000 --> 01:16:56,000
  8291. A跟B雙方會有一些
  8292.  
  8293. 2074
  8294. 01:16:56,000 --> 01:16:58,000
  8295. 需要的,演算法需要的
  8296.  
  8297. 2075
  8298. 01:16:58,000 --> 01:17:00,000
  8299. 公開的參數
  8300.  
  8301. 2076
  8302. 01:17:00,000 --> 01:17:02,000
  8303. A跟B,先會有
  8304.  
  8305. 2077
  8306. 01:17:02,000 --> 01:17:04,000
  8307. 產生他們的私要
  8308.  
  8309. 2078
  8310. 01:17:04,000 --> 01:17:06,000
  8311. 在這裡SA跟SV
  8312.  
  8313. 2079
  8314. 01:17:06,000 --> 01:17:08,000
  8315. 就相當於圖裡面的SA跟SV
  8316.  
  8317. 2080
  8318. 01:17:08,000 --> 01:17:10,000
  8319. 藉由這個私要去產生公要
  8320.  
  8321. 2081
  8322. 01:17:10,000 --> 01:17:12,000
  8323. 這邊用的是一個指數
  8324.  
  8325. 2082
  8326. 01:17:12,000 --> 01:17:14,000
  8327. 然後再取mod的這個做法
  8328.  
  8329. 2083
  8330. 01:17:14,000 --> 01:17:16,000
  8331. 所以A跟B兩方都是
  8332.  
  8333. 2084
  8334. 01:17:16,000 --> 01:17:18,000
  8335. 由SA產生PA,由SV產生PB
  8336.  
  8337. 2085
  8338. 01:17:18,000 --> 01:17:20,000
  8339. 做好之後
  8340.  
  8341. 2086
  8342. 01:17:20,000 --> 01:17:22,000
  8343. 把公要交換
  8344.  
  8345. 2087
  8346. 01:17:22,000 --> 01:17:24,000
  8347. 我們剛剛提過了,因為私要
  8348.  
  8349. 2088
  8350. 01:17:24,000 --> 01:17:26,000
  8351. 絕對不會交出去,所以你能交換的
  8352.  
  8353. 2089
  8354. 01:17:26,000 --> 01:17:28,000
  8355. 只有公要,把公要交換了之後
  8356.  
  8357. 2090
  8358. 01:17:28,000 --> 01:17:30,000
  8359. 得到A得到B的公要
  8360.  
  8361. 2091
  8362. 01:17:30,000 --> 01:17:32,000
  8363. B得到A的公要
  8364.  
  8365. 2092
  8366. 01:17:32,000 --> 01:17:34,000
  8367. 再來就是下一步我們講
  8368.  
  8369. 2093
  8370. 01:17:34,000 --> 01:17:36,000
  8371. 因為神奇的數學的原因
  8372.  
  8373. 2094
  8374. 01:17:36,000 --> 01:17:38,000
  8375. 造成他們做同樣的運算
  8376.  
  8377. 2095
  8378. 01:17:38,000 --> 01:17:40,000
  8379. 所得到的這一把
  8380.  
  8381. 2096
  8382. 01:17:40,000 --> 01:17:42,000
  8383. 這一把金鑰是相同的
  8384.  
  8385. 2097
  8386. 01:17:42,000 --> 01:17:44,000
  8387. 一模一樣的
  8388.  
  8389. 2098
  8390. 01:17:44,000 --> 01:17:46,000
  8391. 這個數學大部分都是
  8392.  
  8393. 2099
  8394. 01:17:46,000 --> 01:17:48,000
  8395. 都是離散數學的
  8396.  
  8397. 2100
  8398. 01:17:48,000 --> 01:17:50,000
  8399. 大部分都是離散數學
  8400.  
  8401. 2101
  8402. 01:17:50,000 --> 01:17:52,000
  8403. 像這一種就是
  8404.  
  8405. 2102
  8406. 01:17:52,000 --> 01:17:54,000
  8407. 前面也講過說
  8408.  
  8409. 2103
  8410. 01:17:54,000 --> 01:17:56,000
  8411. 大部分的非對稱式的演算法
  8412.  
  8413. 2104
  8414. 01:17:56,000 --> 01:17:58,000
  8415. 都是有這樣子的backbone在
  8416.  
  8417. 2105
  8418. 01:17:58,000 --> 01:18:00,000
  8419. 就是基本都能做金鑰交換的協定
  8420.  
  8421. 2106
  8422. 01:18:00,000 --> 01:18:04,000
  8423. 並且我們也提過
  8424.  
  8425. 2107
  8426. 01:18:04,000 --> 01:18:06,000
  8427. 它的重點是在於說
  8428.  
  8429. 2108
  8430. 01:18:06,000 --> 01:18:08,000
  8431. 你有公要的時候
  8432.  
  8433. 2109
  8434. 01:18:08,000 --> 01:18:10,000
  8435. 基本是沒有辦法推回私要的
  8436.  
  8437. 2110
  8438. 01:18:10,000 --> 01:18:14,000
  8439. 之所以為什麼沒有辦法推回私要的原因
  8440.  
  8441. 2111
  8442. 01:18:14,000 --> 01:18:16,000
  8443. 是在於說
  8444.  
  8445. 2112
  8446. 01:18:16,000 --> 01:18:18,000
  8447. 它一定是用到了
  8448.  
  8449. 2113
  8450. 01:18:18,000 --> 01:18:20,000
  8451. 某個數學難題
  8452.  
  8453. 2114
  8454. 01:18:20,000 --> 01:18:22,000
  8455. 所以以離散對數而言
  8456.  
  8457. 2115
  8458. 01:18:22,000 --> 01:18:24,000
  8459. 以Diffie-Hellman而言
  8460.  
  8461. 2116
  8462. 01:18:24,000 --> 01:18:26,000
  8463. 它所用到的難題
  8464.  
  8465. 2117
  8466. 01:18:26,000 --> 01:18:28,000
  8467. 叫做
  8468.  
  8469. 2118
  8470. 01:18:28,000 --> 01:18:30,000
  8471. 對,叫做離散對數
  8472.  
  8473. 2119
  8474. 01:18:30,000 --> 01:18:32,000
  8475. 它的具體來講是怎麼樣的
  8476.  
  8477. 2120
  8478. 01:18:32,000 --> 01:18:34,000
  8479. 就是說我們這邊看很簡單的數字裡
  8480.  
  8481. 2121
  8482. 01:18:34,000 --> 01:18:36,000
  8483. 我們用很小的數字,我們用一個直數
  8484.  
  8485. 2122
  8486. 01:18:36,000 --> 01:18:38,000
  8487. 有一個直數353
  8488.  
  8489. 2123
  8490. 01:18:38,000 --> 01:18:40,000
  8491. 然後有一個直數的原根
  8492.  
  8493. 2124
  8494. 01:18:40,000 --> 01:18:42,000
  8495. 這個是
  8496.  
  8497. 2125
  8498. 01:18:42,000 --> 01:18:44,000
  8499. 離散數學裡面會有
  8500.  
  8501. 2126
  8502. 01:18:44,000 --> 01:18:46,000
  8503. 簡單的來講就是
  8504.  
  8505. 2127
  8506. 01:18:46,000 --> 01:18:48,000
  8507. 我們如果把
  8508.  
  8509. 2128
  8510. 01:18:48,000 --> 01:18:50,000
  8511. 我們現在有一個原根3
  8512.  
  8513. 2129
  8514. 01:18:50,000 --> 01:18:52,000
  8515. 我們把3的一次方
  8516.  
  8517. 2130
  8518. 01:18:52,000 --> 01:18:54,000
  8519. 兩次方三次方一路到
  8520.  
  8521. 2131
  8522. 01:18:54,000 --> 01:18:56,000
  8523. 353次方
  8524.  
  8525. 2132
  8526. 01:18:56,000 --> 01:18:58,000
  8527. 3的一次方到3的
  8528.  
  8529. 2133
  8530. 01:18:58,000 --> 01:19:00,000
  8531. 353次方
  8532.  
  8533. 2134
  8534. 01:19:00,000 --> 01:19:02,000
  8535. 然後都去Mode
  8536.  
  8537. 2135
  8538. 01:19:02,000 --> 01:19:04,000
  8539. 353
  8540.  
  8541. 2136
  8542. 01:19:04,000 --> 01:19:06,000
  8543. 它會以某種排列
  8544.  
  8545. 2137
  8546. 01:19:06,000 --> 01:19:08,000
  8547. 完成1到
  8548.  
  8549. 2138
  8550. 01:19:08,000 --> 01:19:10,000
  8551. 353這個數字
  8552.  
  8553. 2139
  8554. 01:19:10,000 --> 01:19:12,000
  8555. 並且只會各出現一次
  8556.  
  8557. 2140
  8558. 01:19:12,000 --> 01:19:16,000
  8559. 用比較簡單的例子
  8560.  
  8561. 2141
  8562. 01:19:16,000 --> 01:19:18,000
  8563. 假設有一個直數11
  8564.  
  8565. 2142
  8566. 01:19:18,000 --> 01:19:20,000
  8567. 它有一個原根2
  8568.  
  8569. 2143
  8570. 01:19:20,000 --> 01:19:22,000
  8571. 2的一次方Mode11
  8572.  
  8573. 2144
  8574. 01:19:22,000 --> 01:19:24,000
  8575. 2,然後2的二次方Mode11
  8576.  
  8577. 2145
  8578. 01:19:24,000 --> 01:19:26,000
  8579. 4,那一路這樣往上
  8580.  
  8581. 2146
  8582. 01:19:26,000 --> 01:19:28,000
  8583. 疊加到2的11次方
  8584.  
  8585. 2147
  8586. 01:19:28,000 --> 01:19:30,000
  8587. 2的11次方Mode11
  8588.  
  8589. 2148
  8590. 01:19:30,000 --> 01:19:32,000
  8591. 你得到的那個數字
  8592.  
  8593. 2149
  8594. 01:19:32,000 --> 01:19:34,000
  8595. 它會以某種排列完成1到11
  8596.  
  8597. 2150
  8598. 01:19:34,000 --> 01:19:38,000
  8599. 這就是原根
  8600.  
  8601. 2151
  8602. 01:19:38,000 --> 01:19:40,000
  8603. 所以它的整個難題是建立在說
  8604.  
  8605. 2152
  8606. 01:19:40,000 --> 01:19:42,000
  8607. 接下來我們看
  8608.  
  8609. 2153
  8610. 01:19:42,000 --> 01:19:44,000
  8611. A選的施藥97
  8612.  
  8613. 2154
  8614. 01:19:44,000 --> 01:19:46,000
  8615. B選的施藥233
  8616.  
  8617. 2155
  8618. 01:19:46,000 --> 01:19:48,000
  8619. 這都是在
  8620.  
  8621. 2156
  8622. 01:19:48,000 --> 01:19:50,000
  8623. 合法的範圍裡面,因為要小於Q
  8624.  
  8625. 2157
  8626. 01:19:50,000 --> 01:19:52,000
  8627. 小於353
  8628.  
  8629. 2158
  8630. 01:19:52,000 --> 01:19:54,000
  8631. 再來就是做公藥的過程
  8632.  
  8633. 2159
  8634. 01:19:54,000 --> 01:19:56,000
  8635. 他們分別去取次方
  8636.  
  8637. 2160
  8638. 01:19:56,000 --> 01:19:58,000
  8639. 去像我們剛剛提的
  8640.  
  8641. 2161
  8642. 01:19:58,000 --> 01:20:00,000
  8643. 取97次方之後Mode353
  8644.  
  8645. 2162
  8646. 01:20:00,000 --> 01:20:02,000
  8647. 得到40
  8648.  
  8649. 2163
  8650. 01:20:02,000 --> 01:20:04,000
  8651. 那B也去做他的公藥
  8652.  
  8653. 2164
  8654. 01:20:04,000 --> 01:20:06,000
  8655. 他把3計算
  8656.  
  8657. 2165
  8658. 01:20:06,000 --> 01:20:08,000
  8659. 233次方之後去Mode353
  8660.  
  8661. 2166
  8662. 01:20:08,000 --> 01:20:10,000
  8663. 得到248
  8664.  
  8665. 2167
  8666. 01:20:10,000 --> 01:20:12,000
  8667. 然後最後一步呢
  8668.  
  8669. 2168
  8670. 01:20:12,000 --> 01:20:14,000
  8671. 很神奇的因為數學的原因
  8672.  
  8673. 2169
  8674. 01:20:14,000 --> 01:20:16,000
  8675. 你把公藥呢
  8676.  
  8677. 2170
  8678. 01:20:16,000 --> 01:20:18,000
  8679. 再乘上施藥的次方再去做Mode
  8680.  
  8681. 2171
  8682. 01:20:18,000 --> 01:20:20,000
  8683. 這兩個會是完全一樣的
  8684.  
  8685. 2172
  8686. 01:20:20,000 --> 01:20:22,000
  8687. 得到的會是160
  8688.  
  8689. 2173
  8690. 01:20:22,000 --> 01:20:24,000
  8691. 這個事情的困難的
  8692.  
  8693. 2174
  8694. 01:20:24,000 --> 01:20:26,000
  8695. 點是在於說我們要從施藥
  8696.  
  8697. 2175
  8698. 01:20:26,000 --> 01:20:28,000
  8699. 去計算公藥相對很容易
  8700.  
  8701. 2176
  8702. 01:20:28,000 --> 01:20:30,000
  8703. 我們
  8704.  
  8705. 2177
  8706. 01:20:30,000 --> 01:20:32,000
  8707. 這就是單純的把算數算完
  8708.  
  8709. 2178
  8710. 01:20:32,000 --> 01:20:34,000
  8711. 然後去做Mode而已,這個容易
  8712.  
  8713. 2179
  8714. 01:20:34,000 --> 01:20:36,000
  8715. 但是難是難在說我今天
  8716.  
  8717. 2180
  8718. 01:20:36,000 --> 01:20:38,000
  8719. 告訴你40
  8720.  
  8721. 2181
  8722. 01:20:38,000 --> 01:20:40,000
  8723. 你要怎麼樣能夠知道是3的97次方
  8724.  
  8725. 2182
  8726. 01:20:40,000 --> 01:20:42,000
  8727. Mode353的,這個非常
  8728.  
  8729. 2183
  8730. 01:20:42,000 --> 01:20:44,000
  8731. 非常的困難
  8732.  
  8733. 2184
  8734. 01:20:44,000 --> 01:20:46,000
  8735. 所以這是離散對數的難題,是類似這樣的意思
  8736.  
  8737. 2185
  8738. 01:20:46,000 --> 01:20:48,000
  8739. 大概有個感覺
  8740.  
  8741. 2186
  8742. 01:20:48,000 --> 01:20:50,000
  8743. 就可以了
  8744.  
  8745. 2187
  8746. 01:20:50,000 --> 01:20:52,000
  8747. 另外來講的話這邊是
  8748.  
  8749. 2188
  8750. 01:20:52,000 --> 01:20:54,000
  8751. 橢圓曲線的版本,我們前面講過
  8752.  
  8753. 2189
  8754. 01:20:54,000 --> 01:20:56,000
  8755. 橢圓曲線它也能夠做加解密
  8756.  
  8757. 2190
  8758. 01:20:56,000 --> 01:20:58,000
  8759. 也能夠做簽章
  8760.  
  8761. 2191
  8762. 01:20:58,000 --> 01:21:00,000
  8763. 也能夠做精藥交換,這邊就是
  8764.  
  8765. 2192
  8766. 01:21:00,000 --> 01:21:02,000
  8767. Elliptive Curve版的Devihelm
  8768.  
  8769. 2193
  8770. 01:21:02,000 --> 01:21:04,000
  8771. 那它的
  8772.  
  8773. 2194
  8774. 01:21:04,000 --> 01:21:06,000
  8775. 細節也不用管,它的結構一樣
  8776.  
  8777. 2195
  8778. 01:21:06,000 --> 01:21:08,000
  8779. 我會有公開的參數,A跟B
  8780.  
  8781. 2196
  8782. 01:21:08,000 --> 01:21:10,000
  8783. 先有它們各自的施藥
  8784.  
  8785. 2197
  8786. 01:21:10,000 --> 01:21:12,000
  8787. 從施藥生出
  8788.  
  8789. 2198
  8790. 01:21:12,000 --> 01:21:14,000
  8791. 公藥,然後把公藥做交換
  8792.  
  8793. 2199
  8794. 01:21:14,000 --> 01:21:16,000
  8795. 最後神奇的數學得到它們
  8796.  
  8797. 2200
  8798. 01:21:16,000 --> 01:21:18,000
  8799. 有一把共同的精藥
  8800.  
  8801. 2201
  8802. 01:21:18,000 --> 01:21:20,000
  8803. 一樣的
  8804.  
  8805. 2202
  8806. 01:21:20,000 --> 01:21:22,000
  8807. 所以
  8808.  
  8809. 2203
  8810. 01:21:22,000 --> 01:21:24,000
  8811. 有想要知道細節的話
  8812.  
  8813. 2204
  8814. 01:21:24,000 --> 01:21:26,000
  8815. 或是
  8816.  
  8817. 2205
  8818. 01:21:26,000 --> 01:21:28,000
  8819. 有很多資料可以查詢,或是要討論也都可以
  8820.  
  8821. 2206
  8822. 01:21:28,000 --> 01:21:30,000
  8823. 在關於
  8824.  
  8825. 2207
  8826. 01:21:30,000 --> 01:21:32,000
  8827. 關於這個SharedSecret
  8828.  
  8829. 2208
  8830. 01:21:32,000 --> 01:21:34,000
  8831. 這個部分,我們先暫時就談到這
  8832.  
  8833. 2209
  8834. 01:21:34,000 --> 01:21:36,000
  8835. 接下來的話,要進到的是
  8836.  
  8837. 2210
  8838. 01:21:36,000 --> 01:21:38,000
  8839. Case Study,就是基本上是
  8840.  
  8841. 2211
  8842. 01:21:38,000 --> 01:21:40,000
  8843. 幫大家能夠複習一下我們今天所提的所有東西
  8844.  
  8845. 2212
  8846. 01:21:40,000 --> 01:21:42,000
  8847. 我們這邊用一個
  8848.  
  8849. 2213
  8850. 01:21:42,000 --> 01:21:44,000
  8851. 簡單的
  8852.  
  8853. 2214
  8854. 01:21:44,000 --> 01:21:46,000
  8855. 生活中的範例,我們假設呢
  8856.  
  8857. 2215
  8858. 01:21:46,000 --> 01:21:48,000
  8859. 今天
  8860.  
  8861. 2216
  8862. 01:21:48,000 --> 01:21:50,000
  8863. 我們手機的iOS要更新
  8864.  
  8865. 2217
  8866. 01:21:50,000 --> 01:21:52,000
  8867. 所以我們手機的iOS
  8868.  
  8869. 2218
  8870. 01:21:52,000 --> 01:21:54,000
  8871. 要更新的時候,是從我們當然是
  8872.  
  8873. 2219
  8874. 01:21:54,000 --> 01:21:56,000
  8875. 由Apple送這個File來
  8876.  
  8877. 2220
  8878. 01:21:56,000 --> 01:21:58,000
  8879. 所以這邊呢,我們要
  8880.  
  8881. 2221
  8882. 01:21:58,000 --> 01:22:00,000
  8883. 先做幾點假設
  8884.  
  8885. 2222
  8886. 01:22:00,000 --> 01:22:02,000
  8887. 第一個,我們認定
  8888.  
  8889. 2223
  8890. 01:22:02,000 --> 01:22:04,000
  8891. Apple不希望iOS
  8892.  
  8893. 2224
  8894. 01:22:04,000 --> 01:22:06,000
  8895. File輕易的外洩
  8896.  
  8897. 2225
  8898. 01:22:06,000 --> 01:22:08,000
  8899. 它指的是保密性
  8900.  
  8901. 2226
  8902. 01:22:08,000 --> 01:22:10,000
  8903. 我們這邊隱含的就是說
  8904.  
  8905. 2227
  8906. 01:22:10,000 --> 01:22:12,000
  8907. 我們假定它是有加密過的File
  8908.  
  8909. 2228
  8910. 01:22:12,000 --> 01:22:14,000
  8911. 加密過的iOSFile傳過來
  8912.  
  8913. 2229
  8914. 01:22:14,000 --> 01:22:16,000
  8915. 那當然
  8916.  
  8917. 2230
  8918. 01:22:16,000 --> 01:22:18,000
  8919. iOSFile我們知道它的檔案非常
  8920.  
  8921. 2231
  8922. 01:22:18,000 --> 01:22:20,000
  8923. 龐大,所以就像我們一直在講的
  8924.  
  8925. 2232
  8926. 01:22:20,000 --> 01:22:22,000
  8927. 只要是這種加密的傳輸
  8928.  
  8929. 2233
  8930. 01:22:22,000 --> 01:22:24,000
  8931. 我們推薦使用的是對稱式的
  8932.  
  8933. 2234
  8934. 01:22:24,000 --> 01:22:26,000
  8935. 的這個加密的演算法
  8936.  
  8937. 2235
  8938. 01:22:26,000 --> 01:22:28,000
  8939. 比較不會吃力
  8940.  
  8941. 2236
  8942. 01:22:28,000 --> 01:22:30,000
  8943. 所以為了你要能夠用
  8944.  
  8945. 2237
  8946. 01:22:30,000 --> 01:22:32,000
  8947. 對稱式的加密演算法
  8948.  
  8949. 2238
  8950. 01:22:32,000 --> 01:22:34,000
  8951. 你就會需要有
  8952.  
  8953. 2239
  8954. 01:22:34,000 --> 01:22:36,000
  8955. 那把對稱的key
  8956.  
  8957. 2240
  8958. 01:22:36,000 --> 01:22:38,000
  8959. 所以沒有一開始
  8960.  
  8961. 2241
  8962. 01:22:38,000 --> 01:22:40,000
  8963. 我們跟Apple可能沒有對稱的那把key的時候
  8964.  
  8965. 2242
  8966. 01:22:40,000 --> 01:22:42,000
  8967. 我們會做什麼,我們就可能
  8968.  
  8969. 2243
  8970. 01:22:42,000 --> 01:22:44,000
  8971. 可以用剛剛所提到的SharedSecret
  8972.  
  8973. 2244
  8974. 01:22:44,000 --> 01:22:46,000
  8975. 去做一把SharedKey出來
  8976.  
  8977. 2245
  8978. 01:22:46,000 --> 01:22:48,000
  8979. 所以剛剛怎麼樣提到
  8980.  
  8981. 2246
  8982. 01:22:48,000 --> 01:22:50,000
  8983. 做SharedKey呢,我們都是
  8984.  
  8985. 2247
  8986. 01:22:50,000 --> 01:22:52,000
  8987. 交換PublicKey
  8988.  
  8989. 2248
  8990. 01:22:52,000 --> 01:22:54,000
  8991. 我們這樣一路道著回去
  8992.  
  8993. 2249
  8994. 01:22:54,000 --> 01:22:56,000
  8995. 我們要做SharedKey,我們必須要交換PublicKey
  8996.  
  8997. 2250
  8998. 01:22:56,000 --> 01:22:58,000
  8999. 就是表示我們各自有我們各自的公要
  9000.  
  9001. 2251
  9002. 01:22:58,000 --> 01:23:00,000
  9003. 跟私要,並且我們拿公要
  9004.  
  9005. 2252
  9006. 01:23:00,000 --> 01:23:02,000
  9007. 出去跟別人交換
  9008.  
  9009. 2253
  9010. 01:23:02,000 --> 01:23:04,000
  9011. 然後再經過神奇的數學運算得到
  9012.  
  9013. 2254
  9014. 01:23:04,000 --> 01:23:06,000
  9015. 同樣一把共同的金鑰
  9016.  
  9017. 2255
  9018. 01:23:06,000 --> 01:23:08,000
  9019. 問題又來了,這一把公要
  9020.  
  9021. 2256
  9022. 01:23:08,000 --> 01:23:10,000
  9023. 怎麼樣知道能夠信
  9024.  
  9025. 2257
  9026. 01:23:10,000 --> 01:23:12,000
  9027. 所以我們需要有
  9028.  
  9029. 2258
  9030. 01:23:12,000 --> 01:23:14,000
  9031. 那一把公要跟
  9032.  
  9033. 2259
  9034. 01:23:14,000 --> 01:23:16,000
  9035. 公要持有人的身份
  9036.  
  9037. 2260
  9038. 01:23:16,000 --> 01:23:18,000
  9039. 我們需要把這件事情綁定在一起
  9040.  
  9041. 2261
  9042. 01:23:18,000 --> 01:23:20,000
  9043. 那就是我們照我們剛剛講的,用憑證
  9044.  
  9045. 2262
  9046. 01:23:20,000 --> 01:23:22,000
  9047. 有憑證的機構可以來幫我們做這件事情
  9048.  
  9049. 2263
  9050. 01:23:22,000 --> 01:23:26,000
  9051. 所以這裡面至少會
  9052.  
  9053. 2264
  9054. 01:23:26,000 --> 01:23:28,000
  9055. 需要什麼呢,至少會需要說
  9056.  
  9057. 2265
  9058. 01:23:28,000 --> 01:23:30,000
  9059. Apple有一個
  9060.  
  9061. 2266
  9062. 01:23:30,000 --> 01:23:32,000
  9063. 由Ca,由憑證機構
  9064.  
  9065. 2267
  9066. 01:23:32,000 --> 01:23:34,000
  9067. 所簽發的這一個憑證
  9068.  
  9069. 2268
  9070. 01:23:34,000 --> 01:23:36,000
  9071. 那我們要更新的
  9072.  
  9073. 2269
  9074. 01:23:36,000 --> 01:23:38,000
  9075. User呢,我們可以
  9076.  
  9077. 2270
  9078. 01:23:38,000 --> 01:23:40,000
  9079. 用這個
  9080.  
  9081. 2271
  9082. 01:23:40,000 --> 01:23:42,000
  9083. 用Ca的公要去Verify
  9084.  
  9085. 2272
  9086. 01:23:42,000 --> 01:23:44,000
  9087. 確認這一個憑證
  9088.  
  9089. 2273
  9090. 01:23:44,000 --> 01:23:46,000
  9091. 以得到正確的Apple的
  9092.  
  9093. 2274
  9094. 01:23:46,000 --> 01:23:48,000
  9095. PublicKey
  9096.  
  9097. 2275
  9098. 01:23:48,000 --> 01:23:50,000
  9099. 得到Apple的PublicKey,我們的PublicKey之後
  9100.  
  9101. 2276
  9102. 01:23:50,000 --> 01:23:52,000
  9103. 就可以做金鑰交換
  9104.  
  9105. 2277
  9106. 01:23:52,000 --> 01:23:54,000
  9107. 就可以得到
  9108.  
  9109. 2278
  9110. 01:23:54,000 --> 01:23:56,000
  9111. 共同的一把金鑰,再來用這把共同的金鑰
  9112.  
  9113. 2279
  9114. 01:23:56,000 --> 01:23:58,000
  9115. 做加密,所以這樣一路
  9116.  
  9117. 2280
  9118. 01:23:58,000 --> 01:24:00,000
  9119. 道著回去是這樣
  9120.  
  9121. 2281
  9122. 01:24:00,000 --> 01:24:02,000
  9123. 那再來
  9124.  
  9125. 2282
  9126. 01:24:02,000 --> 01:24:04,000
  9127. 收到了之後會需要什麼
  9128.  
  9129. 2283
  9130. 01:24:04,000 --> 01:24:06,000
  9131. 收到了之後呢,我們
  9132.  
  9133. 2284
  9134. 01:24:06,000 --> 01:24:08,000
  9135. 會想要知道幾件事情,我們想要知道說
  9136.  
  9137. 2285
  9138. 01:24:08,000 --> 01:24:10,000
  9139. 這個File是Apple
  9140.  
  9141. 2286
  9142. 01:24:10,000 --> 01:24:12,000
  9143. 送過來的,而且是
  9144.  
  9145. 2287
  9146. 01:24:12,000 --> 01:24:14,000
  9147. 不是由別人所送過來的
  9148.  
  9149. 2288
  9150. 01:24:14,000 --> 01:24:16,000
  9151. 並且呢
  9152.  
  9153. 2289
  9154. 01:24:16,000 --> 01:24:18,000
  9155. 並且這個
  9156.  
  9157. 2290
  9158. 01:24:18,000 --> 01:24:20,000
  9159. 我們收到的File的內容沒有經過篡改
  9160.  
  9161. 2291
  9162. 01:24:20,000 --> 01:24:22,000
  9163. 跟Apple原本想傳的那個東西是一樣的
  9164.  
  9165. 2292
  9166. 01:24:22,000 --> 01:24:24,000
  9167. 所以有這兩個條件
  9168.  
  9169. 2293
  9170. 01:24:24,000 --> 01:24:26,000
  9171. 我們會要用到的是數位簽章
  9172.  
  9173. 2294
  9174. 01:24:26,000 --> 01:24:28,000
  9175. 數位簽章能夠
  9176.  
  9177. 2295
  9178. 01:24:28,000 --> 01:24:30,000
  9179. 幫我們確認,只有擁有那個
  9180.  
  9181. 2296
  9182. 01:24:30,000 --> 01:24:32,000
  9183. 私藥的人能夠簽,大家都
  9184.  
  9185. 2297
  9186. 01:24:32,000 --> 01:24:34,000
  9187. 可以確認,並且
  9188.  
  9189. 2298
  9190. 01:24:34,000 --> 01:24:36,000
  9191. 因為你簽的東西也包含了
  9192.  
  9193. 2299
  9194. 01:24:36,000 --> 01:24:38,000
  9195. 這個內容的摘要
  9196.  
  9197. 2300
  9198. 01:24:38,000 --> 01:24:40,000
  9199. 所以內容經過篡改
  9200.  
  9201. 2301
  9202. 01:24:40,000 --> 01:24:42,000
  9203. 的時候,簽名就不會
  9204.  
  9205. 2302
  9206. 01:24:42,000 --> 01:24:44,000
  9207. 簽名就會變得不一樣
  9208.  
  9209. 2303
  9210. 01:24:44,000 --> 01:24:48,000
  9211. 好,那
  9212.  
  9213. 2304
  9214. 01:24:48,000 --> 01:24:50,000
  9215. 再來的話,再來的話我們就
  9216.  
  9217. 2305
  9218. 01:24:50,000 --> 01:24:52,000
  9219. 畫幾個簡單的圖,所以
  9220.  
  9221. 2306
  9222. 01:24:52,000 --> 01:24:54,000
  9223. 所以剛剛講了這麼多呢
  9224.  
  9225. 2307
  9226. 01:24:54,000 --> 01:24:56,000
  9227. 我們把整件事情整個要
  9228.  
  9229. 2308
  9230. 01:24:56,000 --> 01:24:58,000
  9231. 完成IOS的更新,我們把它分成三個步驟
  9232.  
  9233. 2309
  9234. 01:24:58,000 --> 01:25:00,000
  9235. 我們前面提過我們需要
  9236.  
  9237. 2310
  9238. 01:25:00,000 --> 01:25:02,000
  9239. 得到正確的Apple的Public Key
  9240.  
  9241. 2311
  9242. 01:25:02,000 --> 01:25:04,000
  9243. 這個怎麼做
  9244.  
  9245. 2312
  9246. 01:25:04,000 --> 01:25:06,000
  9247. 我們會用到憑證
  9248.  
  9249. 2313
  9250. 01:25:06,000 --> 01:25:08,000
  9251. 我們要想辦法得到Apple的Public Key
  9252.  
  9253. 2314
  9254. 01:25:08,000 --> 01:25:10,000
  9255. 正確的Public Key之後,我們就可以
  9256.  
  9257. 2315
  9258. 01:25:10,000 --> 01:25:12,000
  9259. 跑這個經藥交換的協定
  9260.  
  9261. 2316
  9262. 01:25:12,000 --> 01:25:14,000
  9263. 得到一把共同的經藥
  9264.  
  9265. 2317
  9266. 01:25:14,000 --> 01:25:16,000
  9267. 再來是
  9268.  
  9269. 2318
  9270. 01:25:16,000 --> 01:25:18,000
  9271. 收到了加密過後
  9272.  
  9273. 2319
  9274. 01:25:18,000 --> 01:25:20,000
  9275. 的這個file之後,我們要確認它的來源
  9276.  
  9277. 2320
  9278. 01:25:20,000 --> 01:25:22,000
  9279. 跟確認它的內容有沒有經過
  9280.  
  9281. 2321
  9282. 01:25:22,000 --> 01:25:24,000
  9283. 篡改,會用數位簽章
  9284.  
  9285. 2322
  9286. 01:25:24,000 --> 01:25:26,000
  9287. 所以
  9288.  
  9289. 2323
  9290. 01:25:26,000 --> 01:25:28,000
  9291. 首先是第一步
  9292.  
  9293. 2324
  9294. 01:25:28,000 --> 01:25:30,000
  9295. 是要取得正確的Public Key
  9296.  
  9297. 2325
  9298. 01:25:30,000 --> 01:25:32,000
  9299. 我們會做什麼事情呢,大概會是這樣
  9300.  
  9301. 2326
  9302. 01:25:32,000 --> 01:25:34,000
  9303. A,把它的Public Key
  9304.  
  9305. 2327
  9306. 01:25:34,000 --> 01:25:36,000
  9307. 它自己拿去找CA
  9308.  
  9309. 2328
  9310. 01:25:36,000 --> 01:25:38,000
  9311. 去做註冊
  9312.  
  9313. 2329
  9314. 01:25:38,000 --> 01:25:40,000
  9315. 註冊通過CA去
  9316.  
  9317. 2330
  9318. 01:25:40,000 --> 01:25:42,000
  9319. 你是Apple,你的Public Key也
  9320.  
  9321. 2331
  9322. 01:25:42,000 --> 01:25:44,000
  9323. 對了,我就頒發證書給你
  9324.  
  9325. 2332
  9326. 01:25:44,000 --> 01:25:46,000
  9327. 這個證書就會有
  9328.  
  9329. 2333
  9330. 01:25:46,000 --> 01:25:48,000
  9331. Apple的ID跟
  9332.  
  9333. 2334
  9334. 01:25:48,000 --> 01:25:50,000
  9335. Apple的Public Key
  9336.  
  9337. 2335
  9338. 01:25:50,000 --> 01:25:52,000
  9339. 並且是由
  9340.  
  9341. 2336
  9342. 01:25:52,000 --> 01:25:54,000
  9343. CA的私藥所
  9344.  
  9345. 2337
  9346. 01:25:54,000 --> 01:25:56,000
  9347. 簽發的
  9348.  
  9349. 2338
  9350. 01:25:56,000 --> 01:25:58,000
  9351. 得到了這個憑證
  9352.  
  9353. 2339
  9354. 01:25:58,000 --> 01:26:00,000
  9355. 之後呢,Apple
  9356.  
  9357. 2340
  9358. 01:26:00,000 --> 01:26:02,000
  9359. 也就可以把這個憑證交給Bubb
  9360.  
  9361. 2341
  9362. 01:26:02,000 --> 01:26:04,000
  9363. 那Bubb可以去確認這個
  9364.  
  9365. 2342
  9366. 01:26:04,000 --> 01:26:06,000
  9367. 憑證,他可以用CA的
  9368.  
  9369. 2343
  9370. 01:26:06,000 --> 01:26:08,000
  9371. 公要,因為我們不會懷疑他的公要
  9372.  
  9373. 2344
  9374. 01:26:08,000 --> 01:26:10,000
  9375. 然後去對這個
  9376.  
  9377. 2345
  9378. 01:26:10,000 --> 01:26:12,000
  9379. 去確認這個憑證得到正確的Apple
  9380.  
  9381. 2346
  9382. 01:26:12,000 --> 01:26:14,000
  9383. ID跟Public Key
  9384.  
  9385. 2347
  9386. 01:26:14,000 --> 01:26:16,000
  9387. 我們就得到正確的Public Key
  9388.  
  9389. 2348
  9390. 01:26:16,000 --> 01:26:20,000
  9391. 那下一步的話,再來就是
  9392.  
  9393. 2349
  9394. 01:26:20,000 --> 01:26:22,000
  9395. 一樣用這個經藥交換協定
  9396.  
  9397. 2350
  9398. 01:26:22,000 --> 01:26:24,000
  9399. 就是很神奇的呢
  9400.  
  9401. 2351
  9402. 01:26:24,000 --> 01:26:26,000
  9403. 我們就有
  9404.  
  9405. 2352
  9406. 01:26:26,000 --> 01:26:28,000
  9407. SAPA,SP,PB之後把PA跟PB交換
  9408.  
  9409. 2353
  9410. 01:26:28,000 --> 01:26:30,000
  9411. 就得到了一把對稱的
  9412.  
  9413. 2354
  9414. 01:26:30,000 --> 01:26:32,000
  9415. 並且是一樣的這個
  9416.  
  9417. 2355
  9418. 01:26:32,000 --> 01:26:34,000
  9419. 完全一模一樣的這一把共同
  9420.  
  9421. 2356
  9422. 01:26:34,000 --> 01:26:36,000
  9423. 經藥機
  9424.  
  9425. 2357
  9426. 01:26:36,000 --> 01:26:38,000
  9427. 前面再補充一點就是說這邊指的是
  9428.  
  9429. 2358
  9430. 01:26:38,000 --> 01:26:40,000
  9431. 這邊指的是取得了正確的
  9432.  
  9433. 2359
  9434. 01:26:40,000 --> 01:26:42,000
  9435. Apple的Public Key,但是
  9436.  
  9437. 2360
  9438. 01:26:42,000 --> 01:26:44,000
  9439. 等於說反過來Bubb也可以做這件事
  9440.  
  9441. 2361
  9442. 01:26:44,000 --> 01:26:46,000
  9443. 也可以去得到他的
  9444.  
  9445. 2362
  9446. 01:26:46,000 --> 01:26:48,000
  9447. 憑證,然後把他的
  9448.  
  9449. 2363
  9450. 01:26:48,000 --> 01:26:50,000
  9451. 公要跟憑證也一併交給Apple
  9452.  
  9453. 2364
  9454. 01:26:50,000 --> 01:26:52,000
  9455. 所以這是
  9456.  
  9457. 2365
  9458. 01:26:52,000 --> 01:26:54,000
  9459. 雙向
  9460.  
  9461. 2366
  9462. 01:26:54,000 --> 01:26:56,000
  9463. 到這邊已經有了一把共同的
  9464.  
  9465. 2367
  9466. 01:26:56,000 --> 01:26:58,000
  9467. 經藥機可以用來做對稱式的
  9468.  
  9469. 2368
  9470. 01:26:58,000 --> 01:27:00,000
  9471. 加密
  9472.  
  9473. 2369
  9474. 01:27:00,000 --> 01:27:02,000
  9475. 加密了過後我們把
  9476.  
  9477. 2370
  9478. 01:27:02,000 --> 01:27:04,000
  9479. IOS File經過加密之後變成這個
  9480.  
  9481. 2371
  9482. 01:27:04,000 --> 01:27:06,000
  9483. 問號的框框,那我們把
  9484.  
  9485. 2372
  9486. 01:27:06,000 --> 01:27:08,000
  9487. 這個Sign過的這一個
  9488.  
  9489. 2373
  9490. 01:27:08,000 --> 01:27:10,000
  9491. 沒有,我們要做
  9492.  
  9493. 2374
  9494. 01:27:10,000 --> 01:27:12,000
  9495. Sign這一段,我們把加密
  9496.  
  9497. 2375
  9498. 01:27:12,000 --> 01:27:14,000
  9499. 過的這個File進Hash得到
  9500.  
  9501. 2376
  9502. 01:27:14,000 --> 01:27:16,000
  9503. 摘要,然後呢我們
  9504.  
  9505. 2377
  9506. 01:27:16,000 --> 01:27:18,000
  9507. 用這個撕藥
  9508.  
  9509. 2378
  9510. 01:27:18,000 --> 01:27:20,000
  9511. 用Apple用他自己的撕藥去
  9512.  
  9513. 2379
  9514. 01:27:20,000 --> 01:27:22,000
  9515. 對這個Hash
  9516.  
  9517. 2380
  9518. 01:27:22,000 --> 01:27:24,000
  9519. 的digest去做簽章
  9520.  
  9521. 2381
  9522. 01:27:24,000 --> 01:27:26,000
  9523. 那把這個簽章
  9524.  
  9525. 2382
  9526. 01:27:26,000 --> 01:27:28,000
  9527. 跟這個File都
  9528.  
  9529. 2383
  9530. 01:27:28,000 --> 01:27:30,000
  9531. 傳到Bubb手上的時候
  9532.  
  9533. 2384
  9534. 01:27:30,000 --> 01:27:32,000
  9535. 那Bubb也可以把這個加密過的
  9536.  
  9537. 2385
  9538. 01:27:32,000 --> 01:27:34,000
  9539. 問號的框框進到Hash
  9540.  
  9541. 2386
  9542. 01:27:34,000 --> 01:27:36,000
  9543. 然後再來用
  9544.  
  9545. 2387
  9546. 01:27:36,000 --> 01:27:38,000
  9547. Apple的公要,因為他有正確的
  9548.  
  9549. 2388
  9550. 01:27:38,000 --> 01:27:40,000
  9551. 公要,然後去Verify
  9552.  
  9553. 2389
  9554. 01:27:40,000 --> 01:27:42,000
  9555. Verify這個Signature
  9556.  
  9557. 2390
  9558. 01:27:42,000 --> 01:27:44,000
  9559. 然後得到比對是不是一樣的
  9560.  
  9561. 2391
  9562. 01:27:44,000 --> 01:27:46,000
  9563. 是的話就表示這個
  9564.  
  9565. 2392
  9566. 01:27:46,000 --> 01:27:48,000
  9567. File確實是正確的沒有被修改
  9568.  
  9569. 2393
  9570. 01:27:48,000 --> 01:27:50,000
  9571. 並且這個簽章是由Apple
  9572.  
  9573. 2394
  9574. 01:27:50,000 --> 01:27:52,000
  9575. 的Private Key所
  9576.  
  9577. 2395
  9578. 01:27:52,000 --> 01:27:54,000
  9579. 簽的
  9580.  
  9581. 2396
  9582. 01:27:54,000 --> 01:27:56,000
  9583. 到
  9584.  
  9585. 2397
  9586. 01:27:56,000 --> 01:27:58,000
  9587. 到這邊這樣的流程
  9588.  
  9589. 2398
  9590. 01:27:58,000 --> 01:28:00,000
  9591. 有問題嗎?這樣基本上我們就
  9592.  
  9593. 2399
  9594. 01:28:00,000 --> 01:28:02,000
  9595. 跑完了剛剛我們前面講到的情境
  9596.  
  9597. 2400
  9598. 01:28:02,000 --> 01:28:04,000
  9599. 跟假設
  9600.  
  9601. 2401
  9602. 01:28:04,000 --> 01:28:06,000
  9603. 好
  9604.  
  9605. 2402
  9606. 01:28:06,000 --> 01:28:08,000
  9607. 好,那
  9608.  
  9609. 2403
  9610. 01:28:08,000 --> 01:28:10,000
  9611. 很快的就在最後再帶一下
  9612.  
  9613. 2404
  9614. 01:28:10,000 --> 01:28:12,000
  9615. 結論,那
  9616.  
  9617. 2405
  9618. 01:28:12,000 --> 01:28:14,000
  9619. 整個要講這一堂課的目的來講
  9620.  
  9621. 2406
  9622. 01:28:14,000 --> 01:28:16,000
  9623. 最主要還是希望大家
  9624.  
  9625. 2407
  9626. 01:28:16,000 --> 01:28:18,000
  9627. 能夠了解,了解說
  9628.  
  9629. 2408
  9630. 01:28:18,000 --> 01:28:20,000
  9631. 到底Security在做什麼
  9632.  
  9633. 2409
  9634. 01:28:20,000 --> 01:28:22,000
  9635. 首先要再來回
  9636.  
  9637. 2410
  9638. 01:28:22,000 --> 01:28:24,000
  9639. 過頭來講的是
  9640.  
  9641. 2411
  9642. 01:28:24,000 --> 01:28:26,000
  9643. 我們剛剛有一張表看到的是
  9644.  
  9645. 2412
  9646. 01:28:26,000 --> 01:28:28,000
  9647. 有我們今天學過的
  9648.  
  9649. 2413
  9650. 01:28:28,000 --> 01:28:30,000
  9651. 今天學過的四個安全
  9652.  
  9653. 2414
  9654. 01:28:30,000 --> 01:28:32,000
  9655. 的目標,再配上
  9656.  
  9657. 2415
  9658. 01:28:32,000 --> 01:28:34,000
  9659. 一個key scheme
  9660.  
  9661. 2416
  9662. 01:28:34,000 --> 01:28:36,000
  9663. 那張圖如果各位還有印象的話
  9664.  
  9665. 2417
  9666. 01:28:36,000 --> 01:28:38,000
  9667. 現在這張表是一個更完整的補充
  9668.  
  9669. 2418
  9670. 01:28:38,000 --> 01:28:40,000
  9671. 就是說,到底總共來講
  9672.  
  9673. 2419
  9674. 01:28:40,000 --> 01:28:42,000
  9675. 有哪一些這個密碼學相關的
  9676.  
  9677. 2420
  9678. 01:28:42,000 --> 01:28:44,000
  9679. 功能,所以前面
  9680.  
  9681. 2421
  9682. 01:28:44,000 --> 01:28:46,000
  9683. 有所謂的BlockCypher跟BlockCypherMode
  9684.  
  9685. 2422
  9686. 01:28:46,000 --> 01:28:48,000
  9687. 這個其實都講的是加密
  9688.  
  9689. 2423
  9690. 01:28:48,000 --> 01:28:50,000
  9691. 虛塊的加密,就是說
  9692.  
  9693. 2424
  9694. 01:28:50,000 --> 01:28:52,000
  9695. 以固定的長度為單位去做加密
  9696.  
  9697. 2425
  9698. 01:28:52,000 --> 01:28:54,000
  9699. 以128倍為單位
  9700.  
  9701. 2426
  9702. 01:28:54,000 --> 01:28:56,000
  9703. 或以256倍為單位去做加密
  9704.  
  9705. 2427
  9706. 01:28:56,000 --> 01:28:58,000
  9707. 跟加密的不同的
  9708.  
  9709. 2428
  9710. 01:28:58,000 --> 01:29:00,000
  9711. 這個工作模式,這個有需要的話
  9712.  
  9713. 2429
  9714. 01:29:00,000 --> 01:29:02,000
  9715. 再補充就好,那並且也有
  9716.  
  9717. 2430
  9718. 01:29:02,000 --> 01:29:04,000
  9719. 做數位簽章
  9720.  
  9721. 2431
  9722. 01:29:04,000 --> 01:29:06,000
  9723. 那再來是跟key有關的
  9724.  
  9725. 2432
  9726. 01:29:06,000 --> 01:29:08,000
  9727. 有像是KDF是說
  9728.  
  9729. 2433
  9730. 01:29:08,000 --> 01:29:10,000
  9731. 用一把,如何用一把key
  9732.  
  9733. 2434
  9734. 01:29:10,000 --> 01:29:12,000
  9735. 衍生出多個key,這個
  9736.  
  9737. 2435
  9738. 01:29:12,000 --> 01:29:14,000
  9739. 很重要,因為我們不希望一把key太常
  9740.  
  9741. 2436
  9742. 01:29:14,000 --> 01:29:16,000
  9743. 被重複利用,它的安全性自然就會
  9744.  
  9745. 2437
  9746. 01:29:16,000 --> 01:29:18,000
  9747. 降低,所以如何用一把key
  9748.  
  9749. 2438
  9750. 01:29:18,000 --> 01:29:20,000
  9751. 健康的去生出很多把
  9752.  
  9753. 2439
  9754. 01:29:20,000 --> 01:29:22,000
  9755. 也可以使用的key
  9756.  
  9757. 2440
  9758. 01:29:22,000 --> 01:29:24,000
  9759. 這是KDF在做的事情,那也會包含
  9760.  
  9761. 2441
  9762. 01:29:24,000 --> 01:29:26,000
  9763. 像key management的一個
  9764.  
  9765. 2442
  9766. 01:29:26,000 --> 01:29:28,000
  9767. 這個演算法來講比較像是組合計
  9768.  
  9769. 2443
  9770. 01:29:28,000 --> 01:29:30,000
  9771. 就是說它包含
  9772.  
  9773. 2444
  9774. 01:29:30,000 --> 01:29:32,000
  9775. 有像生成、交換、儲存、使用等等
  9776.  
  9777. 2445
  9778. 01:29:32,000 --> 01:29:34,000
  9779. 這樣一整套
  9780.  
  9781. 2446
  9782. 01:29:34,000 --> 01:29:36,000
  9783. 那另外也有我們前面
  9784.  
  9785. 2447
  9786. 01:29:36,000 --> 01:29:38,000
  9787. 提過的message authentication
  9788.  
  9789. 2448
  9790. 01:29:38,000 --> 01:29:40,000
  9791. 訊息認證碼這種的
  9792.  
  9793. 2449
  9794. 01:29:40,000 --> 01:29:42,000
  9795. 那或者是
  9796.  
  9797. 2450
  9798. 01:29:42,000 --> 01:29:44,000
  9799. 我們也講過
  9800.  
  9801. 2451
  9802. 01:29:44,000 --> 01:29:46,000
  9803. 非常重要的
  9804.  
  9805. 2452
  9806. 01:29:46,000 --> 01:29:48,000
  9807. 叫做亂數產生
  9808.  
  9809. 2453
  9810. 01:29:48,000 --> 01:29:50,000
  9811. 注意這邊講的這個亂數產生
  9812.  
  9813. 2454
  9814. 01:29:50,000 --> 01:29:52,000
  9815. 指的都是用函數
  9816.  
  9817. 2455
  9818. 01:29:52,000 --> 01:29:54,000
  9819. 產生的那一種,就是叫
  9820.  
  9821. 2456
  9822. 01:29:54,000 --> 01:29:56,000
  9823. pseudo-random,或是在這邊
  9824.  
  9825. 2457
  9826. 01:29:56,000 --> 01:29:58,000
  9827. 以這邊這個DRB去,這叫做deterministic
  9828.  
  9829. 2458
  9830. 01:29:58,000 --> 01:30:00,000
  9831. random bit generator,就是說它是
  9832.  
  9833. 2459
  9834. 01:30:00,000 --> 01:30:02,000
  9835. 基本上來講它就是
  9836.  
  9837. 2460
  9838. 01:30:02,000 --> 01:30:04,000
  9839. 可以重現的,它並不是真水級的
  9840.  
  9841. 2461
  9842. 01:30:04,000 --> 01:30:06,000
  9843. 就像我們寫程式的時候會用的
  9844.  
  9845. 2462
  9846. 01:30:06,000 --> 01:30:08,000
  9847. 那種,比方說我們要call一個random
  9848.  
  9849. 2463
  9850. 01:30:08,000 --> 01:30:10,000
  9851. 的function,然後我們去
  9852.  
  9853. 2464
  9854. 01:30:10,000 --> 01:30:12,000
  9855. 給它一個seed
  9856.  
  9857. 2465
  9858. 01:30:12,000 --> 01:30:14,000
  9859. 這種random的函數都會是
  9860.  
  9861. 2466
  9862. 01:30:14,000 --> 01:30:16,000
  9863. 尾隨機的函數
  9864.  
  9865. 2467
  9866. 01:30:16,000 --> 01:30:18,000
  9867. 那再來的話還有像hashing
  9868.  
  9869. 2468
  9870. 01:30:18,000 --> 01:30:20,000
  9871. secure hashing,那我們就我們前面
  9872.  
  9873. 2469
  9874. 01:30:20,000 --> 01:30:22,000
  9875. 提過的,就是如何確保
  9876.  
  9877. 2470
  9878. 01:30:22,000 --> 01:30:24,000
  9879. 資料完整性,我們會用hash
  9880.  
  9881. 2471
  9882. 01:30:24,000 --> 01:30:26,000
  9883. function,這邊我們主要使用sharp
  9884.  
  9885. 2472
  9886. 01:30:26,000 --> 01:30:28,000
  9887. 那再來也是其他的組合計
  9888.  
  9889. 2473
  9890. 01:30:28,000 --> 01:30:30,000
  9891. 包含說你,因為你的這個
  9892.  
  9893. 2474
  9894. 01:30:30,000 --> 01:30:32,000
  9895. 橢圓曲線的密碼學,它能夠負擔
  9896.  
  9897. 2475
  9898. 01:30:32,000 --> 01:30:34,000
  9899. 很多功能,所以通常在
  9900.  
  9901. 2476
  9902. 01:30:34,000 --> 01:30:36,000
  9903. implement的時候,我們會
  9904.  
  9905. 2477
  9906. 01:30:36,000 --> 01:30:38,000
  9907. 真正會做到的事情是比較像是去
  9908.  
  9909. 2478
  9910. 01:30:38,000 --> 01:30:40,000
  9911. 做一個專門來運算
  9912.  
  9913. 2479
  9914. 01:30:40,000 --> 01:30:42,000
  9915. 橢圓曲線的數學的一個加速器
  9916.  
  9917. 2480
  9918. 01:30:42,000 --> 01:30:44,000
  9919. 那至於說
  9920.  
  9921. 2481
  9922. 01:30:44,000 --> 01:30:46,000
  9923. 你有那個橢圓曲線的算法
  9924.  
  9925. 2482
  9926. 01:30:46,000 --> 01:30:48,000
  9927. 你也可以去算這個
  9928.  
  9929. 2483
  9930. 01:30:48,000 --> 01:30:50,000
  9931. 橢圓曲線的點相乘,點相加
  9932.  
  9933. 2484
  9934. 01:30:50,000 --> 01:30:52,000
  9935. 這種的,那再來要怎麼樣做到
  9936.  
  9937. 2485
  9938. 01:30:52,000 --> 01:30:54,000
  9939. 像是橢圓曲線千張
  9940.  
  9941. 2486
  9942. 01:30:54,000 --> 01:30:56,000
  9943. 或是橢圓曲線的金鑰交換
  9944.  
  9945. 2487
  9946. 01:30:56,000 --> 01:30:58,000
  9947. 那就是在把它組合起來
  9948.  
  9949. 2488
  9950. 01:30:58,000 --> 01:31:00,000
  9951. 所以會有個別的組件
  9952.  
  9953. 2489
  9954. 01:31:00,000 --> 01:31:02,000
  9955. 這樣子,所以這樣子的
  9956.  
  9957. 2490
  9958. 01:31:02,000 --> 01:31:04,000
  9959. 表格大概就是
  9960.  
  9961. 2491
  9962. 01:31:04,000 --> 01:31:06,000
  9963. 實際上在
  9964.  
  9965. 2492
  9966. 01:31:06,000 --> 01:31:08,000
  9967. 演算法認證的時候會要
  9968.  
  9969. 2493
  9970. 01:31:08,000 --> 01:31:10,000
  9971. 去做的事情
  9972.  
  9973. 2494
  9974. 01:31:10,000 --> 01:31:12,000
  9975. 那
  9976.  
  9977. 2495
  9978. 01:31:12,000 --> 01:31:14,000
  9979. 所以
  9980.  
  9981. 2496
  9982. 01:31:14,000 --> 01:31:16,000
  9983. 快要總結了
  9984.  
  9985. 2497
  9986. 01:31:16,000 --> 01:31:18,000
  9987. 所以到底
  9988.  
  9989. 2498
  9990. 01:31:18,000 --> 01:31:20,000
  9991. PUF或者是
  9992.  
  9993. 2499
  9994. 01:31:20,000 --> 01:31:22,000
  9995. 力望跟SAMA到底跟這個有什麼樣的關係
  9996.  
  9997. 2500
  9998. 01:31:22,000 --> 01:31:24,000
  9999. 所以這邊我們回顧一下
  10000.  
  10001. 2501
  10002. 01:31:24,000 --> 01:31:26,000
  10003. 用一張很簡單的圖回顧一下今天
  10004.  
  10005. 2502
  10006. 01:31:26,000 --> 01:31:28,000
  10007. 所提的內容,我們就有提到說
  10008.  
  10009. 2503
  10010. 01:31:28,000 --> 01:31:30,000
  10011. 有不同的這個,不同的安全的目標
  10012.  
  10013. 2504
  10014. 01:31:30,000 --> 01:31:32,000
  10015. 然後跟有各式各樣的
  10016.  
  10017. 2505
  10018. 01:31:32,000 --> 01:31:34,000
  10019. 做法,那可以從
  10020.  
  10021. 2506
  10022. 01:31:34,000 --> 01:31:36,000
  10023. 這張圖上面看到的是說
  10024.  
  10025. 2507
  10026. 01:31:36,000 --> 01:31:38,000
  10027. 大部分我們為了要達到
  10028.  
  10029. 2508
  10030. 01:31:38,000 --> 01:31:40,000
  10031. 安全的目標
  10032.  
  10033. 2509
  10034. 01:31:40,000 --> 01:31:42,000
  10035. 我們都會需要用到
  10036.  
  10037. 2510
  10038. 01:31:42,000 --> 01:31:44,000
  10039. 我們都會需要用到的是有
  10040.  
  10041. 2511
  10042. 01:31:44,000 --> 01:31:46,000
  10043. 這個算法,就是密碼學的運算
  10044.  
  10045. 2512
  10046. 01:31:46,000 --> 01:31:48,000
  10047. 跟金鑰
  10048.  
  10049. 2513
  10050. 01:31:48,000 --> 01:31:50,000
  10051. 那前面我們也
  10052.  
  10053. 2514
  10054. 01:31:50,000 --> 01:31:52,000
  10055. 很多次提到就是說
  10056.  
  10057. 2515
  10058. 01:31:52,000 --> 01:31:54,000
  10059. 整個系統的安全會建立在金鑰上面
  10060.  
  10061. 2516
  10062. 01:31:54,000 --> 01:31:56,000
  10063. 金鑰是我們假設
  10064.  
  10065. 2517
  10066. 01:31:56,000 --> 01:31:58,000
  10067. 絕對不能外洩的
  10068.  
  10069. 2518
  10070. 01:31:58,000 --> 01:32:00,000
  10071. 那再來呢
  10072.  
  10073. 2519
  10074. 01:32:00,000 --> 01:32:02,000
  10075. 再來,所以因為
  10076.  
  10077. 2520
  10078. 01:32:02,000 --> 01:32:04,000
  10079. 這些運算或運作裡面
  10080.  
  10081. 2521
  10082. 01:32:04,000 --> 01:32:06,000
  10083. 安全的運作裡面,大部分都會牽涉到
  10084.  
  10085. 2522
  10086. 01:32:06,000 --> 01:32:08,000
  10087. 演算法或是金鑰
  10088.  
  10089. 2523
  10090. 01:32:08,000 --> 01:32:10,000
  10091. 那並且
  10092.  
  10093. 2524
  10094. 01:32:10,000 --> 01:32:12,000
  10095. 並且安全性是建立在
  10096.  
  10097. 2525
  10098. 01:32:12,000 --> 01:32:14,000
  10099. 金鑰上面,而並非
  10100.  
  10101. 2526
  10102. 01:32:14,000 --> 01:32:16,000
  10103. 演算法,我這邊指的並非
  10104.  
  10105. 2527
  10106. 01:32:16,000 --> 01:32:18,000
  10107. 演算法的意思是說,因為我們要
  10108.  
  10109. 2528
  10110. 01:32:18,000 --> 01:32:20,000
  10111. 互相做溝通的時候,我們用的演算法
  10112.  
  10113. 2529
  10114. 01:32:20,000 --> 01:32:22,000
  10115. 會是統一的規格
  10116.  
  10117. 2530
  10118. 01:32:22,000 --> 01:32:24,000
  10119. 或是會是某一種大家都可以
  10120.  
  10121. 2531
  10122. 01:32:24,000 --> 01:32:26,000
  10123. 接受的標準,才能夠互相溝通
  10124.  
  10125. 2532
  10126. 01:32:26,000 --> 01:32:28,000
  10127. 這應該可以理解
  10128.  
  10129. 2533
  10130. 01:32:28,000 --> 01:32:30,000
  10131. 也因此,我們必須要能夠
  10132.  
  10133. 2534
  10134. 01:32:30,000 --> 01:32:32,000
  10135. 我們必須要假設,攻擊
  10136.  
  10137. 2535
  10138. 01:32:32,000 --> 01:32:34,000
  10139. 你的這些駭客,他也相當熟悉你的
  10140.  
  10141. 2536
  10142. 01:32:34,000 --> 01:32:36,000
  10143. 系統,熟悉你的演算法
  10144.  
  10145. 2537
  10146. 01:32:36,000 --> 01:32:38,000
  10147. 唯一不知道的只有金鑰
  10148.  
  10149. 2538
  10150. 01:32:38,000 --> 01:32:40,000
  10151. 這個大家可以接受嗎?可以
  10152.  
  10153. 2539
  10154. 01:32:40,000 --> 01:32:42,000
  10155. 那
  10156.  
  10157. 2540
  10158. 01:32:42,000 --> 01:32:44,000
  10159. 所以接下來呢,就是說
  10160.  
  10161. 2541
  10162. 01:32:44,000 --> 01:32:46,000
  10163. 既然整個安全性都
  10164.  
  10165. 2542
  10166. 01:32:46,000 --> 01:32:48,000
  10167. 建立在金鑰上面
  10168.  
  10169. 2543
  10170. 01:32:48,000 --> 01:32:50,000
  10171. 保護這把金鑰當然相當重要
  10172.  
  10173. 2544
  10174. 01:32:50,000 --> 01:32:52,000
  10175. 所以我們把剛剛的
  10176.  
  10177. 2545
  10178. 01:32:52,000 --> 01:32:54,000
  10179. 流程再經過簡化
  10180.  
  10181. 2546
  10182. 01:32:54,000 --> 01:32:56,000
  10183. 剛剛的我們大概都只看到
  10184.  
  10185. 2547
  10186. 01:32:56,000 --> 01:32:58,000
  10187. 有Data,然後有Cryptoengine
  10188.  
  10189. 2548
  10190. 01:32:58,000 --> 01:33:00,000
  10191. 像AES或是ECC這種
  10192.  
  10193. 2549
  10194. 01:33:00,000 --> 01:33:02,000
  10195. 這種Block,這種Operation
  10196.  
  10197. 2550
  10198. 01:33:02,000 --> 01:33:04,000
  10199. 然後得到了Cypher,或得到
  10200.  
  10201. 2551
  10202. 01:33:04,000 --> 01:33:06,000
  10203. 密文,或是它的Output,剛剛我們
  10204.  
  10205. 2552
  10206. 01:33:06,000 --> 01:33:08,000
  10207. 大概都只在看這一段
  10208.  
  10209. 2553
  10210. 01:33:08,000 --> 01:33:10,000
  10211. 那現在因為有Key加入了
  10212.  
  10213. 2554
  10214. 01:33:10,000 --> 01:33:12,000
  10215. 那我們前面也會包含有Key的
  10216.  
  10217. 2555
  10218. 01:33:12,000 --> 01:33:14,000
  10219. 產生,跟Key的
  10220.  
  10221. 2556
  10222. 01:33:14,000 --> 01:33:16,000
  10223. 儲存,這個很自然
  10224.  
  10225. 2557
  10226. 01:33:16,000 --> 01:33:18,000
  10227. 我們先產生了一把Key,然後存
  10228.  
  10229. 2558
  10230. 01:33:18,000 --> 01:33:20,000
  10231. 把它妥善的存好
  10232.  
  10233. 2559
  10234. 01:33:20,000 --> 01:33:22,000
  10235. 需要的時候
  10236.  
  10237. 2560
  10238. 01:33:22,000 --> 01:33:24,000
  10239. 需要的時候把它叫來使用
  10240.  
  10241. 2561
  10242. 01:33:24,000 --> 01:33:26,000
  10243. 在Cryptoengine裡面,然後就可以
  10244.  
  10245. 2562
  10246. 01:33:26,000 --> 01:33:28,000
  10247. 把這個Data進到Cryptoengine得到Cypher
  10248.  
  10249. 2563
  10250. 01:33:28,000 --> 01:33:30,000
  10251. 那所以當然
  10252.  
  10253. 2564
  10254. 01:33:30,000 --> 01:33:32,000
  10255. 跟Key最重要的就是
  10256.  
  10257. 2565
  10258. 01:33:32,000 --> 01:33:34,000
  10259. 這三步了
  10260.  
  10261. 2566
  10262. 01:33:34,000 --> 01:33:36,000
  10263. 那我們這三步等於說是
  10264.  
  10265. 2567
  10266. 01:33:36,000 --> 01:33:38,000
  10267. 基本上是錨定整個裝置或是整個
  10268.  
  10269. 2568
  10270. 01:33:38,000 --> 01:33:40,000
  10271. 晶片的安全
  10272.  
  10273. 2569
  10274. 01:33:40,000 --> 01:33:42,000
  10275. 所以我們一般把這樣子的
  10276.  
  10277. 2570
  10278. 01:33:42,000 --> 01:33:44,000
  10279. 負責這樣子的功能的
  10280.  
  10281. 2571
  10282. 01:33:44,000 --> 01:33:46,000
  10283. 的Unit
  10284.  
  10285. 2572
  10286. 01:33:46,000 --> 01:33:48,000
  10287. 叫做Rule of Trust,叫做信任根
  10288.  
  10289. 2573
  10290. 01:33:48,000 --> 01:33:52,000
  10291. 到這邊可以接受的話,那接下來
  10292.  
  10293. 2574
  10294. 01:33:52,000 --> 01:33:54,000
  10295. 剩下的問題就很簡單了
  10296.  
  10297. 2575
  10298. 01:33:54,000 --> 01:33:56,000
  10299. 就像前面看到的
  10300.  
  10301. 2576
  10302. 01:33:56,000 --> 01:33:58,000
  10303. 第一、二、三
  10304.  
  10305. 2577
  10306. 01:33:58,000 --> 01:34:00,000
  10307. 我們現在就是問這三個問題說
  10308.  
  10309. 2578
  10310. 01:34:00,000 --> 01:34:02,000
  10311. 怎麼樣能夠產生Secret Key
  10312.  
  10313. 2579
  10314. 01:34:02,000 --> 01:34:04,000
  10315. 第二個是怎麼樣能夠儲存Secret Key
  10316.  
  10317. 2580
  10318. 01:34:04,000 --> 01:34:06,000
  10319. 第三個是怎麼樣
  10320.  
  10321. 2581
  10322. 01:34:06,000 --> 01:34:08,000
  10323. 安全的使用這些Key
  10324.  
  10325. 2582
  10326. 01:34:08,000 --> 01:34:10,000
  10327. 用來做密碼學的運算
  10328.  
  10329. 2583
  10330. 01:34:10,000 --> 01:34:12,000
  10331. 那這三個問題分別
  10332.  
  10333. 2584
  10334. 01:34:12,000 --> 01:34:14,000
  10335. 都有它的簡答,就是說怎麼樣
  10336.  
  10337. 2585
  10338. 01:34:14,000 --> 01:34:16,000
  10339. 產生Key,我們用製程
  10340.  
  10341. 2586
  10342. 01:34:16,000 --> 01:34:18,000
  10343. 變異,我們常常講的晶片
  10344.  
  10345. 2587
  10346. 01:34:18,000 --> 01:34:20,000
  10347. 指紋,到這邊大家應該可以開始
  10348.  
  10349. 2588
  10350. 01:34:20,000 --> 01:34:22,000
  10351. 感受到接下來要說什麼
  10352.  
  10353. 2589
  10354. 01:34:22,000 --> 01:34:24,000
  10355. 那我們要怎麼樣能夠安全的儲存Key
  10356.  
  10357. 2590
  10358. 01:34:24,000 --> 01:34:26,000
  10359. 我們把Rule of Trust
  10360.  
  10361. 2591
  10362. 01:34:26,000 --> 01:34:28,000
  10363. 讓它配備有靜態跟動態的
  10364.  
  10365. 2592
  10366. 01:34:28,000 --> 01:34:30,000
  10367. Entropy
  10368.  
  10369. 2593
  10370. 01:34:30,000 --> 01:34:32,000
  10371. 配備有靜態跟動態的
  10372.  
  10373. 2594
  10374. 01:34:32,000 --> 01:34:34,000
  10375. 桑源
  10376.  
  10377. 2595
  10378. 01:34:34,000 --> 01:34:36,000
  10379. 再來最後一個是我們要怎麼樣
  10380.  
  10381. 2596
  10382. 01:34:36,000 --> 01:34:38,000
  10383. 我們要怎麼樣能夠
  10384.  
  10385. 2597
  10386. 01:34:38,000 --> 01:34:40,000
  10387. 安全的讓Key用在密碼學的運作裡面
  10388.  
  10389. 2598
  10390. 01:34:40,000 --> 01:34:42,000
  10391. 那就是我們把
  10392.  
  10393. 2599
  10394. 01:34:42,000 --> 01:34:44,000
  10395. Rule of Trust的單元
  10396.  
  10397. 2600
  10398. 01:34:44,000 --> 01:34:46,000
  10399. 我們再給它配備密碼
  10400.  
  10401. 2601
  10402. 01:34:46,000 --> 01:34:48,000
  10403. 學演算法
  10404.  
  10405. 2602
  10406. 01:34:48,000 --> 01:34:50,000
  10407. 的目的在於說,如果
  10408.  
  10409. 2603
  10410. 01:34:50,000 --> 01:34:52,000
  10411. 今天所有安全功能都執行
  10412.  
  10413. 2604
  10414. 01:34:52,000 --> 01:34:54,000
  10415. 在一個固定的邊界裡面
  10416.  
  10417. 2605
  10418. 01:34:54,000 --> 01:34:56,000
  10419. 它就不會
  10420.  
  10421. 2606
  10422. 01:34:56,000 --> 01:34:58,000
  10423. 有比方說Key
  10424.  
  10425. 2607
  10426. 01:34:58,000 --> 01:35:00,000
  10427. 或是未加密的重要資料
  10428.  
  10429. 2608
  10430. 01:35:00,000 --> 01:35:02,000
  10431. 在Bus上面流傳這樣子的狀況
  10432.  
  10433. 2609
  10434. 01:35:02,000 --> 01:35:04,000
  10435. 它可以
  10436.  
  10437. 2610
  10438. 01:35:04,000 --> 01:35:06,000
  10439. 安全的鎖在一個邊界裡面
  10440.  
  10441. 2611
  10442. 01:35:06,000 --> 01:35:08,000
  10443. 那這三個問題的答案
  10444.  
  10445. 2612
  10446. 01:35:08,000 --> 01:35:10,000
  10447. 對應過來就是
  10448.  
  10449. 2613
  10450. 01:35:10,000 --> 01:35:12,000
  10451. 怎麼樣產生Key NeoPath
  10452.  
  10453. 2614
  10454. 01:35:12,000 --> 01:35:14,000
  10455. 怎麼樣安全的儲存Key用Path RT
  10456.  
  10457. 2615
  10458. 01:35:14,000 --> 01:35:16,000
  10459. 我們前面講過Path RT有Dynamic跟Static
  10460.  
  10461. 2616
  10462. 01:35:16,000 --> 01:35:18,000
  10463. Static的Entropy,就是說
  10464.  
  10465. 2617
  10466. 01:35:18,000 --> 01:35:20,000
  10467. 你這邊有Secure OTP
  10468.  
  10469. 2618
  10470. 01:35:20,000 --> 01:35:22,000
  10471. 你另外有TRNG可以產生
  10472.  
  10473. 2619
  10474. 01:35:22,000 --> 01:35:24,000
  10475. 真隨機的亂數給你使用
  10476.  
  10477. 2620
  10478. 01:35:24,000 --> 01:35:26,000
  10479. 怎麼樣安全的用Key在
  10480.  
  10481. 2621
  10482. 01:35:26,000 --> 01:35:28,000
  10483. 密碼學的運作裡面
  10484.  
  10485. 2622
  10486. 01:35:28,000 --> 01:35:30,000
  10487. 我們把這一個Path RT的單元
  10488.  
  10489. 2623
  10490. 01:35:30,000 --> 01:35:32,000
  10491. 外面再掛上其他的演算法
  10492.  
  10493. 2624
  10494. 01:35:32,000 --> 01:35:34,000
  10495. 所有安全功能都會執行
  10496.  
  10497. 2625
  10498. 01:35:34,000 --> 01:35:36,000
  10499. 在這一個邊界裡面
  10500.  
  10501. 2626
  10502. 01:35:36,000 --> 01:35:38,000
  10503. 然後你這一個邊界它另外才接到Bus上面去
  10504.  
  10505. 2627
  10506. 01:35:38,000 --> 01:35:40,000
  10507. 所以不會有
  10508.  
  10509. 2628
  10510. 01:35:40,000 --> 01:35:42,000
  10511. 任何進要
  10512.  
  10513. 2629
  10514. 01:35:42,000 --> 01:35:44,000
  10515. 什麼資料在外面流通的這樣的問題
  10516.  
  10517. 2630
  10518. 01:35:44,000 --> 01:35:46,000
  10519. 所以三個問題
  10520.  
  10521. 2631
  10522. 01:35:46,000 --> 01:35:48,000
  10523. 對應三個答案
  10524.  
  10525. 2632
  10526. 01:35:48,000 --> 01:35:50,000
  10527. 今天如果大家能夠帶走這個多少會有點幫助
  10528.  
  10529. 2633
  10530. 01:35:50,000 --> 01:35:52,000
  10531. 今天的內容大概就到這邊
  10532.  
  10533. 2634
  10534. 01:35:52,000 --> 01:35:54,000
  10535. 謝謝大家
  10536.  
  10537. 2635
  10538. 01:35:54,000 --> 01:35:56,000
  10539. 謝謝大家
  10540.  
  10541.  
Add Comment
Please, Sign In to add comment