chia sẻ một bí mật quan trọng duy nhất (như trong trường hợp của các hệ thống khóa đối xứng), Bob (người nhận tin nhắn của Alice) thay vì có hai phím-một keythat nào có sẵn để
everyonein thế giới (bao gồm cả Trudy kẻ xâm nhập) và một keythat tin là biết
chỉ cho Bob. Chúng tôi sẽ sử dụng các ký hiệu KB
+
andKB
-
để tham khảo công cộng và tư nhân của Bob
phím tương ứng. Để giao tiếp với Bob, Alice đầu tiên lấy về khóa công khai của Bob. Alice sau đó mã hóa thông điệp của mình, m, Bob dùng khóa công khai của Bob và
được biết đến (ví dụ, tiêu chuẩn hóa) thuật toán mã hóa; đó là, Alice tính
KB
+
(m). Bob nhận được tin nhắn mã hóa của Alice và sử dụng khóa riêng của mình và được biết đến
(ví dụ, tiêu chuẩn hóa) thuật toán giải mã để giải mã thông điệp được mã hóa của Alice. Đó là, Bob tính KB
-
(KB
+
(m)). Chúng ta sẽ thấy dưới đây, có thuật toán mã hóa / giải mã và kỹ thuật cho việc lựa chọn các khóa công cộng và tư nhân như
thatKB
-
(KB
+
(m)) = m, đó là áp dụng khóa công khai của Bob, KB
+
, một tin nhắn, m (để được
KB
+
(m)), và sau đó áp dụng của Bob khóa riêng, KB
-
, với phiên bản mã hóa của m (nghĩa
là, tính toán KB
-
(KB
+
(m))) cho phép trở lại m.This là một kết quả đáng chú ý! Theo cách này,
Alice có thể sử dụng chính công bố công khai của Bob để gửi một thông điệp bí mật cho Bob mà không
ai trong số họ có để phân phối bất kỳ khóa bí mật! Chúng ta sẽ thấy ngay rằng chúng ta có thể
trao đổi các khóa công khai và mã hóa khóa riêng và nhận được sự đáng chú ý cùng một
kết quả - đó là, KB
-
(
B
+
(m)) = KB
+
(KB
-
(m)). = M
Việc sử dụng của mật mã khóa công khai là do khái niệm đơn giản. Nhưng hai lo lắng ngay lập tức có thể nảy ra. Một mối quan tâm đầu tiên là mặc dù một kẻ xâm nhập ngăn chặn tin nhắn mã hóa của Alice sẽ chỉ thấy vô nghia, kẻ xâm nhập biết cả hai
chìa khóa (key Bob của công chúng, trong đó có sẵn cho tất cả thế giới nhìn thấy) và các thuật toán mà Alice sử dụng để mã hóa. Trudy do đó có thể gắn kết một lựa chọn-plaintext
tấn công, bằng cách sử dụng thuật toán mã hóa tiêu chuẩn được biết đến và mã hóa khóa công khai của Bob để mã hóa bất kỳ thông báo cô đã chọn! Trudy cũng có thể thử, cho
ví dụ, để mã hóa tin nhắn, hoặc các bộ phận của bài viết, rằng cô ta nghi ngờ rằng Alice
có thể gửi. Rõ ràng, nếu mật mã khóa công khai là để làm việc, lựa chọn quan trọng và mã hóa / giải mã phải được thực hiện theo cách như vậy mà nó là không thể (hoặc ít nhất là khó khăn như vậy
là để được gần như không thể) cho một kẻ xâm nhập hoặc là xác định khóa riêng của Bob hoặc
bằng cách nào đó nếu không giải mã hoặc đoán nhắn của Alice để Bob. Một mối quan tâm thứ hai là
rằng từ khóa mã hóa của Bob là công cộng, ai cũng có thể gửi một tin nhắn được mã hóa để
Bob, kể cả Alice hoặc một người nào đó claimingto là Alice. Trong trường hợp của một chia sẻ duy nhất
khóa bí mật, một thực tế mà người gửi biết khóa bí mật ngầm xác định
người gửi đến người nhận. Trong trường hợp của mật mã khóa công khai, tuy nhiên, điều này không
còn là trường hợp vì bất cứ ai có thể gửi một tin nhắn được mã hóa để sử dụng Bob Bob
chính công bố công khai. Một chữ ký kỹ thuật số, một chủ đề, chúng tôi sẽ nghiên cứu tại mục 8.3, là
cần thiết để ràng buộc một người gửi đến một thông điệp.
RSA
đang được dịch, vui lòng đợi..