Toán học đơn giản đằng sau mật mã khóa công khai giúp giữ thông tin bí mật trên mạng. Thay vì giữ chìa khóa riêng tư, mật mã này sử dụng cặp khóa công khai và riêng tư. Khóa công khai được chia sẻ rộng rãi, trong khi khóa riêng tư chỉ được sử dụng bởi người gửi tin nhắn và người nhận. Công nghệ này giúp tránh được việc khóa bị rơi vào tay kẻ xấu.
#ToánHọcĐơnGiản #MậtMãKhóaCôngKhai #QuantaMagazine #SựKiệnHômNay
Nguồn: https://www.wired.com/story/how-public-key-cryptography-really-works-using-only-simple-math/
Phiên bản gốc của câu chuyện này xuất hiện ở Tạp chí Quanta.
Trong hàng ngàn năm, nếu bạn muốn gửi một tin nhắn bí mật, về cơ bản có một cách để thực hiện điều đó. Bạn sẽ xáo trộn tin nhắn bằng một quy tắc đặc biệt mà chỉ bạn và đối tượng mục tiêu của bạn mới biết. Quy tắc này hoạt động giống như chìa khóa của ổ khóa. Nếu bạn có chìa khóa, bạn có thể giải mã tin nhắn; nếu không, bạn cần phải chọn khóa. Một số ổ khóa rất hiệu quả, chúng không bao giờ có thể được chọn, ngay cả với thời gian và nguồn lực vô hạn. Nhưng ngay cả những kế hoạch đó cũng mắc phải gót chân Achilles tương tự gây ra cho tất cả các hệ thống mã hóa như vậy: Làm thế nào để bạn đưa chìa khóa đó vào tay phải trong khi vẫn giữ nó không rơi vào tay kẻ xấu?
Giải pháp phản trực giác, được gọi là mật mã khóa công khaikhông dựa vào việc giữ bí mật khóa mà vào việc làm cho nó được phổ biến rộng rãi. Bí quyết là hãy sử dụng khóa thứ hai mà bạn không bao giờ chia sẻ với bất kỳ ai, ngay cả với người bạn đang giao tiếp. Chỉ bằng cách sử dụng sự kết hợp của hai khóa—một khóa công khai, một khóa riêng tư—thì ai đó mới có thể xáo trộn và giải mã tin nhắn.
Để hiểu cách thức hoạt động của điều này, sẽ dễ dàng hơn khi coi “chìa khóa” không phải là vật thể lắp vào ổ khóa mà là hai thành phần bổ sung trong một loại mực vô hình. Thành phần đầu tiên làm cho tin nhắn biến mất và thành phần thứ hai khiến chúng xuất hiện trở lại. Nếu một điệp viên tên Boris muốn gửi cho người đồng cấp Natasha của mình một tin nhắn bí mật, anh ta sẽ viết một tin nhắn và sau đó sử dụng thành phần đầu tiên để làm cho nó ẩn đi trên trang. (Điều này đối với anh ấy rất dễ thực hiện: Natasha đã xuất bản một công thức dễ làm và nổi tiếng để làm biến mất mực.) Khi Natasha nhận được tờ giấy qua đường bưu điện, cô ấy đã áp dụng thành phần thứ hai khiến thông điệp của Boris xuất hiện trở lại.
Trong kế hoạch này, bất kỳ ai cũng có thể ẩn tin nhắn, nhưng chỉ Natasha mới có thể hiển thị lại chúng. Và bởi vì cô ấy không bao giờ chia sẻ công thức của thành phần thứ hai với bất kỳ ai—kể cả Boris—cô ấy có thể chắc chắn rằng thông điệp đó chưa được giải mã trong quá trình thực hiện. Khi Boris muốn nhận tin nhắn bí mật, anh ấy chỉ cần áp dụng quy trình tương tự: Anh ấy xuất bản một công thức dễ dàng để làm cho tin nhắn biến mất (mà Natasha hoặc bất kỳ ai khác có thể sử dụng), đồng thời giữ một công thức khác cho riêng mình để khiến chúng xuất hiện trở lại.
Trong mật mã khóa công khai, khóa “công khai” và “riêng tư” hoạt động giống như thành phần thứ nhất và thứ hai trong loại mực vô hình đặc biệt này: Một thành phần mã hóa tin nhắn, thành phần còn lại giải mã chúng. Nhưng thay vì sử dụng hóa chất, mật mã khóa công khai sử dụng các câu đố toán học gọi là chức năng cửa sập. Các hàm này dễ tính toán theo một hướng và cực kỳ khó đảo ngược. Nhưng chúng cũng chứa những “cửa sập”, những mẩu thông tin mà nếu biết được sẽ làm cho các hàm tính toán theo cả hai hướng trở nên dễ dàng một cách tầm thường.
Một hàm cửa sập phổ biến liên quan đến việc nhân hai số nguyên tố lớn, một thao tác dễ thực hiện. Nhưng việc đảo ngược nó—tức là bắt đầu từ tích và tìm từng thừa số nguyên tố—là không thực tế về mặt tính toán. Để tạo khóa chung, hãy bắt đầu bằng hai số nguyên tố lớn. Đây là những cái bẫy của bạn. Nhân hai số với nhau rồi thực hiện một số phép cộng phép toán. Khóa công khai này hiện có thể mã hóa tin nhắn. Để giải mã chúng, bạn sẽ cần khóa riêng tương ứng, chứa các thừa số nguyên tố—các cửa sập cần thiết. Với những con số đó, thật dễ dàng để giải mã tin nhắn. Hãy giữ bí mật hai thừa số nguyên tố đó và thông điệp sẽ được giữ bí mật.