Cho đến nay, chúng ta đã học cách sử dụng BGP để mã hóa tin nhắn sao cho chỉ người nhận mới có thể đọc được nội dung
của tin nhắn.
Để làm điều đó, trong ví dụ của chúng tôi, người gửi, David, sử dụng khóa công khai của người nhận.
Vì vậy, người nhận đặt khóa công khai của họ ở chế độ công khai như tên cho thấy.
Điều đó tốt vì không thể sử dụng khóa công khai để giải mã tin nhắn.
Nó chỉ có thể được sử dụng để mã hóa tin nhắn.
Vì vậy, David mã hóa tin nhắn bằng khóa công khai Johns của người nhận.
Tin nhắn được gửi đi và khi John nhận được nó, anh ta sử dụng khóa riêng tư của mình mà anh ta không bao giờ chia sẻ với
bất kỳ ai để giải mã tin nhắn.
Do đó, David có thể gửi tin nhắn cho John theo bất kỳ cách nào anh ta muốn.
Anh ta có thể gửi nó dưới dạng tin nhắn văn bản, dưới dạng tin nhắn tức thì hoặc thậm chí sử dụng một dịch vụ không an toàn.
Điều đó tốt, bởi vì nếu ai đó đọc tin nhắn, họ sẽ thấy những thứ vô nghĩa.
Họ sẽ không thể xem nội dung trừ khi họ có khóa cá nhân.
Và miễn là John không chia sẻ khóa riêng tư, thì anh ta không cần phải chia sẻ nó.
Sau đó sẽ không ai có thể đọc tin nhắn này ngoại trừ John.
Vì vậy, điều đó thực sự, thực sự tốt.
Vấn đề duy nhất ở đây là không có cách nào để John xác minh rằng tin nhắn mà họ nhận
được thực sự được gửi từ David.
Vì vậy, như tôi đã nói, để việc này hoạt động, John cần công khai khóa công khai của họ.
Vì vậy, việc lấy khóa công khai của John rất dễ dàng.
Do đó John có thể có nó trong chữ ký và email của mình.
Anh ấy có thể có nó trong chữ ký của mình trong một diễn đàn.
Anh ấy có thể đã chia sẻ nó công khai vì anh ấy muốn mọi người gửi cho anh ấy những tin nhắn được mã hóa.
Vì vậy, không có gì sai khi công khai khóa công khai của bạn.
Vấn đề duy nhất là ai đó có thể vào, giả làm David, sử dụng khóa công khai của John để mã hóa một tin
nhắn và gửi cho John.
Và theo cách đó, John không có cách nào để biết liệu thông điệp này có thực sự đến từ David hay không.
Để giải quyết vấn đề này, David sẽ phải ký vào tin nhắn.
Điều này thực sự có thể được thực hiện với Pjp.
Vì vậy, hãy để tôi chỉ cho bạn cách điều này sẽ hoạt động với ví dụ này.
Vì vậy, một lần nữa, chúng ta có David.
Anh ấy muốn gửi một thông điệp bí mật cho John.
Và như chúng ta đã biết trước đây, điều đầu tiên mà David sẽ làm, anh ấy sẽ sử dụng khóa công khai của John để
mã hóa tin nhắn.
Tin nhắn sẽ thay đổi thành vô nghĩa.
Bây giờ, ở giai đoạn này trong bài giảng trước, chúng ta đã gửi tin nhắn, nhưng lần này David
sẽ ký tin nhắn bằng khóa riêng của anh ấy.
Vì vậy, anh ấy vẫn chưa gửi khóa riêng.
Tin nhắn vẫn còn ở cuối David.
Và những gì anh ấy sẽ làm là tạo một chữ ký cho tin nhắn này.
Chữ ký này tương ứng với tin nhắn này.
Và nếu bất cứ điều gì được sửa đổi trong thư, nếu một chữ cái được sửa đổi, chữ ký sẽ
thay đổi.
Do đó, chữ ký này có thể được sử dụng để xác minh rằng thư không bị sửa đổi vì nó
được ký bằng khóa riêng của David.
Bây giờ, hãy nhớ rằng David vẫn đang giữ khóa riêng tư của riêng mình.
Anh ấy đã không gửi nó qua bất kỳ phương thức liên lạc nào.
Vì vậy, bây giờ chúng ta có một tin nhắn có nội dung được mã hóa và có chữ ký tương ứng với David Private
Key.
Sau đó, tin nhắn được gửi bằng bất kỳ phương thức liên lạc nào.
Như chúng tôi đã nói, bạn thậm chí có thể sử dụng một phương pháp giao tiếp không an toàn.
John sẽ nhận được tin nhắn cùng với chữ ký của nó, và trước khi giải mã tin nhắn này
bằng khóa riêng của mình, những gì anh ấy sẽ làm là sử dụng khóa công khai của David để xác minh
chữ ký.
Vì vậy, như tôi đã nói, chữ ký được tạo bằng khóa riêng của David.
Và sau đó John không có khóa riêng của David, nhưng anh ấy sẽ sử dụng khóa công khai của David để xác
minh chữ ký.
Nếu thông báo không được sửa đổi, xác minh sẽ thành công.
Và bằng cách này, John sẽ biết rằng tin nhắn này thực sự được gửi bởi David và không bị bất kỳ ai sửa đổi.
Bởi vì, như tôi đã nói, nếu một lá thư bị sửa đổi, khóa công khai, khóa công khai của David sẽ không xác
minh chữ ký.
Vì vậy, khi chữ ký được xác minh, chúng tôi biết rằng David là người thực sự gửi tin nhắn và tin
nhắn không bị sửa đổi khi được gửi, cho dù nó được gửi qua Internet dưới dạng tin nhắn văn bản hay sử
dụng bất kỳ phương thức liên lạc nào khác.
Bước tiếp theo rất giống với những gì đã xảy ra trong bài giảng trước.
John sẽ sử dụng khóa riêng của mình để giải mã tin nhắn và đọc nội dung của nó, đây chỉ là một tin
nhắn bí mật.
Vì vậy, như bạn có thể thấy, do đó, mỗi bên vẫn giữ khóa riêng tư của riêng mình.
Không ai gửi khóa cá nhân của họ cho bên kia.
Vì vậy, người gửi mã hóa tin nhắn bằng khóa công khai của người nhận và ký tin nhắn bằng khóa riêng
của mình.
Tin nhắn đã được gửi đi.
Người nhận xác minh chữ ký bằng khóa công khai của người gửi và giải mã nó bằng khóa riêng của
mình.
Bằng cách này, anh ta có thể xác minh rằng tin nhắn này đến từ người gửi.
Anh ta có thể xác minh rằng tin nhắn không bị sửa đổi khi nó được gửi đi.
Và tin nhắn được mã hóa.
Và người duy nhất có thể đọc nó là người nhận, vì anh ta đã giữ bí mật khóa riêng tư của mình và nó không
được chia sẻ với bất kỳ ai.
Bây giờ tất cả những điều này sẽ trở nên rõ ràng hơn trong bài giảng tiếp theo vì tôi sẽ chỉ cho bạn cách mã hóa tin
nhắn và ký chúng với tư cách là người gửi.
Và tôi cũng sẽ chỉ cho bạn cách xác minh chữ ký và giải mã các tin nhắn với tư cách người nhận.