Mật mã không phải một khái niệm mới mà đã xuất hiện từ thời Hy Lạp cổ đại, nó có nghĩa là "chữ viết ẩn" trong ngôn ngữ này và bắt nguồn từ người Sparta. Công cụ mà họ sử dụng là gậy mật mã: họ khắc thông điệp trên dải giấy da khi quấn quanh khúc gỗ, rồi gửi dải giấy đi.

Để đọc thông điệp, người nhận cần khúc gỗ có cùng kích thước, nếu không các chữ cái sẽ vô nghĩa.

Người La Mã cũng sử dụng mật mã. Mật mã Caesar là một loại mật mã thay thế, người dùng sẽ thay các chữ ban đầu bằng chữ cái khác. Để đọc được thông điệp ghi bằng mật mã Caesar, bạn cần biết chìa khóa – số vị trí dịch chuyển mỗi chữ cái. Nếu không, bạn sẽ cần thử các loại khác nhau cho đến khi tìm ra, tối đa là 25 lần dịch chuyển khác nhau trong tiếng Anh.

Một cách hay hơn là xáo trộn các chữ trong bảng chữ cái, ví dụ như thay D cho A, C cho B, v.v. Để giải mã, chúng ta chỉ cần bảng ánh xạ như hình dưới đây.

Hình 1.
Hình 1.

Người ta có thể thử mọi bảng ánh xạ, song họ sẽ sớm nhận ra điều này thật vô ích khi có hơn 400×1024 bảng ánh xạ khác nhau!

Việc dùng mọi khả năng để đọc thông điệp mã hóa chính là phương pháp dò tìm bằng thử và sai. Tuy nhiên, cách cơ bản và hiệu quả hơn là phân tích tần suất. Mọi ngôn ngữ đều có quy luật, các chữ cái trong đó sẽ xuất hiện với xác suất cụ thể. Trong tiếng Anh, chữ cái phổ biến nhất là E, thứ hai là T, ít phổ biến nhất là Z. Vì thế, ký hiệu thường xuyên nhất trong văn bản mã hóa là E, tiếp là T, v.v. Như vậy, khi đếm số lần xuất hiện của ký hiệu trong văn bản mã hóa và phỏng đoán, ta sẽ dần giải mã nội dung mà không cần thử mọi phương án.

Cuộc đối đầu mã hóa-giải mã này đã định nghĩa mã hóa trong nhiều thế kỷ. Một phương pháp mã hóa ra đời và được xem là bảo mật cho đến khi bị bẻ mã, rồi lại có mật mã mới và cách phá giải. Chu trình này thúc đẩy các phương pháp mã hóa ngày càng trở nên tinh vi. Một tiến bộ đáng lưu ý là chuyển từ mật mã một bảng thế sang mật mã đa bảng thế (sử dụng nhiều quy tắc thay thế để tăng cường mã hóa).

Gậy mật mã. Nguồn: Panos Louridas
Gậy mật mã. Nguồn: Panos Louridas

Để mã hóa thông điệp bằng mật mã đa bảng thế, ta sử dụng nhiều bảng ánh xạ: mã hóa chữ cái đầu bằng bảng ánh xạ thứ nhất, chữ thứ hai bằng bảng hai... tiếp tục như thế cho tới bảng cuối cùng; rồi quay lại bảng đầu tiên và lặp lại. Nếu cách ánh xạ thay đổi thì một chữ cái sẽ không bao giờ được mã hóa theo cùng một cách. Ví dụ, ban đầu A thay bằng K, ở phần khác thì thành X. Như vậy, cách phân tích tần suất sẽ không phá giải được.

Quả thực, một loại mật mã đa bảng thế là mật mã Vigenère đã không thể giải mã trong ba thế kỷ cho tới năm 1863. Nhà mật mã người Đức Friedrich Kasiski đã thành công khi dùng phân tích tần suất để xác định số lượng ánh xạ khác nhau được dùng, cho phép phân tích riêng từng đoạn tin nhắn mã hóa theo cùng cách.

Nhưng đỉnh cao của cuộc đối đầu trong mật mã cổ điển là máy Enigma, được người Đức dùng trong Thế chiến II. Enigma là loại mật mã đa bảng thế đáng gờm. Các nhà phân tích mật mã người Ba Lan và Anh, cùng nhà tiên phong khoa học máy tính Alan Turing, đã phải nỗ lực nhiều năm mới phá vỡ được. Enigma là một bước ngoặt: Việc phân tích mật mã do các nhà toán học thực hiện chứ không phải các nhà ngôn ngữ. Để phá vỡ mã hóa của Enigma, Alan Turing đã thiết kế một cỗ máy khác là Bombe.

Ngày nay, mật mã hỗ trợ phần lớn cơ sở hạ tầng kỹ thuật số là Tiêu chuẩn mã hóa nâng cao (AES), do nhà mật mã học người Bỉ Joan Daemen và Vincent Rijmen phát triển và được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) áp dụng vào năm 2001.

Bài báo năm 1976 của các nhà mật mã người Mỹ Whitfield Diffie và Martin Hellman đã thay đổi mật mã mãi mãi khi mô tả trao đổi khóa Diffie-Hellman - phương pháp cho phép hai bên thống nhất một khóa chung an toàn mà không cần gặp hay trao đổi riêng.

Ta hãy dùng màu sắc để minh họa phương pháp này: Giả sử A và B nhất trí về một màu cơ bản chung là màu vàng. Mỗi người lại chọn một màu bí mật và trộn nó với màu vàng. A và B gửi bình của mình cho đối phương. Khi nhận được, mỗi người lại thêm màu bí mật riêng vào bình của đối phương. Hỗn hợp cuối cùng tạo ra cùng một sắc thái cho cả A và B. Bên thứ ba sẽ biết màu vàng và các màu được trộn đầu tiên, nhưng sẽ không thể tìm ra màu cuối cùng.

Trên thực tế, Diffie-Hellman không sử dụng màu sắc mà là những con số rất lớn. Tính bảo mật của nó phụ thuộc vào độ khó để đảo ngược quá trình, kẻ nghe lén không thể tính toán khóa bí mật chung nếu không biết số bí mật. Tuy nhiên, chưa có bằng chứng toán học nào chứng minh rằng không thể suy ra khóa. Để làm được, người ta phải giải được bài toán logarit rời rạc. Hiện tại, không có phương pháp giải hiệu quả nào để giải nó và người ta tin rằng trong tương lai sẽ không có.

Một bước đột phá khác xuất hiện vào năm 1978 khi các nhà nghiên cứu Ron Rivest, Adi Shamir và Leonard Adleman tạo ra hệ thống mật mã RSA (kết hợp chữ cái đầu tiên từ họ của ba người), mở đường cho mã hóa khóa công khai. Trong đó có một khóa công khai và một khóa riêng tương ứng. Ta dùng khóa công khai để mã hóa thông điệp, chỉ có thể giải mã bằng khóa riêng. Vì khóa công khai không phải bí mật, nên nếu A muốn gửi thông điệp bí mật cho B, A sẽ lấy khóa công khai của B qua kênh công khai rồi mã hóa thông điệp. Tính bảo mật của mã hóa RSA phụ thuộc vào độ khó của việc phân tích một số nguyên thành tích của các phần nhỏ hơn, không chia được, cụ thể là số nguyên tố. Ví dụ: 60 = 2 x 2 x 3 x 5. Quá trình này được gọi là phân tích thừa số nguyên, không thể tính nhanh đối với các số lớn, và chúng ta sử dụng các số vô cùng lớn trong mật mã.

Dù mã khóa công khai đã mở ra chân trời mới trong lĩnh vực này, nhưng mật mã đối xứng vẫn chưa lỗi thời vì nó nhanh hơn đáng kể. Thực tế, mã khóa công khai được dùng để trao đổi khóa, cho phép hai bên thiết lập khóa bí mật chung, sau đó họ dùng khóa này để mã hóa đối xứng hiệu quả.

Trao đổi khóa và mã hóa đối xứng diễn ra mọi lúc trên các thiết bị số. Khi chúng ta bắt đầu một phiên giao tiếp (vd: truy cập trang web, gọi video), thiết bị của ta sẽ trao đổi khóa bí mật với đối phương. Sau đó, cuộc giao tiếp được mã hóa bằng cơ chế mã hóa đối xứng như AES. Tất cả diễn ra ở chế độ ẩn và nhanh đến mức ta không nhận thấy độ trễ.

Tất nhiên, cuộc đối đầu mật mã vẫn chưa đi đến hồi kết. Ngày nay, mật mã học phải đối mặt với một thách thức mới: điện toán lượng tử. Khi máy tính lượng tử trở nên thực tiễn, nó có thể giải quyết một số vấn đề nhanh hơn nhiều so với thiết bị hiện nay, khiến RSA, Diffie-Hellman và các hệ thống khác trở nên không an toàn.

Các nhà mật mã học đã bắt đầu nghiên cứu mật mã hậu lượng tử để chống lại các cuộc tấn công từ nó. Mật mã hậu lượng tử không chỉ nhằm mục đích bảo vệ quyền riêng tư trong tương lai mà còn bảo vệ dữ liệu hiện tại. Ví dụ, hãy hình dung ai đó lưu trữ dữ liệu hiện tại của chúng ta, dự định giải mã chúng khi máy tính lượng tử ra mắt. Chiến thuật lưu trữ nay, giải mã sau này đe dọa phơi bày những bí mật phải được giữ kín, dù bao lâu.

Nguồn:

thereader.mitpress.mit.edu

Bài đăng KH&PT số 1347 (số 23/2025)