Mật mã: Từ cổ điển đến lượng tử (The Code Book) – Simon Singh


THE CODE BOOK
Tác giả: SIMON SINGH

Bản dịch tiếng Việt của Phạm Văn Thiều & Phạm Thu Hằng
Nhà xuất bản: Trẻ
Năm: 2008

Trong lịch sử nhân loại đã xảy ra những cuộc chiến tranh tàn khốc, như hai cuộc thế chiến đầu thế kỉ 20. Tuy nhiên, bên cạnh những cuộc chiến bên ngoài chiến trường, thì ẩn bên trong nó lại là một cuộc chiến khác: cuộc chiến về thông tin. Đã có truyền tin thì tất nhiên cần phải có yêu cầu giữ bí mật. Thế là ngành khoa học mật mã (cryptography) ra đời để phục vụ cho yêu cầu đó.

Cuốn sách “Mật mã” (The Code Book) sẽ dẫn dắt chúng ta nhìn lại lịch sử dưới góc nhìn của mật mã học. Cuốn sách bắt đầu bằng những dạng mật mã  đơn giản nhất ra đời từ cuối thế kỉ 16 và kết thúc ở cuối thế kỉ 20 bằng việc giới thiệu về ý tưởng mật mã lượng tử, một loại mật mã được cho là bất khả chiến bại dựa trên lí thuyết lượng tử.


Simon Singh (1964-?), tác giả cuốn sách, là tiến sĩ vật lí người Anh gốc Ấn Độ. Ông là một nhà khoa học tài năng và đã từng có nhiều đóng góp đáng kể trong việc phổ biến khoa học dưới nhiều hình thức: từ viết sách đến tham gia làm phim tài liệu khoa học. Ngoài cuốn The Code Book, trước đó ông còn là tác giả một cuốn sách khá nổi tiếng Fermat’s Last Theorem (Định lí cuối cùng của Fermat), và chính ông cũng là đạo diễn bộ phim tài liệu cho chuyên mục Horizon của BBC (chuyên mục nói về lĩnh vực khoa học công nghệ) về đề tài định lí Fermat này.

Cuốn sách The Code Book được Simon Singh trình bày rất dễ hiểu, bạn không cần phải lo cho dù bạn không thật sự giỏi về toán học, vì mỗi khi gặp một khái niệm toán học có vẻ lạ lẫm thì Simon sẽ dừng lại vài dòng, thậm chí cả trang sách, để giải thích nó rồi mới đi tiếp. Do đó chỉ cần bạn biết làm bốn phép tính cộng-trừ-nhân-chia cùng với một sự tò mò về thế giới mật mã là đủ để đọc cuốn sách.

Ban đầu, người ta chỉ nghĩ ra những loại mật mã đơn giản, đủ để che giấu nội dung thông tin. Kiểu như xáo trộn vị trí các chữ cái, hay là thay thế chữ cái này bằng một chữ cái khác, v.v.. Nhưng chẳng bao lâu sau thì những loại mật mã thế này đều bị các nhà giải mã phá được. Thế là có sự liên tục đổi mới trong cách tạo mã tạo ra một cuộc chiến trường kì giữa những nhà tạo mã và những nhà giải mã. Có người giải mã ra được thì bắt đầu nảy sinh tìm loại mật mã mới, và khi một loại mật mã mới ra đời thì các nhà giải mã lại phải lao đầu vào nghĩ cách hóa giải. Thậm chí người ta phải lập ra những đội ngũ chuyên nghiệp chỉ để làm công việc giải mã thông tin của đối phương.

Trong lịch sử mật mã học, có những bước ngoặt đáng kể đã góp phần không nhỏ trong việc quyết định lịch sử thế giới nói chung.

1. Máy Enigma

Bước ngoặt đầu tiên chính là việc cơ giới hóa việc tạo mã, bằng sự ra đời của hệ thống mật mã Enigma. Đây chính là vũ khí lợi hại nhất cũng như là nguyên nhân chủ yếu dẫn đến thất bại của Đức Quốc Xã trong thời kì thế chiến thứ hai. Chính cái máy Enigma này là nguồn động lực làm nảy sinh ra những ý tưởng đột phát về công nghệ trong thế kỉ 20. Ý tưởng vĩ đại nhất có lẽ thuộc về Alan Turing, người có công lớn nhất trong việc hóa giải máy Enigma, khi trong quá trình giải mã Enigma ông đã hình thành một ý niệm về một cỗ máy được gọi là Turing Machine – tiền đề cho sự phát minh máy tính sau này.


Alan Turing (1912-1954)

Ngoài ra, cũng vào thời kì thế chiến thứ hai thì lịch sử khoa học mật mã đã chứng kiến một loại mật mã bất khả xâm phạm đúng nghĩa của nó,. Đó là loại mật mã dùng ngôn ngữ của người địa phương Navajo đang sinh sống tại vùng đất Arizona ở Mĩ. Navajo là một bộ lạc rất nhỏ, và thổ âm Navajo là một dạng ngôn ngữ cực kì hiếm gặp, cả nước Mĩ ngoại trừ vài ba chục người là có nghiên cứu, ngoài ra nếu không phải là người Navajo thì trên thế giới chẳng một ai có thể hiểu nổi ngôn ngữ này. Người Mĩ đã dùng ngôn ngữ này cùng với những người Navajo biết tiếng Anh làm mật mã liên lạc, và họ đã có được một hệ thống mật mã tuyệt đối an toàn.

Như vậy có thể nói thế chiến thứ hai chính là cuộc chiến cân não giữa hai phe tạo mã và giải mã. Nếu như ngày đó, Alan Turing vì một lí do nào đó không thể hoàn thành sứ mệnh giải mã Engima của mình, thì có lẽ lịch sử thế giới đã rẽ sang một hướng khác.

2. Giải mã các văn tự cổ xưa

Một đỉnh cao trong lịch sử mật mã học cũng như khảo cổ học chính là việc giải mã những văn tự cổ xưa bao gồm những chữ tượng hình của Ai Cập cổ đại cũng như chữ Linear B nổi tiếng của Hy Lạp cổ đại. Chữ  tượng hình Ai Cập cổ đại đã nhờ vào phiến đá Rosetta (Rosetta Stone, là phiến đá trên đó có chữ tượng hình Ai Cập kèm với chữ demotic và chữ Hy Lạp) làm cơ sở để giải mã. Jean-Francois Champollion là người đã hoàn thiện việc giải mã các chữ tượng hình này, và thành quả này của ông còn có một phần không nhỏ đóng góp của một nhà khoa học đa năng Thomas Young. Nếu như chữ tượng hình Ai Cập cổ đại còn có Rosetta Stone làm cơ sở giải mã thì chữ Linear B hoàn toàn không có gì. Dù vậy nó vẫn được giải mã bởi Michael Ventris, vốn là một kiến trúc sư, với sự góp sức của nhà nghiên cứu Hy Lạp cổ đại John Chadwick. Có thể nói việc giải mã được các văn tự cổ xưa đã cho thấy sức sáng tạo và tưởng tượng của con người dường như không có giới hạn, và đó cũng chính là một bước ngoặt khác trong lịch sử nhân loại trong việc khám phá lịch sử các nền văn minh cổ đại.

Jean-Francois Champollion (1790-1832)


Michael Ventris (1922-1956)

3. Phân phối chìa khóa mã

Trong khoa học mật mã, có một vấn đề cực kì quan trọng, mà mãi sau thế chiến thứ hai thì người ta mới tìm ra cách giải quyết triệt để nó. Đó chính là vấn đề phân phối chìa khóa mã. Muốn giải mã thì bắt buộc phải có chìa khóa, và làm thế nào để người nhận có được chìa khóa mã một cách an toàn nhất. Có lẽ chỉ có cách gặp mặt trực tiếp nhau, vì nếu trao đổi qua vô tuyến thì sẽ bị rò rỉ thông tin ngay. Hãy tưởng tượng bạn tạo ra mật mã để liên lạc với hàng ngàn người trên thế giới, và phải gặp mặt từng người để trao chìa khóa mã, thế thì sẽ phải tốn rất nhiều nguồn nhân lực và chi phí chỉ để phục vụ cho chuyện phân phối chìa khóa này. Như vậy với việc kinh tế phát triển, nhu cầu đòi hỏi bảo mật thông tin ngày càng cao với mật độ ngày càng lớn, thì việc làm sao phân phối chìa khóa mã một cách an toàn và hiệu quả nhất đã trở thành một bài toán nhức đầu khác cho giới khoa học mật mã.

Đã có một ý tưởng nhen nhóm lên cho việc giải quyết vấn đề này. Hãy tưởng tượng thông tin cần được gửi là bức thư đựng trong một hộp sắt, với ổ khóa chính là mật mã dùng để mã hóa bức thư, và chìa khóa mở ổ khóa chính là chìa khóa mã. Anh A giờ đây muốn đưa thông tin cho anh B thì phải tìm cách làm sao đưa luôn chìa khóa mã cho anh B mà không cần phải gặp mặt. Đặt trường hợp là nếu gửi chìa khóa qua bưu điện thì cơ may chìa khóa bị lọt ra ngoài là rất cao. Thế là A và B quyết định thế này: anh A dùng một cái hộp có 2 lỗ khóa để có thể khóa lại bằng 2 ổ khóa. Anh A bóp ổ khóa của mình lại, ổ khóa A, và giữ chìa khóa A cho riêng mình. Đưa sang anh B, anh B lại dùng ổ khóa của mình, ổ khóa B, để khóa cái hộp thêm lần nữa, và cũng giữ chìa cho riêng mình, rồi gửi về lại anh A. Anh A thấy lúc này cái hộp đã được khóa tới 2 ổ khóa, nên đã lấy chìa của mình mở ổ khóa A, xong rồi gửi sang anh B. Lúc này cái hộp còn lại duy nhất một  ổ khóa mà chỉ anh B mới mở được, nên cho dù cái hộp bị đánh cắp thì người ta cũng chẳng tài nào mở nổi. Và anh B chỉ việc lấy chìa của mình mở ổ khóa B rồi đọc thư.

Tuy nhiên, ý tưởng là thế, nhưng trong khoa học mật mã nếu áp dụng đúng như vậy thì sẽ nảy sinh một vấn đề khác thuộc về logic: đó là trình tự giải mã. Cái hộp có 2 ổ khóa, mở ổ nào trước đi nữa thì cái hộp cũng được mở ra. Nhưng một văn bản được mã hóa cần phải được giải mã theo trình tự “vào trước-ra sau”. Tức là nếu văn bản được mã hóa 2 lần thì người nào mã hóa sau cùng sẽ phải giải mã nó đầu tiên nếu muốn bức thư hoàn toàn được giải. Trở lại câu chuyện lúc nãy, vì anh B mã hóa bức thư cuối cùng nên anh B phải giải mã bức thư ra đầu tiên, rồi đưa anh A giải mã lần nữa thì bức thư mới có thể đọc được, nhưng anh B mới là người cần đọc bức thư, nên nếu làm vậy thì khi bức thư được giải mã hoàn toàn thì nó lại ở chỗí anh A, như vậy thì cũng vô dụng.

Dù ý tưởng có điểm không logic như vậy, đó chính là động lực cho các nhà khoa học mật mã đi tìm lời giải. Ở khúc này có một chi tiết cực hay liên quan đến việc tạo mã, chính chi tiết này đã giúp cho người ta vượt qua được sức ì tâm lí bao lâu nay để giải quyết được vấn đề phân phối chìa khóa mã. Từ đó hình thành loại mật mã mới khác, đuợc cho là không thể phá vỡ, vào cuối thế kỉ 20: mật mã RSA.


Ba người sáng chế ra mật mã RSA: Ron Rivest (1947-?),  Adi Shamir (1952-?) và Len Adleman (1945-?).


4. Mật mã lượng tử

Tuy vào thời điểm cuối thế kỉ 20, RSA là mật mã cực mạnh rồi, nhưng người ta lại phải đối diện với nguy cơ nó sẽ bị phá vỡ. Lúc này, lí thuyết lượng tử bắt đầu đóng vai trò của nó. Sở dĩ mật mã RSA không bị phá nổi là vì hạn chế ở các máy tính, cho dù máy tính có phát triển kiểu tốc độ xung tăng gấp đôi sau 18 tháng thì cũng phải mất cả ngàn năm mới đủ mạnh để phá vỡ RSA. Thế nhưng với một máy tính lượng tử thì chỉ mất dăm ba phút. Để đối phó trước với sự xuất hiện máy tính lượng tử sau này, người ta bắt đầu nghĩ đến một dạng mật mã tuyệt đối, tức là mãi mãi không thể phá vỡ. Và khái niệm về mật mã lượng tử đã ra đời.

Có thể thấy ngành khoa học mật mã đã quy tụ rất nhiều lĩnh vực: từ toán học, đến ngôn ngữ học, và rồi lí thuyết lượng tử của ngành vật lí học cũng góp mặt vào. Không chỉ trình bày về những loại mật mã khác nhau qua từng thời kì, mà Simon Singh còn thông qua mật mã học để kể các câu chuyện lịch sử, những câu chuyện bên lề của những nhà khoa học thiên tài như Alan Turing, Thomas Young, Jean-Francois Champollion, Michael Ventris,v.v.. Do vậy đây hoàn toàn không phải là một cuốn sách khô khan toàn số với chữ cùng những công thức toán học này nọ. Trái lại những câu chuyện mang tính lịch sử trong cuốn sách sẽ khiến người đọc cảm giác như đang đọc một cuốn tiểu thuyết trong đó nội dung chính là cuộc chiến cân não giữa hai phe lập mã và giải mã.

Duy Doan.
Sài-gòn
,
Ngày thứ 98 trong năm,
20100408

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s