WEBVTT

00:00.550 --> 00:07.810
Trong phần này và trong các bài giảng tiếp theo, tôi sẽ chỉ cho bạn cách sử dụng Pjp để mã

00:07.840 --> 00:17.230
hóa và giải mã các tệp văn bản, email và chúng tôi cũng sẽ sử dụng nó để ký và xác minh tính toàn vẹn của tệp, email,

00:17.230 --> 00:18.250
v.v. trên.

00:18.730 --> 00:25.060
Bằng cách này, chúng tôi sẽ có thể giao tiếp an toàn vì mọi thứ gửi và nhận sẽ được mã hóa

00:25.060 --> 00:29.890
và chúng tôi sẽ có thể xác minh tính toàn vẹn của dữ liệu được gửi.

00:29.890 --> 00:36.730
Vì vậy, chúng tôi sẽ có thể ký bất cứ thứ gì chúng tôi gửi và người nhận sẽ có thể xác minh rằng dữ liệu

00:36.730 --> 00:40.690
này thực sự đã được gửi từ chúng tôi và không bị giả mạo.

00:41.640 --> 00:48.270
Bây giờ, lý do tại sao chúng ta sẽ sử dụng BGP để mã hóa và xác minh tính toàn vẹn, bởi vì

00:48.270 --> 00:54.240
đây là một mã hóa rất mạnh, đã qua thử thách của thời gian và vẫn chưa bị phá vỡ.

00:54.330 --> 01:01.530
Ngay cả khi dựa trên các báo cáo bị rò rỉ, có vẻ như ngay cả các cơ quan chính phủ cũng chưa thể phá vỡ nó.

01:01.530 --> 01:07.360
Vì vậy, nó là một mã hóa rất, rất mạnh, mặc dù PJP là viết tắt của mã hóa khá tốt.

01:07.380 --> 01:13.500
Tuyên bố này thực sự mang tính châm biếm vì đây là một loại mã hóa rất mạnh và mạnh mẽ.

01:14.070 --> 01:19.110
Bây giờ, trong bài giảng này, tôi muốn giải thích cho bạn cách hoạt động của Pjp nói chung.

01:19.110 --> 01:24.810
Và sau đó trong các bài giảng tiếp theo, chúng ta sẽ xem cách chúng ta có thể sử dụng nó để mã hóa tất cả các loại dữ liệu

01:24.810 --> 01:27.420
và cách sử dụng nó để ký và xác minh tính toàn vẹn.

01:28.490 --> 01:33.800
Bây giờ Pjp là một khóa công khai hoặc một mã hóa bất đối xứng.

01:33.800 --> 01:40.070
Và để hiểu cách hoạt động của nó, trước tiên chúng ta hãy xem xét loại mã hóa truyền thống

01:40.070 --> 01:41.720
khác, mã hóa đối xứng.

01:42.620 --> 01:47.850
Vì vậy, hãy lấy một ví dụ mà chúng tôi có hai người, David và John.

01:47.870 --> 01:50.630
Chúng ta sẽ quên đi cách họ giao tiếp.

01:50.630 --> 01:55.580
Chúng ta sẽ giả định rằng David muốn gửi một tin nhắn cho John.

01:55.580 --> 01:59.090
Và nội dung của tin nhắn này là tin nhắn bí mật.

01:59.720 --> 02:05.780
Bây giờ, nếu David muốn bảo vệ tin nhắn của mình khỏi bất kỳ ai có thể chặn hoặc đọc

02:05.810 --> 02:12.860
tin nhắn này, anh ấy có thể sử dụng khóa mã hóa để mã hóa tin nhắn này và điều này sẽ biến tin

02:12.860 --> 02:14.300
nhắn thành vô nghĩa.

02:15.080 --> 02:22.670
Sau đó, anh ta có thể tiếp tục và gửi tin nhắn này cho John bằng bất kỳ phương thức nào bằng cách gửi dưới dạng email hoặc qua đường bưu điện

02:22.670 --> 02:24.620
hoặc dưới dạng tin nhắn văn bản.

02:24.620 --> 02:26.060
Nó không thực sự quan trọng.

02:26.150 --> 02:31.850
Và nếu tin nhắn này bị chặn, nội dung của tin nhắn sẽ vô nghĩa.

02:31.850 --> 02:35.390
Vì vậy, nó sẽ không hữu ích cho người chặn điều này.

02:35.780 --> 02:37.610
John sẽ nhận được tin nhắn.

02:37.610 --> 02:39.020
Anh ấy sẽ mở tin nhắn.

02:39.020 --> 02:41.090
Tin nhắn vẫn sẽ vô nghĩa.

02:41.090 --> 02:48.950
Và sau đó John sẽ sử dụng cùng một khóa mã hóa để giải mã thông điệp này và tiết lộ nội dung của nó,

02:48.950 --> 02:51.050
đó là thông điệp bí mật.

02:51.530 --> 02:53.450
Rất, rất đơn giản.

02:53.450 --> 02:56.740
Về cơ bản, David sử dụng một khóa để mã hóa tin nhắn.

02:56.750 --> 03:02.300
John sử dụng cùng một khóa để giải mã nó, và bằng cách này, cả hai đều có thể đọc được tin nhắn.

03:02.300 --> 03:07.340
Nhưng bất kỳ ai không có chìa khóa sẽ không thể đọc tin nhắn.

03:07.880 --> 03:12.020
Vì vậy, cùng một chìa khóa được sử dụng bởi David và John.

03:12.020 --> 03:15.740
Do đó, đây được gọi là mã hóa đối xứng.

03:16.130 --> 03:18.350
Bây giờ, bạn có thể đoán nó ngay bây giờ.

03:18.350 --> 03:20.530
Khóa này cần phải ở chế độ riêng tư.

03:20.540 --> 03:28.520
Đó là lý do tại sao nó được gọi là khóa bí mật, bởi vì bất kỳ ai nắm được chìa khóa này, họ sẽ

03:28.520 --> 03:34.010
có thể giải mã bất kỳ tin nhắn nào mà David gửi cho John và ngược lại.

03:35.220 --> 03:42.510
Vì vậy, dựa trên tất cả những gì chúng tôi đã nói cho đến nay, chúng tôi có thể thấy rằng khóa bí mật có thể được sử dụng để giải mã

03:42.510 --> 03:43.290
các tin nhắn.

03:43.590 --> 03:46.360
Vì lẽ đó, nó nên được giữ bí mật.

03:46.380 --> 03:53.580
Nhưng bằng cách nào đó David phải chia sẻ nó với John và bất kỳ ai khác mà David muốn giao tiếp.

03:54.030 --> 04:00.930
Do đó, đây là một lỗ hổng lớn đối với mã hóa đối xứng vì khóa phải bí mật nhưng đồng

04:00.930 --> 04:06.720
thời phải chia sẻ và chia sẻ với nhiều người hơn làm tăng bề mặt tấn công,

04:06.720 --> 04:10.020
chưa kể đến vấn đề chia sẻ khóa thực.

04:10.050 --> 04:11.300
Chúng ta sẽ chia sẻ nó như thế nào?

04:11.310 --> 04:13.410
Chúng ta sẽ gửi nó trong một tin nhắn riêng biệt?

04:13.410 --> 04:15.720
Điều gì sẽ xảy ra nếu tin nhắn đó bị chặn?

04:15.750 --> 04:21.810
Điều gì sẽ xảy ra nếu chúng ta đang gửi nội dung qua Internet và chúng ta biết dữ liệu của mình có thể vượt qua bao nhiêu bước?

04:21.840 --> 04:27.600
Điều này có thể bị chặn, đọc và sau đó phần còn lại của giao tiếp của chúng tôi sẽ được giải mã.

04:28.080 --> 04:35.400
Đây là động lực chính để đưa ra mã hóa an toàn hơn và đây là lúc mã hóa khóa công khai

04:35.400 --> 04:37.470
hoặc bất đối xứng xuất hiện.

04:38.190 --> 04:42.540
Vì vậy, hãy quay lại việc David muốn gửi một tin nhắn cho John.

04:42.540 --> 04:47.640
Và nội dung của tin nhắn là thông điệp bí mật và mã hóa bất đối xứng.

04:47.640 --> 04:50.460
Một khóa được sử dụng để mã hóa tin nhắn.

04:50.490 --> 04:57.480
Tin nhắn được gửi trong không gian và sau đó một phím khác được sử dụng để giải mã tin nhắn.

04:57.960 --> 05:06.090
Vì vậy, như bạn có thể thấy trong mã hóa này, hai khóa khác nhau được sử dụng và do đó có tên là mã hóa bất đối xứng.

05:06.810 --> 05:10.700
Bây giờ hai khóa này được gọi là một cặp khóa.

05:10.710 --> 05:13.020
Chúng có liên quan về mặt toán học.

05:13.020 --> 05:18.180
Một được sử dụng để mã hóa tin nhắn và một được sử dụng để giải mã.

05:18.180 --> 05:23.700
Do đó, khóa giải mã không bao giờ được chia sẻ và đó là lý do tại sao nó an toàn hơn.

05:24.120 --> 05:28.680
Bây giờ bạn đang nghĩ nếu khóa giải mã không bao giờ được chia sẻ, điều này sẽ hoạt động như thế nào?

05:29.040 --> 05:33.120
Vâng, chúng ta hãy quay trở lại và xem xét kỹ hơn cách thức hoạt động của nó.

05:33.210 --> 05:36.690
Vì vậy, một lần nữa, David muốn gửi một thông điệp đến John.

05:36.690 --> 05:39.630
Nội dung tin nhắn là tin nhắn bí mật.

05:39.630 --> 05:47.040
Nhưng trước khi gửi tin nhắn này và trước khi mã hóa nó, John sẽ tạo một cặp khóa, khóa công

05:47.040 --> 05:48.930
khai và khóa riêng tư.

05:49.560 --> 05:56.790
Như tôi đã nói, các khóa này được liên kết toán học và John sẽ gửi khóa công khai cho

05:56.790 --> 05:59.460
David, cho người sẽ gửi tin nhắn.

05:59.820 --> 06:02.970
Vì vậy, khóa công khai có thể được chia sẻ với bất kỳ ai.

06:02.970 --> 06:07.470
Bạn thực sự có thể công khai nó trên Internet, trên các thư mục chính.

06:07.500 --> 06:13.030
Nó không thực sự quan trọng vì nó không thể được sử dụng để xác định khóa cá nhân.

06:13.050 --> 06:16.830
Do đó, hoàn toàn an toàn khi chia sẻ khóa công khai.

06:17.310 --> 06:19.920
Vì vậy, David nhận được khóa công khai.

06:19.950 --> 06:23.100
Anh ta sử dụng khóa công khai để mã hóa tin nhắn.

06:23.100 --> 06:25.860
Tin nhắn được gửi bằng bất kỳ phương thức nào.

06:25.860 --> 06:27.120
Nó không thực sự quan trọng.

06:27.120 --> 06:30.320
Và ngay cả khi nó bị chặn, nó sẽ trở nên vô nghĩa.

06:30.330 --> 06:32.430
John sẽ nhận được tin nhắn.

06:32.430 --> 06:33.840
Anh ấy sẽ mở tin nhắn.

06:33.840 --> 06:40.410
Tin nhắn vẫn sẽ vô nghĩa nhưng anh ta sẽ sử dụng khóa riêng tư để giải mã tin nhắn này.

06:40.860 --> 06:44.310
Bằng cách này, anh ta sẽ nhận được nội dung của thông điệp bí mật.

06:44.310 --> 06:48.200
Và như bạn có thể thấy, khóa riêng tư không bao giờ được chia sẻ.

06:48.210 --> 06:52.210
John đã tạo khóa cá nhân và John giữ khóa cá nhân.

06:52.230 --> 06:58.470
Thứ duy nhất được chia sẻ là khóa công khai, không thể được sử dụng để xác định khóa riêng tư và không

06:58.470 --> 07:01.280
thể được sử dụng để giải mã tin nhắn.

07:01.290 --> 07:04.530
Nó chỉ có thể được sử dụng để mã hóa tin nhắn.

07:05.420 --> 07:12.200
Vì vậy, vào cuối cuộc giao tiếp, David sẽ có khóa công khai của John và John sẽ giữ khóa riêng

07:12.200 --> 07:13.330
tư của họ.

07:13.340 --> 07:19.610
Do đó, bây giờ David luôn có thể gửi tin nhắn cho John và John sẽ luôn có thể giải mã

07:19.610 --> 07:21.800
chúng bằng khóa riêng của anh ấy.

07:21.890 --> 07:29.060
Không chỉ vậy, khi David mã hóa thứ gì đó bằng khóa công khai của John, anh ấy có thể yên tâm rằng không

07:29.060 --> 07:35.420
ai có thể giải mã thông điệp này ngoại trừ John, bởi vì John là người duy nhất có khóa riêng và

07:35.450 --> 07:38.990
khóa riêng của anh ấy không bao giờ được chia sẻ.

07:39.020 --> 07:44.660
Nếu John biết anh ta đang làm gì vì không có lý do gì để chia sẻ nó, ngay cả khi anh ta muốn 100

07:44.660 --> 07:50.420
người gửi tin nhắn cho mình, tất cả những gì anh ta phải làm là chia sẻ khóa công khai chứ không phải khóa riêng tư.

07:51.140 --> 07:56.780
Bây giờ, nếu John muốn gửi điều gì đó cho David, điều tương tự cũng có thể được thực hiện theo hướng ngược lại.

07:56.780 --> 07:59.100
Vì vậy, David sẽ tạo một cặp khóa.

07:59.120 --> 08:06.000
Anh ta sẽ gửi cho John khóa công khai của mình và sau đó John sẽ sử dụng khóa công khai của David để mã hóa tin nhắn.

08:06.020 --> 08:10.760
Khi David nhận được chúng, anh ấy sẽ sử dụng khóa riêng của mình để giải mã chúng.

08:10.910 --> 08:13.100
Vì vậy, ý tưởng là rất, rất đơn giản.

08:13.100 --> 08:20.030
Bạn chia sẻ khóa công khai của mình, do đó, tên công khai hoàn toàn an toàn vì nó không thể được sử dụng

08:20.030 --> 08:24.830
để xác định khóa riêng tư và không thể dùng để giải mã tin nhắn.

08:24.830 --> 08:31.100
Vì vậy, bạn chia sẻ khóa công khai và bất kỳ ai muốn gửi tin nhắn cho bạn, họ sẽ mã hóa tin nhắn đó

08:31.100 --> 08:37.160
bằng khóa công khai của riêng bạn và theo cách này, bạn sẽ là người duy nhất có thể giải mã tin nhắn này.

08:37.340 --> 08:39.740
Tương tự khi bạn muốn gửi một tin nhắn khác.

08:39.740 --> 08:45.770
Ví dụ: nếu bạn muốn gửi một tin nhắn cho tôi, tất cả những gì bạn phải làm là mã hóa tin nhắn đó bằng

08:45.770 --> 08:47.180
khóa công khai của tôi.

08:47.180 --> 08:52.790
Và theo cách này, vì tôi không chia sẻ khóa riêng tư của mình với bất kỳ ai nên tôi sẽ là người duy nhất có thể đọc được

08:52.790 --> 08:53.390
tin nhắn.

08:53.390 --> 08:55.370
Vì vậy, bạn có thể đặt tin nhắn này ở bất cứ đâu.

08:55.370 --> 09:01.430
Bạn có thể chia sẻ nó một cách công khai và sẽ vẫn an toàn vì sẽ không ai có thể đọc được tin nhắn

09:01.430 --> 09:02.360
đó ngoài tôi.
