Trong một thuật toán mã hóa không đối xứng, không có khóa mã hóa và giải mã khác nhau. Một thực thể chuẩn bị để nhận được mã hóa truyền thông tạo ra hai phím và làm cho một trong số họ (được gọi là các khóa công khai) có sẵn cho bất cứ ai muốn nó. Người gửi bất kỳ có thể sử dụng cái chìa khóa để mã hóa một giao tiếp, nhưng chỉ có tác giả quan trọng có thể giải mã các giao tiếp. Chương trình này, được gọi là mã hóa khóa công khai, là một bước đột phá trong mật mã học. Không phải một phím được giữ bí mật và chuyển giao một cách an toàn. Thay vào đó, bất cứ ai có thể mật mã hóa thư đến thực thể nhận được, và không có vấn đề những người khác đang lắng nghe, chỉ rằng tổ chức có thể giải mã thư.
là một ví dụ về mã hóa khóa công khai như thế nào làm việc, chúng tôi mô tả một
thuật toán gọi là RSA, theo các nhà phát minh, Rivest, Shamir và mật.
RSA là thuật toán mật mã không đối xứng được sử dụng rộng rãi nhất. (Không đối xứng
thuật toán dựa trên đường cong elip là đạt được mặt đất, Tuy nhiên, bởi vì
chiều dài quan trọng của một thuật toán có thể ngắn hơn cho cùng một lượng
sức mạnh mật mã.)
Trong RSA, ke là chìa khóa công cộng, và kd là chìa khóa riêng. N là sản phẩm của
hai lớn, chọn ngẫu nhiên số nguyên tố p và q (ví dụ, p và q là
512 bit mỗi). Nó phải computationally infeasible để lấy được kd, N từ ke, N, vì vậy
ke mà không cần được lưu giữ bí mật và có thể được phổ biến rộng rãi. Các thuật toán mã hóa là Eke, N (m) = mke mod N, nơi ke satisfies ke kd mod (p −1)(q −1) =
kd
1. Thuật toán giải mã sau đó là Dkd, N (c) = c
mod N.
một ví dụ bằng cách sử dụng giá trị nhỏ được thể hiện trong hình 15.8. Trong ví dụ này, chúng tôi làm cho p = 7 và q = 13. Chúng tôi tính toán sau đó N = 7∗13 = 91 và (p−1)(q −1) = 72.
chúng tôi tiếp theo chọn ke tương đối nguyên tố 72 và < 72, năng suất 5. Cuối cùng, chúng tôi tính toán kd như vậy đó ke kd mod 72 = 1, năng suất 29. Chúng tôi bây giờ có phím của chúng tôi: công cộng chính, kê, N = 5, 91, và khóa riêng, kd, N = 29, 91. Mật mã hóa thư 69
với kết quả công cộng quan trọng trong thư 62, mà sau đó được giải mã bởi người nhận thông qua các khóa riêng.
sử dụng mã hóa không đối xứng bắt đầu phát hành công chúng
quan trọng của các điểm đến. Để giao tiếp hai chiều, nguồn, cũng phải
xuất bản khóa công khai. "Xuất bản" có thể như đơn giản như bàn giao một
các bản sao điện tử của chìa khóa, hoặc nó có thể phức tạp hơn. Khóa riêng (hoặc "bí mật
phím") phải được bảo vệ rất nhiệt tâm, như bất cứ ai giữ chiếc chìa khóa có thể giải mã bất kỳ
thư tạo ra bởi các phù hợp với khu vực phím.
chúng ta nên lưu ý rằng sự khác biệt nhỏ dường như sử dụng quan trọng giữa
mật mã không đối xứng và đối xứng là khá lớn trong thực tế. Không đối xứng
mật mã là nhiều hơn nữa computationally đắt tiền để thực hiện. Nó là nhiều
nhanh hơn đối với một máy tính để mã hóa và giải mã ciphertext bằng cách sử dụng thông thường
đối xứng thuật toán hơn bằng cách sử dụng thuật toán không đối xứng. Tại sao, sau đó, sử dụng
một thuật toán không đối xứng? Trong sự thật, các thuật toán này không được sử dụng cho tướng-
mục đích mã hóa của một lượng lớn dữ liệu. Tuy nhiên, chúng được sử dụng không
chỉ cho mã hóa của một lượng nhỏ dữ liệu mà còn cho xác thực,
confidentiality, và quan trọng phân phối, như chúng tôi hiển thị trong các phần sau.
đang được dịch, vui lòng đợi..